通信协议解析
首页 >新闻中心 > 行业新闻

通信接口协议综述

 

--------------------------------------------------------------------------
 
(综合232422485USB及网络通讯等)
 
在现场数据采集和数据传输中大量采用接口方式,监控系统涉及较多的是串行通信接口和网络接口。
一、串行通信协议
计算机与外设或计算机之间的通信通常有两种方式:并行通信和串行通信。
并行通信指数据的各位同时传送。并行方式传输数据速度快,但占用的通信线多,传输数据的可靠性随距离的增加而下降,只适用于近距离的数据传送。
串行通信是指在单根数据线上将数据一位一位地依次传送。发送过程中,每发送完一个数据,再发送第二个,依此类推。接受数据时,每次从单根数据线上一位一位地依次接受,再把它们拼成一个完整的数据。在远距离数据通信中,一般采用串行通信方式,它具有占用通信线少、成本低等优点。
1
、串行通信的基本概念
(1)
同步和异步通信方式
串行通信有两种最基本的通信方式:同步串行通信方式和异步串行通信方式。同步串行通信方式是指在相同的数据传送速率下,发送端和接受端的通信频率保持严格同步。由于不需要使用起始位和停止位,可以提高数据的传输速率,但发送器和接受器的成本较高。异步串行通信是指发送端和接受端在相同的波特率下不需要严格地同步,允许有相对的时间时延,即收、发两端的频率偏差在10%以内,就能保证正确实现通信。
异步通信在不发送数据时,数据信号线上总是呈现高电平状态,称为空闲状态(又称MARK状态)。当有数据发送时,信号线变成低电平,并持续一位的时间,用于表示发送字符的开始,该位称为起始位,也称SPACE状态。起始位之后,在信号线上依次出现待发送的每一位字符数据,并且按照先低位后高位的顺序逐位发送。采用不同的字符编码方案,待发送的每个字符的位数不同,在5678位之间选择。数据位的后面可以加上一位奇偶校验位,也可以不加,由编程指定。最后传送的是停止位,一般选择1位、1.5位或2位。
2)数据传送方式
单工方式。单工方式采用一根数据传输线,只允许数据按照固定的方向传送。图8a)中A只能作为发送器,B只能作为接收器,数据只能从A传送到B,不能从B传送到A
半双工方式。半双工方式采用一根数据传输线,允许数据分时地在两个方向传送,但不能同时双向传送。图8b)中在某一时刻,A为发送器,B为接收器,数据从A传送到B;而在另一个时刻,A可以作为接收器,B作为发送器,数据从B传送到A
全双工方式。全双工方式采用两根数据传输线,允许数据同时进行双向传送。图8c)中AB具有独立的发送器和接收器,在同一时刻,既允许AB发送数据,又允许BA发送数据。
3)波特率
波特率是指每秒内传送二进制数据的位数,以b/sbps(位/秒)为单位。它是衡量串行数据传送速度快慢的重要指标和参数。计算机通信中常用的波特率是:110300600120024004800960019200bps
4)串行通信的检错和纠错
在串行通信过程中存在不同程度的噪声干扰,这些干扰有时会导致在传输过程中出现差错。因此在串行通信中对数据进行校验是非常重要的,也是衡量通信系统质量的重要指标。检错,就是如何发现数据传输过程中出现的错误,而纠错就是在发现错误后,如何采取措施纠正错误。
误码率
误码率是指数据经传输后发生错误的位数与总传输位数之比。在计算机通信中,一般要求误码率达到10-6数量级。误码率与通信过程中的线路质量、干扰、波特率等因素有关。
奇偶校验
奇偶校验是常用的一种检错方式。奇偶校验就是在发送数据位最后一位添加一位奇偶校验位(01),以保证数据位和奇偶校验位中1的总和为奇数或偶数。若采用偶校验,则应保证1的总数为偶数;若采用奇校验,则应保证1的总和为奇数。在接受数据时,CPU应检测数据位和奇偶校验位中1的总数是否符合奇偶校验规则,如果出现误码,则应转去执行相应的错误处理服务程序,进行后续纠错。
纠错
在基本通信规程中一般采用奇偶校验或方阵码检错,以重发方式进行纠错。在高级通信中一般采用循环冗余码(CRC)检错,以自动纠错方式来纠错。一般说来,附加的冗余位越多,检测、纠错能力就越强,但通信效率也就越低。
2
、串行通信接口标准
串行通信接口按电气标准及协议来分包括RS-232RS-422RS485USB等。 RS-232RS-422RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。
1RS-232串行接口
目前RS-232PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通信。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL电平,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V-3-12VRS-232是为点对点(即只用一对收、发设备)通信而设计的,其驱动器负载为37kΩ。由于RS-232发送电平与接收电平的差仅为2V3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约30米,最高速率为20kb/s。所以RS-232适合本地设备之间的通信。可以通过测量DTETxd(或DCERxd)和Gnd之间的电压了解串口的状态,在空载状态下,它们之间应有约-10V左右(-5~-15V)的电压,否则该串口可能已损坏或驱动能力弱。
管脚定义
RS-232
物理接口标准可分成25芯和9D型插座两种,均有针、孔之分。其中TX(发送数据)、RX(接受数据)和GND(信号地)是三条最基本的引线,就可以实现简单的全双工通信。DTR(数据终端就绪)、DSR(数据准备好)、RTS(请求发送)和CTS(清除发送)是最常用的硬件联络信号。

