0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

232、485、422三种通信方式有什么区别呢?

Q4MP_gh_c472c21 来源:我要学嵌入式 作者:我要学嵌入式 2022-04-28 15:24 次阅读

什么是串口通信

串口通信,就是传数据只有一根线传输,一次只能传一个位,要传一个字节就需要传8次。串口通信就是把数据串在一根线上传输,所以就叫串口吧。

在对速率要求不高的情况,使用一根线发送数据是带来大大的方便和实用价值的。

为了能正常发送和接收正确的数据,那异步串口通信就需要如下图的格式。

cfeb4bea-c6a9-11ec-bce3-dac502259ad0.png

在串口的通信参数上,就有了波特率、起始位、数据位、校验位、停止位这几个参数。

232485422的区别

串口通信主要为分232、485、422三种通信方式,这三种有什么区别呢?

01232通信

cff9026c-c6a9-11ec-bce3-dac502259ad0.png

232通信主要是由RX、TX、GND三根线组成。RX接TX,TX接RX,GND接GND。这里发送和接收分别是由不同的线处理的,也就是能同时发送数据和接收数据,这就是所谓的全双工通信。

在这里扩展一下,串口通信还有一个功能叫做全功能串口通信,也叫标准串口。因为在两个设备间进行数据传输,有些设备处理速度比较快,有些数据比较慢。为了保证数据能正常传输,在RX、TX的基础上,还增加了几个控制引脚,最后成了9个引脚,也就是常见的DB9这个东西,如下图所示。

d007d030-c6a9-11ec-bce3-dac502259ad0.png

但是,如今很多控制器、人机界面、PLC等使用串口通信中一般不使用标准串口,而是直接使用RX、TX、GND三根线来通信的。

02485通信

485的出现,是为了解决232通信距离受限的问题。

485通信只需要+、-两根线,或者也叫A、B两根线。A、B两根线的差分电平信号就是作为数据信号传输。由于发送与接收都是用这两根线,也就是说每次只能用作发送或者只能用作接收。所以,485是半双工通信。

d019eb1c-c6a9-11ec-bce3-dac502259ad0.png

485就是这样牺牲了232全双工的效率来达到自己传输距离远的代价。

03422通信

422的出现,是为了既实现232的全双工通信方式,又能像485这样提高传输距离。422也常被标注为485-4,而485被标注为485-2。因为485-2是2根线,485-4是4根线,下图是422的示意图。

d0266e78-c6a9-11ec-bce3-dac502259ad0.png

422就是把232的RX分成两根线,RX+,RX-,把TX分成TX+,TX-。这样就可以同时发送和同时接收了,还可以像485这样,有较远的传输距离。可是这样一种很有优势的通信方式,却用得不多,最常用到的是232跟485。

串口通信常见问题

1、电脑使用USB转串口可以和设备通信上,换成屏与设备就通信不上了?

1)有可能电脑USB转串口接到设备上,使用的是标准串口功能,也就是除了RX,TX,GDN外,还使用了其它引脚。比如像欧姆龙PLC,三菱PLC,在实际与屏的通信中,就需要接某些引脚短接的情况。 2)电脑与控制器或PLC通信时,是扫描波特率参数,自适应的屏通信可能参数没有设备好。在三菱、基恩士等PLC,就存在变化波特率进行通信交互的过程。 3)也有可能是接线方式不对。因为有些DB9,还需要公头,母头。如果不注意的话,也会存在把TX接到TX上,把RX接到RX上,这样需要注意的地方。 4)在这里补充一下,有时候可能会使用一些串口助手发送测试数据与控制器通信,有些串口助手的奇偶校验是不起作用,这个要提醒一下。

2、用A家的屏可以和设备通信,换成B家的屏就通信不上了?

1)首先确认一下接线是否正确了,RX和TX是否兼容。 2)地线是否没有接。 3)除了RX、TX、GND,是否还有其它引脚需要短接的。 4)通信协议是否一致或不完善,波特率是否一样。

3、以前不接地线可以通信,换个设备为什么需要接地线了?

