详解RS232、RS485、RS422串口协议

详解RS232、RS485、RS422串⼝协议
RS232、RS485、RS422基础知识
(1)RS232基础知识
计算机与计算机或计算机与终端之间的数据传送可以采⽤串⾏通讯和并⾏通讯两种⽅式。由于串⾏通讯⽅式具有使⽤线路少、成本低,特别是在远程传输时,避免了多条线路特性的不⼀致⽽被⼴泛采⽤。
在串⾏通讯时,要求通讯双⽅都采⽤⼀个标准接⼝,使不同的设备可以⽅便的连接起来进⾏通讯。RS-232-C接⼝(⼜称EIA RS-232-C)是⽬前最常⽤的⼀种串⾏通讯接⼝。
功率变送器RS-232-C是美国电⼦⼯业协会EIA(Electronic Industry Association)制定的⼀种串⾏物理接⼝标准。RS是英⽂“推荐标准”的缩写,232为标识号,C表⽰修改次数,代表RS232的最新⼀次修改(1969),在这之前,有RS232B、RS232A。它是在1970年由美国电⼦⼯业协会(EIA)联合贝尔系统、调制解调器⼚家及计算机终端⽣产⼚家共同制定的⽤语串⾏通讯的标准。
1、电⽓特性
EIA-RS-232C对电⽓特性、逻辑电平和各种信号线功能都作了规定。
在Txd和Rxd上:逻辑1(MARK)=-3V~-15V,逻辑0(SPACE)=+3V~+15V,在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)=+3V~+15V信号⽆效(断开,OFF状态,负电压)=-3V~-15V。
根据设备供电电源的不同,+-5、+-10、+-12和+-15这样的电平都是可能的。
2、连接器的机械特性
由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。最近,8管脚的RJ-45型连接器变得越来越普遍,尽管它的管脚分配相差很⼤。EIA/TIA 561标准规定了⼀种管脚分配的⽅法,但是由Dave Yost发明的被⼴泛使⽤在Unix计算机上的Yost串连设备配线标准 ('Yost Serial Device Wiring Standard')以及其他很多设备都没有采⽤上述任⼀种连线标准。下表中列出的是被较多使⽤的RS-232中的信号和管脚分配:
tod信号的标注是从DTE设备的⾓度出发的,TD、DTR和RTS信号是由DTE产⽣的,RD、DSR、CTS、DCD和RI信号是由DCE产⽣的。
PC 机的RS-232 ⼝为9 芯针插座。⼀些设备与PC 机连接的RS-232 接⼝,因为不使⽤对⽅的传送控制信号,只需三条接⼝线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。
双向接⼝能够只需要3根线制作是因为RS-232的所有信号都共享⼀个公共接地。⾮平衡电路使得RS-232⾮常的容易受两设备间基点电压偏移的影响。对于信号的上升期和下降期,RS-232也只有相对较差的控制能⼒,很容易发⽣串话的问题。RS-232被推荐在短距离(15m 以内)间通信。由于⾮对称电路的关系,RS-232接⼝电缆通常不是由双绞线制作的。
3、传输电缆
RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。
例如,采⽤150pF/m的通信电缆时,最⼤通信距离为15m;若每⽶电缆的电容量减⼩,通信距离可以增加。传输距离短的另⼀原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模⼲扰等问题,因此⼀般⽤于20m以内的通信。
由RS-232C标准规定在码元畸变⼩于4%的情况下,传输电缆长度应为50 英尺,其实这个4%的码元畸变是很保守的,在实际应⽤中,约有99%的⽤户是按码元畸变10-20%的范围⼯作的,所以实际使⽤中最⼤距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%⽽得出下⾯实验结果。其中1 号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽⽹。2 号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG 的四芯电缆。
4、链路层在RS-232标准中,字符是以⼀系列位元来⼀个接⼀个的传输。最长⽤的编码格式是异步起停asynchronous start-stop格式,它使⽤⼀个起始位后⾯紧跟7或8 个数据⽐特,这个可能是奇偶位,然后是两个停⽌位。所以发送⼀个字符需要10⽐特,带来的⼀个好的效果是使全部的传输速率,发送信号的速率以10分划。
串⾏通信在软件设置⾥需要做多项设置,最常见的设置包括波特率、奇偶校验和停⽌位。 波特率是指从⼀设备发到另⼀设备的波特率,即每秒钟多少⽐特bits per second (bit/s)。典型的波特率是300、1200、2400、9600、19200等bit/s。⼀般通信两端设备都要设为相同的波特率,但有些设备也可以设置为⾃动检测波特率。
奇偶校验Parity是⽤来验证数据的正确性。奇偶校验⼀般不⽤,如果使⽤,那么既可以做奇校验也可以做偶校验。奇偶校验是通过修改每⼀发送字节(也可以限制发送的字节)来⼯作的。如果不作奇偶
校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应的置1或0(⼀般是最⾼位或最低位),所以数据会被改变以使得所有传送的数位(含字符的各数位和校验位)中“1”的个数为偶数;在奇校验中,所有传送的数位(含字符的各数位和校验位)中“1”的个数为奇数。奇偶校验可以⽤于接受⽅检查传输是否发送⽣错误——如果某⼀字节中“1”的个数发⽣了错误,那么这个字节在传输中⼀定有错误发⽣。如果奇偶校验是正确的,那么要么没有发⽣错误要么发⽣了偶数个的错误。
停⽌位是在每个字节传输之后发送的,它⽤来帮助接受信号⽅硬件重同步。
在串⾏通信软件设置中D/P/S是常规的符号表⽰。8/N/1(⾮常普遍)表明8bit数据,没有奇偶校验,1bit停⽌位。数据位可以设置为7、8或者9,奇偶校验位可以设置为⽆(N)、奇(O)或者偶(E),奇偶校验位可以使⽤数据中的⽐特位,所以8/E/1就表⽰⼀共8位数据位,其中⼀位⽤来做奇偶校验位。停⽌位可以是1、1.5或者2位的(1.5是⽤在波特率为60wpm的电传打字机上的)。andida
5、传输控制当需要发送握⼿信号或数据完整性检测时需要制定其他设置。公⽤的组合有RTS/CTS,DTR/DSR或者XON/XOFF(实际中不使⽤连接器管脚⽽在数据流内插⼊特殊字符)。
接受⽅把XON/XOFF信号发给发送⽅来控制发送⽅何时发送数据,这些信号是与发送数据的传输⽅向相反的。XON信号告诉发送⽅接受⽅准备好接受更多的数据,XOFF信号告诉发送⽅停⽌发送数据直到知道接受⽅再次准备好。XON/XOFF⼀般不赞成使⽤,推荐⽤RTS/CTS 控制流来代替它们。
XON/XOFF是⼀种⼯作在终端间的带内⽅法,但是必须两端都⽀持这个协议,⽽且在突然启动的时候会有混淆的可能。
XON/XOFF可以⼯作于3线的接⼝。RTS/CTS最初是设计为电传打字机和调制解调器半双⼯协作通信的,每次它只能⼀⽅调制解调器发送数据。终端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管RTS/CTS是通过硬件达到握⼿,但它有⾃⼰的优势。
6、RS-232标准的不⾜经过许多年来RS-232 器件以及通信技术的改进,RS-232 的通信距离已经⼤⼤增加。由于RS-232 接⼝标准出现较早,难免有不⾜之处,主要有以下四点:
(1) 接⼝的信号电平值较⾼,易损坏接⼝电路的芯⽚,⼜因为与TTL 电平不兼容故需使⽤电平转换电路⽅能与TTL 电路连接。
(2) 传输速率较低,在异步传输时,波特率为20Kbps。现在由于采⽤新的UART 芯⽚16C550 等,波特率达到115.2Kbps。
(3) 接⼝使⽤⼀根信号线和⼀根信号返回线⽽构成共地的传输形式, 这种共地传输容易产⽣共模⼲扰,所以抗噪声⼲扰性弱。
(4) 传输距离有限,最⼤传输距离标准值为50 ⽶,实际上也只能⽤在15⽶左右。
⼆、RS485基础知识
针对RS-232串⼝标准的局限性,⼈们⼜提出了RS-422,RS-485接⼝标准。RS-485/422采⽤平衡发送和差分接收⽅式实现通信:发送端将串⾏⼝的TTL电平信号转换成差分信号A、B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。由于传输线通常使⽤双绞线,⼜是差分传输,所以有极强的抗共模⼲扰的能⼒,总线收发器灵敏度很⾼,可以检测到低⾄200mV电压。故传输信号在千⽶之外都是可以恢复。
1、RS-485 的电⽓特性驱动器能输出±7V的共模电压
接收器的输⼊电阻RIN≥12kΩ
输⼊端的电容≤50pF 在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器⾄少还能输出电压1.5V(终端电阻的⼤⼩与所⽤双绞线的参数有关) 发送端:逻辑'1'以两线间的电压差为+(2 ⾄6) V 表⽰;逻辑'0'以两线间的电压差为-(2 ⾄6)V 表⽰。接收器的输⼊灵敏度为200mV(即(V+)-(V-)≥0.2V,表⽰信号'0';(V+)-(V-)≤-0.2V,表⽰信号'1')
2、传输速率与传输距离RS-485 的数据最⾼传输速率为10Mbps,最⼤的通信距离约为1219M,传输速率与传输距离成反⽐,在
10Kb/S的传输速率下,才可以达到最⼤的通信距离。
但是由于RS-485 常常要与PC 机的RS-232⼝通信,所以实际上⼀般最⾼115.2Kbps。⼜由于太⾼的速率会使RS-485 传输距离减⼩,所以往往为9600bps 左右或以下。
3、⽹络拓扑
RS-485 接⼝是采⽤平衡驱动器和差分接收器的组合,抗共模⼲能⼒增强,即抗噪声⼲扰性好。RS-485采⽤半双⼯⼯作⽅式,⽀持多点数据通信。
RS-485总线⽹络拓扑⼀般采⽤终端匹配的总线型结构。即采⽤⼀条总线将各个节点串接起来,不⽀持环形或星型⽹络。如果需要使⽤星型结构,就必须使⽤485中继器或者485集线器才可以。RS-485/42
2总线⼀般最⼤⽀持32个节点,如果使⽤特制的485芯⽚,可以达到128个或者256个节点,最⼤的可以⽀持到400个节点。
4、连接器RS-485 的国际标准并没有规定RS485 的接⼝连接器标准、所以采⽤接线端⼦或者DB-9、DB-25 等连接器都可以。
三、RS422基础知识
RS-422 的电⽓性能与RS-485近似⼀样。主要的区别在于:
(1)RS-485 有2 根信号线:发送和接收都是A 和B。由于RS-485 的收与发是共⽤两根线,所以不能够同时收和发(半双⼯)。
深圳防疫站
(2)RS-422 有4 根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422 的收与发是分开的,所以可以同时收和发(全双⼯)。
(3)⽀持多机通信的RS-422将Y-A 短接作为RS-485 的A、将RS-422 的Z-B 短接作为RS-485 的B可以这样简单转换为RS-485。
很多⼈往往都误认为RS-422串⾏接⼝是RS-485串⾏接⼝的全双⼯版本,实际上,它们在电器特性上存在着不少差异,共模电压范围和接收器输⼊电阻不同使得该两个标准适⽤于不同的应⽤领域。RS-485串⾏接⼝的驱动器可⽤于RS-422串⾏接⼝的应⽤中,因为RS-485串⾏接⼝满⾜所有的RS-422串⾏接⼝性能参数,反之则不能成⽴。对于RS-485串⾏接⼝的驱动器,共模电压的输出范围是-7V和+12V之间;对于RS-422串⾏接⼝的驱动器,该项性能指标仅有±7V。RS-422串⾏接⼝接收器的最⼩输⼊电阻是4KΩ;⽽RS-485串⾏接⼝接收器的最⼩输⼊电阻则是12KΩ。
串⼝与握⼿基础知识bak
⼀、串⼝基础知识
串⼝是计算机上⼀种⾮常通⽤设备通信的协议(不要与通⽤串⾏总线Universal Serial Bus或者USB混淆)。⼤多数计算机包含两个基于RS232的串⼝。串⼝同时也是仪器仪表设备通⽤的通信协议;很多GPIB兼容的设备也带有RS-232⼝。同时,串⼝通信协议也可以⽤于获取远程采集设备的数据。
串⼝通信的概念⾮常简单,串⼝按位(bit)发送和接收字节。尽管⽐按字节(byte)的并⾏通信慢,但是串⼝可以在使⽤⼀根线发送数据的同时⽤另⼀根线接收数据。它很简单并且能够实现远距离通信。⽐如IEEE488定义并⾏通⾏状态时,规定设备线总常不得超过20⽶,并且任意两个设备间的长度不得超过2⽶;⽽对于串⼝⽽⾔,长度可达1200⽶。
镁热剂典型地,串⼝⽤于ASCII码字符的传输。通信使⽤3根线完成:(1)地线,(2)发送,(3)接收。由于串⼝通信是异步的,端⼝能够在⼀根线上发送数据同时在另⼀根线上接收数据。其他线⽤于握⼿,但是不是必须的。串⼝通信最重要的参数是波特率、数据位、停⽌位和奇偶校验。对于两个进⾏通⾏的端⼝,这些参数必须匹配:
1、波特率
这是⼀个衡量通信速度的参数。它表⽰每秒钟传送的bit的个数。例如300波特表⽰每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串⼝通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远⼤于这些值,但是波特率和距离成反⽐。⾼波特率常常⽤于放置的很近的仪器间的通信,典型的例⼦就是GPIB设备的通信。
2、数据位
这是衡量通信中实际数据位的参数。当计算机发送⼀个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。⽐如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使⽤简单的⽂本(标准 ASCII码),那么每个数据包使⽤7位数据。每个包是指⼀个字节,包括开始/停⽌位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
3、停⽌位

本文发布于:2024-09-21 21:52:17,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/134590.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   发送   设备   传输   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议