1-8-1 RS232接口中DB9DB25管脚信号定义
9
25针 信号名称 信号流向 简称 信号功能
3 2
发送数据 DTE —>DCE TxD DTE发送串行数据
2 3
接收数据 DTE <—DCE RxD DTE接受串行数据
7 4
请求发送 DTE —>DCE RTS DTE请求切换到发送方式
8 5
清除发送 DTE <—DCE CTS DCE已切换到准备接受
6 6
数据设备就绪 DTE <—DCE DSR DCE准备就绪可以接受
5 7
信号地 GND 公共信号地
1 8
载波检测 DTE <—DCE DCD DCE已接受到远程载波
4 20
数据终端就绪 DTE —>DCE DTR DTE准备就绪可以接受
9 22
振铃指示 DTE <—DCE RI 通知DTE,通讯线路已接通
按照RS232标准,传输速率一般不超过20kbps,传输距离一般不超过15M。实际使用时通信速率最高可达115200bps
②RS232
串行接口基本接线原则
设备之间的串行通信接线方法,取决于设备接口的定义。设备间采用RS232串行电缆连接时有两类连接方式:
直通线:即相同信号(RxdRxdTxdTxd)相连,用于DTE(数据终端设备)与DCE(数据通信设备)相连。如计算机与MODEM(或DTU)相连。
交叉线:即不同信号(RxdTxdTxdRxd)相连,用于DTEDTE相连。如计算机与计算机、计算机与采集器之间相连。
以上两种连接方法可以认为同种设备相连采用交叉线连接,不同种设备相连采用直通线连接。在少数情况下会出现两台具有DCE接口的设备需要串行通信的情况,此时也用交叉方式连接。当一台设备本身是DTE,但它的串行接口按DCE接口定义时,应按DCE接线。如艾默生网络能源有限公司生产的一体化采集器IDA采集模块上的调测接口是按DCE接口定义的,当计算机与IDA采集模块的调测口连接时就要采用直通串行电缆。
一般地,RS232接口若为公头,则该接口按DTE接口定义;若为母头,则该接口按DCE接口定义。但注意也有反例,不能一概而论。(一些DTE设备上的串行接口按DCE接口定义而采用DB9DB25母接口的原因主要是因为DTE接口一般都采用公头,当人用手接触时易接触到针脚;采用母头时因不易碰到针脚,可避免人体静电对设备的影响。)
对于某些设备上的非标准RS232接口,需要根据设备的说明书确定针脚的定义。如果已知TxdRxdGnd三个针脚,但不清楚哪一个针脚是Txd,哪一个针脚是Rxd,可以通过用万用表测量它们与Gnd之间的电压来判别,如果有一个电压为-10V左右,则万用表红表笔所接的是DTETxdDCERxd
③RS232
的三种接线方式
三线方式:即两端设备的串口只连接收、发、地三根线。一般情况下,三线方式即可满足要求,如监控主机与采集器及大部分智能设备之间相连。
简易接口方式:两端设备的串口除了连接收、发、地三根线外,另外增加一对握手信号(一般是DSRDTR)。具体需要哪对握手信号,需查阅设备接口说明。
完全口线方式:两端设备的串口9线全接。
此外,有些设备虽然需要握手信号,当并不需要真正的握手信号,可以采用自握手的方式。
2RS-422/485串行接口
平衡传输
RS-422
RS-232发展而来。为改进RS-232通信距离短、速度低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbit/s,并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范。
RS-422
的数据信号采用差分传输方式,也称作平衡传输。它使用一对双绞线,将其中一线定义为A,另一线定义为B,如图1-8-8。通常情况下,发送驱动器AB之间的正电平在+2+6V,是一个逻辑状态,负电平在-2-6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一使能端,使能端是用于控制发送驱动器与传输线的切断与连接。当使能端起作用时,发送驱动器处于高阻状态,称作第三态,即它是有别于逻辑“1”“0”的第三态。
接收器也作与发送端相应的规定,收、发端通过平衡双绞线将AABB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV6V之间。
②RS-422
RS-422
标准全称是平衡电压数字接口电路的电气特性,它定义了接口电路的特性。图1-8-9是典型的RS-422四线接口。实际上还有一根信号地线,共5根线。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。
RS-422
的最大传输距离为4000英尺(约1200米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s
RS422
接口的定义很复杂,一般只使用四个端子,其针脚定义分别为TX+TX-RX+RX-,其中TX+TX-为一对数据发送端子,RX+RX-为一对数据接收端子,参见图1-8-10RS422采用了平衡差分电路,差分电路可在受干扰的线路上拾取有效信号,由于差分接收器可以分辨0.2V以上的电位差,因此可大大减弱地线干扰和电磁干扰的影响,有利于抑制共模干扰,传输距离可达1200米。
另外和RS232不同的是,在一RS422总线上可以挂接多台设备组网,总线上连接的设备RS422串行接口同名端相接,与上位机则收发交叉,可以实现点到多点的通信,如图1-8-11所示。(RS232只能点到点通信,不能组成串行总线。)
通过RS422总线与计算机某一串口通信时,要求各设备的的通信协议相同。为了在总线上区分各设备,各设备需要设置不同的地址。上位机发送的数据所有的设备都能接收到,但只有地址符合上位机要求的设备响应。
③RS-485
为扩展应用范围,EIARS-422的基础上制定了RS-485标准,增加了多点、双向通信能力,通常在要求通信距离为几十米至上千米时,广泛采用RS-485收发器。
RS-485
收发器采用平衡发送和差分接收,即在发送端,驱动器将TTL电平信号转换成差分信号输出;在接收端,接收器将差分信号变成TTL电平,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,故数据传输可达千米以外。
RS-485
许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进,无论四线还是二线连接方式总线上可连接多达32个设备,SIPEX公司新推出的SP485R最多可支持400个节点。
RS-485
RS-422的共模输出电压是不同的。RS-485共模输出电压在-7V+12V之间, RS-422-7V+7V之间,RS-485接收器最小输入阻抗为12KΩRS-4224kΩRS-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用。但RS-422的驱动器并不完全适用于RS-485网络。
RS-485
RS-422一样,最大传输速率为10Mb/s。当波特率为1200bps时,最大传输距离理论上可达15千米。平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。
RS-485
需要2个终接电阻,接在传输总线的两端,其阻值要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。
RS485
RS422的子集,只需要DATA+D+)、DATA-D-)两根线。RS485RS422的不同之处在于RS422为全双工结构,即可以在接收数据的同时发送数据,而RS485为半双工结构,在同一时刻只能接收或发送数据。
RS485
总线上也可以挂接多台设备,用于组网,实现点到多点及多点到多点的通信(多点到多点是指总线上所接的所有设备及上位机任意两台之间均能通信)。
连接在RS485总线上的设备也要求具有相同的通信协议,且地址不能相同。在不通信时,所有的设备处于接收状态,当需要发送数据时,串口才翻转为发送状态,以避免冲突。
为了抑制干扰,RS485总线常在最后一台设备之后接入一个120欧的电阻。
很多设备同时有RS485接口方式和RS422接口方式,常共用一个物理接口,见图1-8-14。图中,RS485D+D-RS422T+T-共用。
(3)RS232/422/485
串行通信接口性能比较
上述三种通信接口的比较见下表1-8-2
接口性能 RS-232 RS422 RS485
操作方式 电平 差分 差分
最大传输速率 20kb/s(15m) 10Mb/s(12m)1Mb/s(120m)100kb/s(1200m) 10Mb/s(12m)1Mb/s(120m)100kb/s(1200m)
驱动器输出电压 无负载时 ±5V±15V ±5V ±5V
有负载时 ±2V ±1.5V
驱动器负载阻抗 3kΩ7kΩ 100Ω(min) 54Ω(min)
接收输入阻抗 3kΩ7kΩ 4kΩ 12kΩ
接收器灵敏度 ±3V ±200mV ±200mV
工作方式 全双工 全双工 半双工
连接方式 点到点 点到多点 多点到多点
1-8-2 RS232RS422RS-485接口性能比较
4USB接口
USB,
全称是Universal Serial Bus(通用串行总线),它是在1994年底由康柏、IBMMicrosoft等多家公司联合制订的,但是直到1999年,USB才真正被广泛应用。自从19941111日发表了USB V0.7以后,USB接口经历了六年的发展,现在USB已经发展到了2.0版本。USB接口的特点是:
数据传输速率高。USB标准接口传输速率为12Mbps,最新的USB2.0支持最高速率达480Mbps。同串行端口比,USB大约快1000倍;同并行端口比,USB端口大约快50%
数据传输可靠。USB总线控制协议要求在数据发送时含有3个描叙数据类型、发送方向和终止标志、USB设备地址的数据包。USB设备在发送数据时支持数据侦错和纠错功能,增强了数据传输的可靠性。
同时挂接多个USB设备。USB可通过菊花链的形式同时挂接多个USB设备,理论上可达127个。
④USB
接口能为设备供电。USB线缆中包含有两根电源线及两根数据线。耗电比较少的设备可以通过USB口直接取电。可通过USB口取电的设备又分低电量模式和高电量模式,前者最大可提供100毫安的电流,而后者则是500毫安。
支持热插拔。在开机情况下,可以安全地连接或断开设备,达到真正的即插即用。
USB
还具有一些新的特性,如:实时性(可以实现和一个设备之间有效的实时通信)、动态性(可以实现接口间的动态切换)、联合性(不同的而又有相近的特性的接口可以联合起来)、多能性(各个不同的接口可以使用不同的供电模式)。
二、计算机网络和TCP/IP协议