数据通信时,按照同时传送数据的位数,可以分为并行通信和串行通信;按照数据传输时的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式;按数据传送的方向,可以分为单工方式、半双工方式和全双工方式三种。
图8-2 并行通信示意
1.并行通信和串行通信
(1)并行通信-并行通信方式是指传送数据的每一位同时发送或接收,如图8-2所示。图8-2表示8位二进制数同时从A设备传送到B设备。在并行通信中,并行传送的数据有多少位,传输线就有多少根,因此传送数据的速度很快。若数据位数较多,传送距离较远,那么必然导致电路复杂,成本高。所以,并行通信不适合远距离传输。PC或PLC的各种内部总线都是以并行方式传输数据的。
(2)串行通信-串行通信是指传送的数据一位一位地按顺序传送,传送数据时,只需要1~2根传输线分时传送即可,与数据位数无关。串行通信虽然慢一点,但特别适合多位数据长距离通信。串行通信的通信(或传输)速率用每秒传输的数据位数来表示,称为波特率(bit/s)。常用的标准通信速率有300bit/s、600bit/s、1200bit/s、2400bit/s、4800bit/s、9600bit/s、19200bit/s等,目前串行通信的传输速率每秒可达兆字节的数量级。PC与PLC的通信、PLC与现场设备的通信、远程I/O的通信、开放式现场总路线(CC-Link)的通信均采用串行通信方式。
2.同步通信和异步通信
(1)同步通信-在串行同步通信中,所有设备共用一个时钟,这个时钟可以由参与通信的设备中的一台产生,也可以由外部时钟信号源统一提供,所有传输的数据位都与这个时钟信号同步。同步通信时,在每个数据块的开始处加入一个同步字符来控制同步,接着是n个字符的数据块,字符之间不允许有空隙,每个字节前后也不需加起始位、校验位和停止位等标志。发送端发送时,首先对欲发送的原始数据进行编码,形成编码数据后再向外发送;接收端经过解码,便可以得到原始数据。
(2)异步通信-串行异步通信有严格的数据格式和时序关系,以字符为单位发送数据,每个字符都有起始位和停止位作为字符的开始标志和结束标志,在空闲状态时,电路呈现出高电平(1)状态,因此也称其为起止式通信。图83给出了串行异步通信的数据格式。通信时,首先发送起始位,接收端接收到起始位时开始接收,其后的数据传输都以起始位作为同步时序的基准信号。起始位以“0”表示,紧跟其后的是数据位(数据位可以为7位或8位),接着就是奇偶校验位(可有可无),最后是停止位(以“1”表示,位数可以是1位或2位),停止位后可以加空闲位(以“1”表示,位数不限,其作用是等待下一个字符的传输)。以这种特定的方式,发送设备一组一组地发送数据,接收设备将一组一组地接收,在开始位和停止位的控制下,保证数据传送不会出错。这种通信方式,每传一个字节都要加入起始位、校验位和停止位,传送效率低,主要用于中、低速数据通信。
图8-3 串行异步通信格式
1)起始位:在通信线上没有数据被传送时处于高电平1状态,当发送设备要发送一个字符数据时,首先发出一个低电平0信号,这个低电平就是起始位。起始位通过通信线传向接收设备,接收设备检测到这个低电平后,就开始准备接受数据位信号。起始位所起的作用就是设备同步,通信双方必须在传送数据位前协调同步。
2)数据位:当接收设备收到起始位后,紧接着就会收到数据位。数据位的位数可以是5、6、7或8,但通常采用7位或8位数据传输。这些数据位接收到移位寄存器中,构成传送数据字符。在字符数据传输过程中,数据位从最低有效位开始发送,依此顺序在接收设备中被转换为并行数据。不同系列的PLC采用不同的位数据。(www.xing528.com)
3)奇偶校验位:数据位发送完之后,可以发送奇偶校验位。奇偶校验用于有限差错检测,通信双方约定一致的奇偶校验方式。如果选择偶校验,那么组成数据位的高电平1的个数必须是偶数;如果选择奇校验,那么高电平1的个数必须是奇数。奇偶校验电路通常集成在通信控制器芯片中。
串行数据在传输过程中,由于干扰可能引起信息的出错,例如,传输字符E所对应的ASCⅡ码为45H,用二进制表示,其各位为01000101。由于干扰,可能使某个0变为1或某个1变为0,这种情况称为出现了误码;把如何发现传输中的错误,叫检错;发现错误后,如何消除错误,叫纠错。最简单的检错方法就是奇偶校验,即在传送字符的各位之外,再传送1位奇偶校验位,可采用奇校验或偶校验。
4)奇校验:所有传送的数据(含字符的各数位)中,1的个数为奇数,如在8位数据01100101中,1的个数为偶数,我们加一个1变为奇数,所以校验位为1。在8位数据01100001中,1的个数为奇数,我们加一个0仍为奇数,所以校验位为0。
5)偶校验:所有传送的数据(含字符的各数位)中,1的个数为偶数,如在8位数据01100101中,1的个数为偶数,我们加一个0仍为偶数,所以校验位为0。在8位数据01100001中,1的个数为奇数,我们加一个1变为偶数,所以校验位为1。
采用奇偶校验时,一位误码能检出,而两位及两位以上误码则不能检出,同时,它不能纠错,在发现错误后,只能要求重发。但由于其实现简单,仍得到了广泛使用。
6)停止位:在奇偶位或数据位(当无奇偶校验时)之后发送的是停止位。停止位是一个字符数据的结束标志,可以是一位或两位的高电平。接收设备收到停止位之后,通信线便又恢复高电平1状态,直到下一个字符数据的起始位到来。通常PLC采用一位停止位。
例如,传送一个ASCⅡ字符(如0111001共7位),若选用两位停止位,那么传送这个七位的ASCⅡ字符就需要11位,其中起始位一位,校验位一位,停止位两位,其格式如图8-4所示。
图8-4 七位ASCⅡ字符的传送格式
异步通信就是按照上述约定好的固定格式,一帧一帧地传送,因此采用异步通信的方式硬件结构简单,但是传送每一个字节都要加起始位、停止位,因而传送效率低,主要用于中、低速的通信。
7)波特率:即在异步数据通信中单位时间内传送二进制数的位数。假如数据通信的格式是7位字符,加上一个奇校验位、一个起始位以及一个停止位,共10个数据位,而数据通信的速率是1920字符/s,则传输的波特率为:10×1920字符/s=19200bit/s,每一位的传送时间(即为波特率的倒数):Td=1/19200bit/s≈0.052ms。所以,要想通信双方能够正常收发数据,则必须有一致的数据收发规定。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。