通信技术
CPU与外部的信息交换统称为通信。基本的通信方式有两种:
并行通信――各位数据同时传送。例如CPU与PIO间的数据交换是八位一起传送的,这就是并行通信。
串行通信――数据是一位、一位顺序传送的方式。例如远动装置发、收两端的距离很长,只采用一条通道传送信息,这就需要各位信息逐位按次序传送,即串行通信。
下面,我们介绍串行通信及其接口电路。
1.串行通信方式
串行通信分为异步通信(ASYNC)和同步通信(SYNC),以及同步数据链路通信(SDLC)、高级数据链路通信(HDLC)等,它们的主要区别表现在不同的信息格式上。我们主要介绍其中最基本的异步和同步通信。
一、异步通信
在数据位的前后必须加上起始位和停止位。传送一个八位数据时,最少也要有十位数据的长度。
它用一个起始位表示字符的开始,通常规定起始位是一个“0”。用停止位表示字符的结束,停止位通常规定为“1”,它可取1位,1.5位,或2位。一个字符可以用5位,6位,7位,或8位数据表示,例如ASCII编码,一个字符是用7位数据来表示的,而国际电报字符却用5位数据(“0或“1”)来表示一个字母。根据需要来选取用几位数据来表示一个字符。在数据后可以附加一位奇偶校验位,以提高数据位的抗干扰性能,但也可以不加。
如上所述,异步通信是将每一字符(例如ASCII码)看作一个独立的信息,为了区分各个字符的边界,要加上起始位和停止位,从而构成一个帧。各个字符串行地依次序传送。下面我们说明异步通信的发送和接收过程。
在发送端,发出如图所示的一帧、一帧信息。在发送端没有信息要发送时,约定送出一连串的“1”,称为空闲位(或称“传号”MARK)。一旦有信息要发送时,首先发出一个“0”,称为起始位,然后发送数据位和奇偶位,最后发停止位表示一帧的结束。
在接收端,把接收到的第一个“0”信号当作一帧的开始(即同步信号)。当接收到这个由“1”变“0”的下降沿后,按约定的时钟频率一位、一位地从低位向高位收数,如图所示。因为在传输中存在干扰,并且两端的时钟也不可能准确的同步,为了正确、可靠地接收数据,都在每一位数据的中点来判决它是“1”还是“0”。所以常常把接收时钟频率提高若干倍,例如是数据传送码元速率的16倍、32倍或64倍等。如图是接收时钟频率为码元速率16倍的情况,图中TC是接收时钟周期,T为码元周期,T=16TC。当接收到起始位的下降沿时,就启动一个内部计数器,当计数到8个时钟周期(即码元宽度的一半)时。重新取样判决它是“1”还是“0”,若为“0”则确认它是起始位,而不是噪声干扰。以后,每隔16个TC对数据采样一次。如果约定8位数据,1位奇偶校验,1位停止位,则计数到8 + 10*16=168个接收时钟TC时表示一帧结束,以后为空闲位或另一侦的起始。
如上所述,在异步通信时,发、收两端预先必须有下列规定:
(1)信息格式。即预先要规定一个字符为几位数据,奇偶校验的形式,以及停止位的位数等一帧的信息格式。
(2)波特率。即码元速率,单位是波特。例如波特率为1200Bd,则图中的码元周期T=1/1200=0.833ms
(3)波特率系数。要预先规定接收时钟的频率是波特率的倍数,例如波特率系数为16, 32或64倍等。
异步通信方式常用于计算机到屏幕显示器(CRT)及打印机之间的通信。在远动中也可采用异步通信方式,但是其信息格式与上述有时不同,例如起始位和监督位都较长,数据位也远不止8位。远动中的异步通信方式主要用在问答式传送方式中。
二、同步通信
在异步通信中,每一个字符要用起始位和停止位作为开始和结束的标志。例如一个字符为8位数据。起始位和终止位至少各占1位,实际传送信息的效率最多是80%。在传送大量数据时,为了提高传送信息的效率,采用一个数据块共用一个同步字作为起始位的力格式,叫同步通信方式.
同步传送方式是用发、收双方规定的同步字来作为数据块的开始和结束。同步方式可分为内同步和外同步两种方式,说明如下:
1、内同步方式
发送端必须在数据块之前首先发送同步字。在接收端,当接收器收到与约定相符的同步字后才开始接收数据。内同步分为单同步字方式和双同步字方式两种,其信息格式如图所示。
2、外同步方式
外同步方式指由外界对接收器输入一个同步脉冲后就开始接收数据。采用外同步方式时,在发端不发送同步字,信息格式如图所示。但在接收端必须提取出同步脉冲来,例如自同步法就是一种外同步方式。
要注意的是:采用同步通信时,不允许在数据之间出现空隙,如果发送端在某个时刻内没有数据发送,那么就要在这个时间间隙里补进去相应数量的同步字,直到再有新的数据发送为止。如果没有数据发送,并且也没有发送同步字,这就出现“欠载”现象。
最后我们指出:异步通信是“起――止”(Start ――stop mode)同步方式通信,即在以起始位开始、停止位结束的一个字符内按约定的频率进行同步接收。各字符之间允许有间隙,而且两个字符之间的间隔是不固定的。例如终端设备的输出速度不均匀时,就要求相邻字符间的时间间隔不同,这时就要用到异步通信方式。而在同步通信方式中,不仅同一字符中的相邻两位间的时间问隔要相等,而且字符间的问隔也要求都相等,这是同步与异步通信方式的主妄差别。目前国内的远动装置常采用同步通信方式。
三、通信规程简介
这里要介绍的是计算机网络的通信规程概念,通信双方是计算机和计算机,或者是计算机和终端设备。为了保证双方能进行有效、自动地数据通信,在发送端和接收端之间需要有一系列的约定和顺序,这种通信的约定和顺序叫做通信控制规程(或协议),也叫传输控制规程。通信控制规程简称为通信规程。
通信控制规程分为基本型通信控制规程和高级型通信控制规程两种,分别介绍如下:
1.基本型通信控制规程
它是一种面向字符的通信规程,即通信中的数据和控制字符都是以字符为单位构成一组信息的。在计算机通信中,数据和字符都采用七单位标准编码制。在基本型通信规程中,可以用同步通信方式,也可以用异步通信方式,在传输速率较高时常用同步方式,较低时常用异步方式。
基本型通信控制规程是模仿人们打电话的过程而制订出来的。它把要传送的信息分为若干组,每组中有若干个字符单位。每组信息作为一个完整的句子传送,每传送一组信息,接收端要给发送端一个“应答”,告诉发送端这一组信息是否没有错误而被正确接收,若对方已经正确接收则可继续发送下一组信息。若接收端没有收到或已经接收到一组信息但信息有错误,则要求发送端重发这一组信息。这样,发送端在没有收到对方的“确认”(已正确接收)应答之前,它是不能发送下一组新的信息的。
2.高级型通信控制规程 目前,高级型通信控制规程,在计算机网络中有HDLC (High-Level Data Link Control),即高级数据链路控制规程SDLC(Synchronous Data Link Control),即同步数据链路控制规程等。在远动系统中有远动通信规约等。下面我们先对HDLC及SDLC规程作一个概述。至于远动通信规约,我们将在以后介绍。
1. HDLC规程:
计算机间或计算机和终端设备之间的连接,构成了传输数据的通信“链路”。为了保证互链的各方能在通信链路上有次序地传送和接收信息,必须规定一些通信的规则,这就是链路控制规程。目前用得较多的规程是基本型通信控制规程和HDLC规程,串行通信接口作为通信控制器时必须具备实现链路规程的各种功能。为了便于对器件功能的理解,下面简要介绍HDLC规程的一些主要内容。
1. 主站和RTU间的操作原理。
HDLC是基于在公共通信链路上,主站和一个或多个RTU之间进行数据交换的规程。主站和RTU的关系如图所示。
主站控制整个通信网络的工作,向RTU发送各种控制命令,而RTU只能按照来自主站的命令动作,并作出响应回答。
主站可以选择任意一个RTU交换数据,构成通信双方。RTU一旦被选中后,既可以接收来自主站的信息,也可以向主站发送信息,于是开始了信息的传送阶段。
主站和RTU之间的信息采用帧格式传送,在帧结束时采用CRC校验和帧序列号校验。在接收端,对收到的信息进行校验,如果发现错误,则将其作废,井请求发送端重发。在发送端,如果逾期收不到接收端发来的“确认”响应,也将自动进行重发。如果接收端已接收到正确的信息,则应给予“确认”响应。
当发送端由于某种原因(例如遥信优先插入)在一帧的结束之前需要中止现行的信息发送时,可以发送一个“提前终止”符号(ABORT).接收端一旦收到ABORT符号时,便把该帧中已经收到的信息作废。一帧内的信息不允许间断,但帧与帧之间的间隔可以用标志符(FLAG)或ABORT符来填充。当信息传送阶段结束时,发送端用传送“拆除”链接命令的方法,来表示它希望结束信息传送阶段而转入“空闲”(IDLE)状态。当接收端收到连续的15个“1”时,也自动进入空闲状态。
2. HDLC的帧结构。
HDLC规程是面向比特(或位)的规程,即能传送任意比特的信息,信息的长度不必是字符的整数倍,这是和基本型通信规程不同的地方。在HDLC规程中,用一帧表示一组完整的信息,它既可用于通信的控制,也可用于数据的传输。HDLC帧信息格式如图所示,整帧信息用标志序列包封起来。帧信息格式中各字段的内容介绍如下:
标志序列F(Flag)。它是一个固定形式的8位序列,即01111110。用来划分一个帧的开始和结束,它也可作为一帧的同步码。两帧之间可用标志序列来填充,但一帧内不允许用标志序列填充。
帧标志序列必须与一帧中的其他数字序列形式不同,但是数字序列是随机的,有可能和固定形式的标志序列一样,即出现01111110形式的数字序列,这就出现了假同步,即假开始和假结束。为了避免这种现象,必须采