这个问题和上一个类似,因为有些设备使用了隔离电源。以前不接地可以通信,有可能实际上地线已经接了,所以才可以通信。可能换了个带隔离电源的,两个设备的地是隔离的,就需要在串口上把地线接起来。

4、一个设备是232,另一个设备是422,没有转换设备,怎么办?

刚才也讲了422和232的接线,因为这两个都是全双工的,接收和发送都是分到的,而422只是以一种差分信号进行传输。 把422的Rx+与232的TX接,422的RX-与232的GND接。 把422的TX+与232的RX接,422的TX-与232的GDN接。 这样,422设备要发送数据的,就可以发送到了232的RX上。232的TX发数据后,由于TX和GND也形成了差分信号给422,422就可以接收到数据了。

5、用232通信没问题,用485通信没问题,使用232转485之后就通信不稳定?

232和485从通信原理上,最大一个差别是全双工和半双工的区别。可是应用层发送数据和接收数据才不管底下是全双工还是半双工。 但是485就得管了。因为既然是半双工,就得严格保证通路上只能有发送或只能有接收的数据,一旦同时有发送和接收,数据就会冲突了。所以解决的办法就是主站设备,也就是主动命令的一方就需要严格控制好发送数据命令的节奏了。当然有些232转485的设备做的比较好了,可以优化这个,但是主站还是要控制,比较把通信速率调节慢一些。

6、要想实现两个屏或两个主站通过485访问modbus设备,有什么好的办法?

在485通信中,基本上是一主多从。但是遇到一些客户实际使用中,有客户想用两个屏来访问一个modbus设备的。目前暂时还没有好的办法。

7、串口通信的弱点?

1)信号干扰的问题建议使用带屏蔽线,接线要严格,比如要接地。有些485通信上,还考虑接上终端电阻来匹配。如果是232,尽量不要让线太长。通信协议上尽量避免长报文的数据通信。 2)波特率匹配的问题因为有些设备的计算的波特率是存在误差的,特别是一些控制器,由于使用的晶振不一样。因此在一些波特率比如9600波特率就存在误差。存在误差带来的影响是什么呢。因为接收方是通过时间来计算一个位的。那么如果一个报文过长,就会存在误差积累的问题,算着算着就偏了。所以,这也是串口通信不稳定的一些地方,在使用上应注意避免发送太长数据的包。 3)在一些可能会存在干扰的情况,可以考虑使用奇校验或者偶校验因为虽说出现错误的可能性不大,但既然存在干扰,如果加了校验,至少可以把错误的报文过滤掉。总好比没有校验然后通信数据错了不知道。或者尽量使用一些带校验的协议,防止数据出错。 4)串口通信本来就比较慢,请降低对数据响应的要求因为串口通信本身就比以太网慢。而且,串口通信并不是能像CPU那样多线程处理。因为就一个口一个线数据出去,即便你应用到程序再怎么用多线程处理数据,但是最底下也只有一个口出去,一次也只能传一个位,一个字节过去。因为有客户在使用9600的波特率通信,但是又希望多少的数据可以在多少毫秒内得到响应。 但是串口通信还是要实事求是,所以正确认识串口通信对应用,对开发,对沟通都有着很大的帮助的。

8、为什么不用同步通信?

刚才提到,同步通信需要依赖于时钟信号。这就存在一个问题,这个时钟信号是谁来发起呢。在同步通信中,往往需要一个主设备发起时钟信号读从模块的数据。在实际中,有屏读PLC,有屏读屏的数据。而单纯地从异步串口通信来说,是没有主从之说,双方都是平等的角色,都可以互发信息,互收信息。而同步通信一般是应用于CPU读一些模块,由CPU发起时钟信号,比如读SD卡模块,就可以通过SPI方式,还有一些传感器模块。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口通信
    +关注

    关注

    32

    文章

    1578

    浏览量

    54870
  • 485通信
    +关注

    关注

    0

    文章

    11

    浏览量

    3265

