《微机原理与接口技术(朱红)第10章 8251串行接口》由会员分享,可在线阅读,更多相关《微机原理与接口技术(朱红)第10章 8251串行接口(66页珍藏版)》请在金锄头文库上搜索。
1、串 行 通 信,第10章,串行通信的基本概念,(1)串行通信的特点并行通信中,传输线数目没有限制,除了数据线之外还应设置有通信联络控制线。但是,当多微机系统中的各台微机相距比较远时,一般不能使用并行通信,其原因是基于以下两点;1.是通信线路费用昂贵;2.容易发生线路干扰、故障,降低了整个通信系统的可靠性。,串行通信:传送的信息(数据信息和控制信息)按位逐位传送,我们将这种方式称为串行通信。显然,串行通信的速度要比并行通信慢得多, 但在线路上的开销却省得多。 一般来说,串行通信有以下一些特点; (1)既传输数据信息又传送控制联络信息,这就需要串行通信中的一系列约定(编码),从而来识别在一根线上传
2、送的信息流中,哪一部分是联络信号,哪一部分是数据信号。,(2)串行通信的信息格式有异步和同步信息格式,与此对应,有异步串行通信和同步串行通信两种方式。(3)串行通信中的信息逻辑定义与TTL( +5V等价于逻辑“1”,0V等价于逻辑“0” )不兼容,故需要逻辑电平转换。(4)利用现有的信道(如电话信道等),配备以适当的通信接口,便可在任何两点实现串行通信。,(2) 线路传输方式,在串行通信中,数据通常是在两个站(如微机、终端等)之间进行传送,按照数据流的方向及对线路的使用方式可分为如下几种基本传输方式。 单工传输方式在传输线路上,数据只能按一个固定的方向传送。其示意图如图所示。这种单向连接的用途
3、较窄,仅适用于一些简单的通信或数据传送的场合。,单工方式, 半双工传输方式当使用同一根传输线既作输入又作输出时,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这种传输方式就是半双工传输方式,如图所示。通信系统的每一端的发送器和接收器,通过收发开关接到通信线上,利用收发切换开关进行通信方向的切换。,半双工方式,发送器,接收器, 全双工传输方式当数据的发送和接收分别由两根不同的传输线传输时,通信双方都能在同一时刻进行发送和接收操作,即相当于将两个方向相反的单工传输方式组合在一起,这样的传输方式就是全双工传输方式,如图所示。,发送器,接收器,全双工方式,传输速率与传送距离,(l) 波特率
4、:衡量串行信号传输速率的量度 单位1波特=1b/s,是发送到通信线路上的电脉冲速率。注意:在并行通信中,传输速率是以每秒传送多少字节(Bs)来表示。 常用的标准波特率是110、300、1200、2400、4800、9600、19200波特等。CRT 终端能处理9600波特的传输,而点阵打印机通常以2400波特来接收信号。,(2) 发送接收时钟:作用是控制 发送接收数据信号的每一位的时钟在串行通信中,二进制数据系列是以数字信号波形的形式出现的,对这些连续的数字波形的定时发送和接收是在发送接收时钟的控制下进行的。 在发送数据时,发送器在发送时钟的有效沿(下降沿)作用下将移位寄存器的数据按位移位串行
5、输出;在接收数据时,接收器在接收时钟的有效沿(上升沿)作用下对接收数据按位采样,并按位串行移入移位寄存器。而发送接收时钟的快慢将直接影响通信设备发送接收数据的速度。 发送接收时钟频率与波特率的关系如下: 发送接收时钟频率n发送接收波特率,发送接收时钟频率 发送接收波特率 n 表达式中的 n = 1,16, 64。 例如,要求传输速率为1200波特,则: 当 n = l时,发送接收时钟频率=l.2kHz。 当选择 n = 16时,发送接收时钟频率=19.2kHz。 当选择 n = 64时,发送接收时钟频率=76.8kHz。 在应用中,可根据所要求传输波特率和所选择的倍数n来确定发送接收时钟频率。
6、,(3) 传输距离与传输速率的关系,传输距离与速率是反比关系。,串行通信协议,所谓通信协议是指通信双方的一种约定。在约定中包括了数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等作出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISOS OSI(国际标准化组织提出的开放系统互连参考模型)七层参考模型中的数据链路层。,目前,采用的串行通信协议有两类:异步通信和同步通信。同步协议又有面向字符、面向比特和面向字节计数三种。由于面向字节计数的同步协议主要用于DEC公司的网络体系结构中,在此不作介绍。,异步通信协议,(1) 特点及传输格式 异步传输格
7、式亦称起止式异步协议,其特点是通信双方以一个字符(包括特定附加位)作为数据传输单位,且发送方传送字符的间隔时间是不定的。在传输一个字符时总是以起始位开始,以停止位结束。异步通信传输格式如图所示。,异步通信字符传输帧格式,止,由图可知,一帧传送1个字符。(1) 字符格式:1、 1个起始位,低电平2、 58个数据位(如:ASCII码,从低开始传送)3、 1个奇偶校验位(用于检错)4、 12个终止位(停止位)高电平异步通信协议还规定:信号1(低电压状态-3 -15 )称为传号(或称为标志状态MARK),信号0(高电平状态+3+15 )为空号(或称间隔状态 SPACE)。,异步通信的一帧传输经历以下步
8、骤: 无传输发送方连续发送传号(低电压-3-15),处于信号1状态,表明通信双方无数据传输。 开始传输发送方在任何时刻将传号变为空号(由1变为0),并持续1位时间表明发送方开始传输。与此同时,接受方收到空号后,开始与发送方同步,并期望收到随后的数据。, 数据传输 数据位的长度可由双方事先确定,可选择58位。数据传输规定最低位在前,最高位在后。 奇偶校验 数据传输之后是可供选择的奇偶校验位发送和接收。奇偶位的状态取决于选择的奇偶校验类型。如果选择奇校验,则该字符数据中为1的位数与校验位相加,结果应为奇数。, 停止传输 在奇偶位(选择有奇偶校验)或数据位(选择无奇偶校验)之后发送或接收的停止位,其
9、状态恒为1。停止位的长度可在1,1.5或2位三者中选择。两种方式发送一帧字符: a. 连续发送 即在上一帧停止位之后立即发送下一帧的起始位。 b. 随机发送 即在上一帧停止位之后仍然保持传号(1)状态,直至开始发送下一帧时再变为空号。,例如,我们选择数据位长度为7位,选择奇校验,停止位为1位,采用连续发送方式,则传送一个字符E的ASCll码的波形如图所示。,字符E(45H)的传送波形,45H: 100,0101B,同步通信协议,(1) 面向字符的同步协议 特点与格式 它的特点是一次传送由若干个字符(多个位)组成的数据块,而不是只传送一个字符,并规定了10个特殊字符作为这个数据块的开头与结束标志
10、以及整个传输过程的控制信息,它们也叫通信控制字。由于被传送的数据块是由一序列字符组成的,故被称作面向字符的协议。协议的一帧数据格式如下图所示。,图9-10 面向字符同步协议的帧格式,同步字符,序始字符,文始字符,组终/文终字符,数据帧,表9-1 通信控制字符,面向字符的同步通信有别于异步通信的特点 是,它允许连续发送一序列字符,而每个字符的数据位数都相同,且没有起始位和停止位。 通常,一个数据帧内包含成百甚至上千个字符,而附加的控制信息仅几个字符。这样,使附加信息只占1。然而在异步传输中,一个字符帧内附加位约占 20,因此,面向字符的同步传输效率要比异步传输高得多。,由于在面向字符的同步通信协
11、议中采用了一些传输控制字,从而增强了通信控制能力和校验功能,但也出现了一些问题,例如如何区别数据字符代码和特定字符代码的问题,如果在数据块出现与特定的通信控制字符代码完全相同的数据字符,这就会发生误解。,为此,协议中设置了转义定符DLE(Data Link Escape)。当把一个字符看成是数据时,就要在它前面加一个DLE,每当接收器收到一个DLE就可预知下一个字符是数据字符。但是,由于DLE本身也是特定字符,当它出现在数据块时,也要在它前面再加上另一个DLE。这种方法称为字符填充,而字符的填充与字符的编码有关,故实现起来相当麻烦。为了克服以上的缺点,故又提出新的面向比特的同步协议。,(2)
12、面向比特的同步协议(补充,自学), 特点与格式面向比特的同步传输又称作二进制同步传输。协议的特点是所传输的一帧数据可以是任意位, 并且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束。这些协议的一帧格式如图9-11所示,该传输格式中不是以字符而是以二进制位为最小传输单位,故称为“面向比特”的协议。,图9-11 面向比特同步协议的帧格式, 帧信息的分段SDLCHDLC(同步协议)的一帧信息包括以下几个场,所有场都是从最低有效位开始传送。 a. 同步数据链路控制规程SDLC,由 IBM公司制定。b. 高级数据链路控制规程 HDLC,由国际标准化组织ISO制定。,SDLCHDLC的标志字
13、符a.标志场:所有信息传输必须以一个标志符开始, 且以同一个标志符结束。这个标志字符是01111110。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形式传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索01111110来确定帧的开头和结束,以此建立帧同步。,b. 地址场和控制场 在标志场之后,可以有一个地址场A(Address)和一个控制场C(Control)。地址场用来规定与之通信的次站(在一次通信中,呼叫建立数据链路的站为主站,被呼叫的站称为次站)的地址。控制场可规定若干个命令。HDLC允许A场可以为任意长度,C场可以为8或16位。接收方
14、必须检查每个地址、控制字节的第一位,如果为0,那么后面一个字节还是地址或者控制字节,如果为1,该字节是最后一个字节 。,d. 帧校验场 紧跟在信息场之后的是两字节的帧校验场,帧校验场称为 FC(Frame Check)或称为帧校验序列FCS(Frame Check Sequence)。 SDLCHDLC均采用 16位循环冗余校验码CRC,其生成多项式为CCITT多项式 + + 1。除了标志场和自动插入的“0”位外,所有的信息都参加CRC计算。,“0”位插入删除技术 由于 SDLCHDLC协议规定以 01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了能把它与标志区分开来
15、,所以采取了“0”位插入和删除技术。具体作法是,在发送端发送所有信息(除标志字节外)时,只要遇到连续5个“1”,就自动插入一个“0”,当接收端在接收数据时(除标志字节)如果连续收到5个“l”,就自动将其后的一个“0”删除,以恢复信息的原有形式。这种“0”位的插入和删除过程是由硬件自动完成的。,可编程串行接口芯片,2 5 l A,Intel 8251A 的基本性能,(1) 可用于同步(面向字符协议)和异步(起止式)传送、接收;(2)同步: 58 bit/字符, 可内同步或外同步, 能自动插入同步字符(只能面向字符) ;(3) 异步:58 bit/字符, 时钟速率为波特率的1、16、64倍;(4)
16、可自动产生、检测和处理中止字符 , 可产生1、1.5或 2个位的停止位;,(5)波特率: DC19.2K(异步) DC64K(同步) ;(6)完全双工, 双缓冲发射/接收器;(7)错误检测: 具有奇偶错、溢出和帧错的检测能力;(8)全部输入/输出与TTL兼容,+ 5V供电、28只引脚。,8251A的内部逻辑与外部引脚,A0,8251A引脚图,数据总线缓冲器它含有数据和命令缓冲器,是CPU与8251的数据接口传送I/O数据传送CPU对8251的控制命命(工作方式和工作命令字)传送8251给CPU的状态字 接收缓冲器和接收控制电路 P262在时钟脉冲控制下,接收RxD脚上的串行数据,把它转换为并行
17、数据,存放在接收缓冲器。异步方式下,在CPU发出“允许接收数据命令”,“准备好接收数据”有效时,接收缓冲器监视RxD引脚,如果出现负脉冲,则认为是起始位。接收控制器的内部计数器对RxC /的时钟频率开始计数,把RxD线上的数据送至移位寄存器,奇偶校验后,去掉停止位,变成并行数据,送到接收数据缓冲器。同时发出RxRDY高电平信号通知CPU。BRKDET为异步工作方式下使用,当 8251从RxD引脚连续接收到两个全由0组成的字符时, BRKDET上输出高电平,表示当前无数据可读。内同步下,监视RxD线,每出现一个数据位就移动到移位寄存器。把移位寄存器中的值和同步字符相比较。若不符,则继续接收并比较。若相等,表明找到。在SYNDET上输出为高电平。利用接收时钟RxC,按规定的数据位装配成并行数据,再把它送到数据缓冲器。同时发出RxRDY信号通知CPU。外同步下,同步字符不是由8251完成的,而是由外部电路来实现同步字符的检测的,检测到后,通过SYNDET引脚给8251输入高电平。,