原文标题:232485422是什么? 串口通信常见问题讲解,你掌握了么?

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    visual programmer打开的文件格式.s19, .hex , .sx 三种文件格式什么区别吗?

    st visual programmer打开的文件格式.s19, .hex,.sx三种文件格式什么区别吗?是不是不同芯片的文件格式不一样,还是所有的芯片都可以使用这
    发表于 04-28 08:56

    请问PWM波输出方式中的边沿对齐与中心对齐什么区别

    请问PWM波输出方式中的边沿对齐与中心对齐什么区别?对于PMSM FOC应该使用那种对齐方式
    发表于 02-05 06:06

    rs422和rs485区别

    。 首先,RS422和RS485都是点对点通信协议,即只能在单个发送方和单个接收方之间进行通信。它们通过将电压差异传输到数据线上进行通信。然
    的头像 发表于 12-20 17:03 4133次阅读

    RS232、RS485和CAN究竟能传输多远距离?

    RS-232/422/485和CAN总线是物联网应用中比较常见的通讯方式,可用于不同设备间进行数据传输和通信。不同的通讯线具有不同的传输速率
    的头像 发表于 12-15 08:20 577次阅读
    RS<b class='flag-5'>232</b>、RS<b class='flag-5'>485</b>和CAN究竟能传输多远距离?

    ad9648bcpz-105和AD9648BCPZRL7-105什么区别

    AD9648三种引脚配置,并行coms、交错并行lvds 升数 、通道复用lvds 升数。怎么知道一块芯片是怎样的引脚配置?ad9648bcpz-105; AD9648BCPZRL7-105
    发表于 12-13 07:44

    稳联profinet转rs232中如何区分Modbus和Rs232区别认识rs485Modbus

    稳联profinet转rs232中如何区分Modbus和Rs232区别认识rs485Modbus
    的头像 发表于 12-11 15:32 373次阅读

    二线485和四线485还有四线422之间什么区别

    二线485和四线485还有四线422之间什么区别,特别是两个四线的区别在哪
    发表于 11-09 07:47

    请问源文件.c和.cpp什么区别

    源文件.c和.cpp什么区别?keil里面为什么两都支持?为什么不只用一就行了?搞两个同样的话,这不科学啊
    发表于 11-08 07:58

    iic通信是什么原理?和rs232通信什么区别 ?

    iic通信是什么原理,和rs232通信什么区别 ?
    发表于 10-18 06:17

    vitis和vivado什么区别和联系

    vitis和vivado什么区别和联系
    发表于 10-16 07:55

    NucleiStudio创建项目时,各类文件什么区别

    每次新建工程时都有一系列选项,那么这些不同的选项之间什么区别? 如上图,这四个大项目以及下面的小项目之间什么区别
    发表于 08-16 06:23

    串行通讯与并行通讯讲解 RS232、RS422、RS485通信协议简介

    通信和计算机科学中,串行通信(Serial Communication)是一个通用概念,泛指所有的串行的通信协议,如RS232、RS422
    的头像 发表于 08-14 10:27 8971次阅读
    串行通讯与并行通讯讲解 RS<b class='flag-5'>232</b>、RS<b class='flag-5'>422</b>、RS<b class='flag-5'>485</b><b class='flag-5'>通信</b>协议简介

    串口通信232/485/422三种方式区别分析

    下面先讲串口通信的一些基本概念,术语。如果对串口通信比较熟悉的,就当复习,如果哪里讲的不到位,欢迎及时指出。
    的头像 发表于 07-17 09:17 3661次阅读
    串口<b class='flag-5'>通信</b><b class='flag-5'>232</b>/<b class='flag-5'>485</b>/<b class='flag-5'>422</b><b class='flag-5'>三种</b><b class='flag-5'>方式</b>的<b class='flag-5'>区别</b>分析

    一文读懂RS-232、RS-422及RS-485串行数据标准的选择及使用

    按照技术指标和电气接口有三种常见的串行数据标准:RS-232、RS-422和RS-485。本文将介绍电缆端接技术、多个负载的使用、RS-232
    的头像 发表于 07-03 18:40 971次阅读
    一文读懂RS-<b class='flag-5'>232</b>、RS-<b class='flag-5'>422</b>及RS-<b class='flag-5'>485</b>串行数据标准的选择及使用

    RS232和RS485什么区别

    RS232接口技术
    YS YYDS
    发布于 :2023年05月14日 16:10:56