微机原理与接口技术教学课件:06串行通信及可编程串行接口8251a_第1页
微机原理与接口技术教学课件:06串行通信及可编程串行接口8251a_第2页
微机原理与接口技术教学课件:06串行通信及可编程串行接口8251a_第3页
微机原理与接口技术教学课件:06串行通信及可编程串行接口8251a_第4页
微机原理与接口技术教学课件:06串行通信及可编程串行接口8251a_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本章学习的知识点:1)掌握串行接口8251的基本功能2)掌握串行接口8251的工作方式和基本用法3)掌握串行接口8251的硬软件设计方法06 串行通信及可编程串行接口8251A本章学习的重点:1) 掌握8251的的特点、工作方式和用法2)掌握8251的硬软件设计方法 计算机数据通信中有两种基本的数据传送方式:串行通信与并行通信。1.串行通讯的基本原理和特点 串行通信:串行通信中只需要一条数据传输线,所以串行通信可以节省传送线。在位数较多、传输距离较长的情况下,这个优点更为突出,但串行通信的速度一般比并行通信的的速度要低。 D0D0D1D1D6D6D7D7RDYSTB8位数据线发送方接收方并行传

2、送方式1 100101001010110发送方接收方 串行传送方式在并行通信与串行通信之间的对比关系1-1数据的传送方式 接收器A发送器BAB发送器发送器接收器接收器(1) 单工(Simplex)通信:该模式仅能进行一个方向的数据传送,数据只能从发送器A发送到接收器B。(2) 半双工(Half Duplex)通信:该模式能够在设备A和设备B之间交替地进行双向数据传送。即数据可以在一个时刻从设备A传送到设备B,而另一时刻可以从设备B传送到设备A,但不能同时进行。1-1串行通信中数据的传送模式 AB发送器发送器接收器接收器 (3) 全双工(Full Duplex)通信:该模式下设备A或B均能在发送

3、的同时接收数据。 在数据通信中为使收、发信息准确,收发两端的动作必须相互协调配合。(为什么?接收端的起始判定与速率约定)这种协调收发之间动作的措施称为“同步”。在串行通信中数据传送的“同步”方式有异步传送和同步传送两种。1-2串行通信中的异步传送与同步传送异步传送,是指发送设备和接收设备在约定的波特率下(每秒钟传送的位数),不需要严格的同步,允许有相对的延迟。即两端的频率差别在1/10以内,就能正确地实现通信。在进行异步传送时必须确定字符格式及波特率。 1、 异步传送1)字符格式与传输波特率: 在异步通讯中,两个计算机之间要正确实现数据的传输必须满足字符格式和波特率的约定: (1)字符格式:

4、字符格式即字符的编码形式及规定。如规定每个传送的数据字符由四个部分组成:1个起始位、58个数据位、1个奇偶校验位以及12个停止位。 下图示出了这种串行字符编码格式。 起始位后面, 紧跟着要传送字符的最低位,每个字符的结束,是一个高电平的停止位。起始位至停止位构成一帧。 异步通讯的字符格式:字符格式即字符的编码形式及规定 异步传送数据格式(a) 有空闲位;(b) 无空闲位 起始位:每个字符的开始必须是持续一个比特(一位)时间的逻辑“0”电平,标志着一个字符的开始。字符格式中各位的意义:数据位:有58位,紧跟起始位之后,是字符中的有效数据位。传送字符时,先送低位,后送高位。奇偶校验位:仅占一位。可

5、根据需要设置为奇校验或偶校验,也可以不设校验位。停止位:可设置为1位、1.5位或2位,并规定为逻辑“1”状态。 每个字符传送前,其传输线上必须处于高电平“1”状态,这样,当传输线由“1”变为“0”状态,并持续1比特时间时,就表明是字符的起始位,下面传送的位信息必然是有效数据位信息。当一个字符传送完后,立即传送下一个字符,下一个字符的起始位紧挨前一个字符的停止位(即无空闲位)。如后续数据跟不上,则在停止位后加高电平的空闲位等待下一个字符的到来。异步传送数据格式下传送的过程:100/10/10/10/10/10/10/10/1低位高位111起始位数据位校验位停止位字符100/10/1空闲位字符 (

6、2)异步串行通信传输波特率波特率:波特率是指每秒钟传送的二进制位数,单位为位/秒(bit/s)。串行通信时发送端和接收端的波特率必须一致。设计算机数据传送的速率是120字符/s,而每个字符假设有10个比特(bit)位(包括1个起始位、7个数据位、1个奇偶校验位和1个停止位),则其波特率为:120字符/s10 bit/字符=1200 bit/s=1200波特 每个数据位的传送时间Td为波特率的倒数: Td 1/12000.000 833 s0.833 ms 可选用的波特率有300、600、1200、2400、4800、9600、19200和115200。通常用选定的波特率除以10来估计每秒钟可以

7、传送的字符数。 同步传送是指去除异步传送时每个字符的起始位和停止位,而是在数据块开始处用12个同步字符来表示数据块传送的开始,然后数据块信息以连续的形式发送,每个发送时钟周期发送一位信息,故同步传送中要求对传送信息的每一位都必须在收、发两端严格保持同步,实现“位同步”。通常一次通信传送的数据可达几十到几百个字节。这种通信的发送器和接收器比较复杂,成本较高。 用于同步通信的数据格式有很多种,除数据场的字节数不受限制外,其他均为8位。 2、 同步传送比较异步传送和同步传送下的“位同步”难度有何差别? 图(A)为单同步数据格式,传送一帧数据仅使用一个同步字。当接收端检测到一个完整的同步字后,就连续接

8、收数据。一帧数据结束,便进行16位的循环冗余校验(Cyclic Redundancy Check)CRC校验,以校验所传送的数据中是否出现错误。双同步数据格式利用两个同步字进行同步。 同步传送数据格式 (A) 单同步数据格式;(B) 双同步数据格式 图(C)是IBM公司推出的同步数据链路控制数据格式SDLC(Synchronous Data Link Control)。图(D)是ISO推荐的高级数据链路控制数据格式HDLC(High-level Data Link Control)。这两种格式为面向比特的数据格式。同步传送数据格式 (C) SDLC数据格式;(D) HDLC数据格式;3、信号的

9、调制与解调 数字信号的传送要求占用很宽的频带,且还具有很大的直流分量,因此数字信号仅适用于在短距离的专用传输线上传输。如果数字信号直接用电话线传输,信号将会出现畸变。 为了克服传输信号的畸变,在发送端把数字信号转换成适于传输的模拟信号,而在接收端再将模拟信号转换成数字信号。前一种转换称为调制,后一种转换称为解调。完成调制、解调功能的设备叫做调制解调器(Modem)。 适用于异步通信方式,它不提供同步时钟信号。常用的调制方法是频移键控(FSK,Frequency Shift Keying) 。频移键控FSK调制原理(a) 数字信号;(b) FSK信号 01f1f2f11110(a) 数字信号(b

10、) 调制信号 可编程串行接口芯片如Intel的8251以及National Semiconductor的8250等完成TTL电平的并串或串并转换。为了增大传送距离,可在串行接口电路与外部设备之间增加信号转换电路。目前常用的转换电路有RS232收发器、RS485收发器和Modem等。 RS232收发器将微型计算机的TTL电平转换为15 V电压进行传送,最大通信距离为15 m。 RS485收发器将微型计算机的TTL电平转换为差分信号进行传送,最大传送距离为1.2 km。 Modem将电平信号调制成频率信号送入电话网,如同音频信号一样在电话网中传送。 1-3串行通信接口 可异步,可同步。 异步,停止

11、位可为1位、1位半或2位。 同步,可设为单同步、双同步或外同步。 可设定奇偶校验或不校验,校验都由芯片完成。 异步通信的时钟频率可设为波特率的1倍、16倍或64倍。 波特率可设定。 提供调制解调器的联络信号。 收、发送数据分别有各自的缓冲器,可全双工通信。2 可编程串行接口芯片8251A18251A主要特点:功能:数据格式化、串并转换、控制波特率、校验、电平转换、提供RS-232控制信号线。28251A的外部引脚8251A是一个28脚双列直插式封装的芯片,其外部引脚如图所示。8251A的引脚按功能可分为与CPU连接的信号引脚和与外部设备(或调制解调器)连接的信号引脚。 8251A的外部引脚82

12、51A12822732642552462382191011121314D2RXDGNDRXRDYVCCRESETCLKSYNDET/BDD37D4D5D6D7CTXWRCSDC/RD22201918171615TXRDYD1D0CRXDTR RTSDSRTXDTXECTS1) 与CPU的接口引脚 (1) 数据信号D0D7:与CPU的数据总线对应连接。 (2) 读/写控制信号:RD读选通信号输入线,低电平有效。WR写选通信号输入线,低电平有效。图7 8251A的外部引脚8251A12822732642552462382191011121314D2RXDGNDRXRDYVCCRESETCLKSYN

13、DET/BDD37D4D5D6D7CTXWRCSDC/RD22201918171615TXRDYD1D0CRXDTR RTSDSRTXDTXECTSC/D输入,低电平时传送的是数据,高电平时传送的是控制字或状态信息,通常将该引脚与CPU地址总线A0引脚相连。CLK :8251的工作频率,在(0.74-3.1MHz)之间。C/D、WR、RD三者的控制编码与相应的操作功能如表所示。 8251A的外部引脚8251A12822732642552462382191011121314D2RXDGNDRXRDYVCCRESETCLKSYNDET/BDD37D4D5D6D7CTXWRCSDC/RD222019

14、18171615TXRDYD1D0CRXDTR RTSDSRTXDTXECTS表1 CPU对8251A的读/写控制 读/写功能说明001CPU从8251A中读取数据010CPU向8251A中写入数据101CPU从8251A中读取状态110CPU向8251A中写入控制命令发送联络信号: TXRDY发送准备好信号,输出,高电平有效。当发送寄存器空且允许发送(CTS为低电平、命令字中TXEN位为1)时,TXRDY输出为高电平,以通知CPU当前8251A已做好发送准备,CPU可以向8251A传送一个字符。当CPU把发送的数据写入8251A后,TXRDY恢复为低电平。 TXRDY可作为8251A向CPU

15、发送的中断请求信号(发送中断)。也可作为查询方式的联络信号。 TxE发送器空信号。输出,当它有效(高电平)时表示并串缓冲器空。 与TXRDY是有区别的, TXRDY表示发送缓冲器的状态,而TxE表示经发送数据缓冲器的并串转换器的状态。TXD:发送数据输出线。(3) 收发联络信号:RXRDY:接收器准备好信号,输出,高电平有效。RXRDY=1时,表明8251A接收缓冲器接收了一个字符,正等待CPU将此数据取走。在中断方式时,RXRDY可作为向CPU申请中断的请求信号(接收中断);在查询方式时,RXRDY的状态供CPU查询之用。接收联络信号: SYNDET:同步检测信号。用于内同步状态输出或外同步

16、信号输入。此线仅对同步方式有意义。RXD :串行数据输入线。CLK:时钟信号输入线,用于8251A工作时内部的定时,它的频率没有明确值的要求,但必须不低于接收或发送波特率的30倍。(4) 时钟、复位及片选信号:RESET:复位信号输入线,高电平有效。复位后8251A处于空闲状态直至被初始化编程CS:片选信号,低电平有效,它由CPU的地址信号译码而形成。CS为低电平时,8251A被CPU选中。 RTS:请求发送,输出,低电平有效。用于通知外设(调制解调器)CPU准备发送数据。初始化时CPU将控制寄存器的D5位置1,可使RTS变为低电平,(5)与调制解调器之间的接口引脚1、发送数据时的联络信号CT

17、S:发送允许,输入,低电平有效。由外设(调制解调器)对8251A的RTS的响应信号。CTS有效,表示允许8251A发送数据。当CPU发送请求信号RTS有效后,一旦外设发来CTS=0,则开始发送数据。在发送过程中,如果CTS失效,发送器将已经写入的数据全部发送完后才停止发送。DTR:数据终端准备好,输出,低电平有效。通知外设CPU当前已准备就绪。初始化时CPU对8251A写入命令字使控制寄存器D1位置1,从而使DTR变为低电平。2、接收数据时的联络信号DSR:数据装置准备好,输入,低电平有效。这是由调制解调器发给8251A的,对DTR的回答信号,表示调制解调器的数据已经准备好。当DSR端出现低电

18、平时会在8251A的状态寄存器的D7位反映出来,CPU可通过对状态寄存器进行读取操作,查询D7位就可得到DSR状态,查询数据装置是否准备好。 RXC:接收时钟输入端。它控制8251A接收字符的速度。在同步方式时,它由外设(或调制解调器)提供,RXC的频率等于波特率。在异步方式时,RXC由专门的时钟发生器提供,其频率是波特率的1倍、16倍或64倍,即波特率等于RXC端脉冲经过分频得到的脉冲的频率,分频系数可通过方式选择字设定为1、16或64。TXC:发送时钟输入端。TXC的频率与波特率之间的关系同RXC。数据在TXC的下降沿由发送器移位输出。 实际上,RXC和TXC往往连在一起,共同接到一个信号

19、源上,该信号源要由专门的辅助电路产生。(6)接收发时钟线数据收发流程: 在异步方式中,当接收器接收到有效的起始位后,便开始接收数据位、奇偶校验位和停止位。然后将数据送入寄存器,此时,RXRDY输出高电平,表示已收到一个字符,CPU可以来读取。 在外同步方式中,则引脚SYNDET用于输入外同步信号,该引脚上电平正跳变启动接收数据。 在内同步方式中,则8251A先搜索同步字,RXD线上收到一位信息就移入接收寄存器并和同步字符寄存器内容比较,若不同则再接收一位再比较,直到两者相等。此时SYNDET输出高电平,表示已搜索到同步字符,接下来便把接收到的数据逐个地装入接收数据寄存器。 3 8251A内部结

20、构 8251内部结构 (1)数据总线缓冲器 (2)读/写控制逻辑 接收CPU的控制信号 (3)接收器 接收缓冲器、接收移位寄存器、接收控制器 (4)发送器 发送缓冲器、发送移位寄存器、发送控制器 (5)调制/解调控制串行口允许接收;4 8251A的接收/发送工作过程1) 接收器的工作过程接收控制电路不断监视串行数据输入线上的电平,一旦出现持续一个位周期的低电平;则开始采样有效数据位,并逐位移入移位寄存器中。采样重复进行,直至采样规定的停止位为止;然后再将有效数据并行送入输入缓冲寄存器,并由接口电路中的奇偶检测逻辑对输入数据进行校验,并根据校验结果置状态寄存器相应标志位;CPU读取数据。CPU把

21、要输出的数据写入输出缓冲寄存器,然后由接口电路中的发送控制逻辑根据预先写入控制字的内容对数据格式化,即加上起始位、奇偶校验位和停止位等成帧信息。格式化后的数据由输出移位寄存器按选定的传输速率逐位移出,由串行数据输出线输出。2)发送器的工作过程 在异步方式中,发送器在数据前加上起始位,在数据后加上校验位和停止位,然后作为一帧信息从TxD引脚逐位发送数据。 在同步方式中,发送器先送同步字符,然后逐位地发送数据。若CPU没有及时把数据写入发送缓冲器,则8251A用同步字符填充,直至CPU写入新的数据。 8251A内部除了具有可读可写的数据寄存器外,还具有只可写的控制字寄存器和只可读的状态寄存器。5

22、8251A的控制字寄存器和状态字寄存器控制字寄存器存放方式控制字和命令控制字。 (1) 方式控制字的作用:方式控制字用来确定8251A的通信方式(同步或异步)、校验方式(奇校验、偶校验或不校验)、数据位数(5、6、7或8位)及波特率参数等。方式控制字的格式如图9所示。它应该在复位后写入,且只需写入一次。 1) 控制字寄存器 方式控制字格式 最低两位D1D0为00时,8251A处于同步工作方式。其他三种组合规定了异步工作方式时,接收器接收时钟RXC、发送器发送时钟TXC与波特率的关系。当这两位设置为01、10和11时,RXC和TXC引脚上加载的信号的频率应分别为波特率的1倍、16倍和64倍。命令

23、控制字使8251A进入规定的工作状态以准备发送或接收数据。它应该在写入方式控制字后写入,用于控制8251A的工作,可多次写入。(2) 命令控制字:方式控制字和命令控制字本身无特征标志,也没有独立的端口地址,8251A是根据写入先后次序来区分这两者的:先写入者为方式控制字,后写入者为命令控制字。所以对8251初始化编程时必须按一定的先后顺序写入方式控制字和命令控制字。 命令控制字格式 D0:TXEN发送允许控制位,D0=1时允许8251从发送端口发送数据,D0=0时屏蔽发送。D1(DTR):该位与DTR有关系,它控制DTR的输出状态。为1时通知外设CPU已准备就绪,外设可以接受数据。 D2:RX

24、EN接收允许控制位,D2=1时允许8251从接收端口接收,D2=0时屏蔽接收。D0和D2必须在接收或发送前设置允许。D3:=1时发送断缺字符位,使TXD变为低电平,表示数据缺失;而当处于正常状态时,该位=0。D4(ER):=1时,复位状态寄存器中的全部出错标志,PE、OE、FE这三位错误标志由状态寄存器的D3、D4、D5来指示。D5(RTS):该位控制RTS的输出状态。 D5=1时通知外设(调制解调器)CPU已准备好发送数据.D6(IR):D6=1,8251内部复位,要重新初始化。D7(EH):该位只对同步方式起作用,D7=1时,表示开始搜索同步字。2) 状态字寄存器 CPU通过读取状态字来检

25、测外设及接口的状态。当FE=1时,出现“帧格式错”。所谓帧格式错,是指在异步方式下当一个字符终了而没有检测到规定的停止位时的差错。当OE=1时,出现“溢出错误”。所谓溢出错误,是指当CPU尚未读完一个字符而下一个字符已经到来时,OE标志被置“1”。发生这种错误时,上一个字符将丢失。当PE=1时,奇偶错, 在通信线路上因噪声干扰而引起的某些数据位的改变,则会引起奇偶检验错。发生这三种错误时不禁止8251A的工作,可由控制命令字中的ER来复位。 8251A在使用前必须进行初始化。初始化在8251A处于复位状态时开始。6 8251A初始化编程其过程为:首先写入方式控制字,以决定通信方式、数据位数、校

26、验方式等。若是同步方式则紧接着送入一个或两个同步字符,若是异步方式则这一步可省略,最后送入命令控制字,就可以发送或接收数据了。初始化过程的信息全部写入控制端口,特征是C/D=1,即地址线A0=1(因为C/D接至A0)。 下图给出了8251A初始化过程的流程图。 8251A初始化流程 例.设8251A控制口的地址为301H,数据口地址为300H,按下述要求对8251A进行初始化。 异步工作方式,波特率因子为64(即数据传送速率是时钟频率的1/64),采用偶校验,字符总长度为10(1位起始位,7位数据位,1位奇偶校验位,1位停止位)。 允许接收和发送,使错误全部复位。 查询8251A的状态字,当接

27、收准备就绪时,从8251A的数据口读入数据,否则等待。 1异步方式下初始化编程初始化程序如下: MOV DX,0301H;8251A控制口地址 MOV AL,01111011B;方式控制字 OUT DX,AL;送方式控制字 MOV AL,00010101B;命令控制字 OUT DX,AL;送命令控制字WAIT:IN AL,DX;读入状态字 AND AL,02H;检查RXRDY=1? JZ WAIT ;RXRDY1,接收未准备就绪,等待 MOV DX,300H;8251A数据口地址 IN AL,DX;读入数据 例.设8251A设定为同步工作方式,控制口地址为51H,2个同步字符,采用内同步,SY

28、NDET为输出引脚,偶校验,每个字符7个数据位。 2个同步字符,它们可以相同,也可以不同。本例使用两个相同的同步字符23H。初始化编程如下: 2同步方式下初始化编程举例MOVAL,00111000B;方式控制字:设置工作方式、双同 ;步字符偶校验、每个字符7位OUT51H,AL ;送方式控制字(控制口的地址为 ;51H,数据为50H)MOVAL,23H;同步字符OUT50H,AL;送第一个同步字符OUT50H,AL;送第二个同步字符MOVAL,97H;命令控制字:使接收器和发送器启动,使 ;状态寄存器中的3个出错标志位复位,通 ;知调制解调器CPU已准备好进行数据传送OUT51H,AL;送命令

29、控制字 7 8251A应用设计方法 当8251A与CPU连接时,要占用两个端口地址,即控制端口地址(C/D=1)和数据端口地址(C/D=0)。 在使用8251A时,需要提供三个时钟信号:CLK、TXC和RXC。CLK信号的频率没有明确值的要求;接收器接收时钟RXC和发送器发送时钟TXC的频率在同步方式时等于波特率,在异步方式时应分别为波特率的1倍、16倍和64倍,即波特率将等于RXC和TXC端脉冲经过分频得到的脉冲的频率,分频系数可通过方式选择字设定为1、16或64。 8251A的RXRDY和TXRDY分别为“接收数据准备好”和“发送数据准备好”的状态输出引脚。如果要利用中断方式控制传输,利用

30、这两个信号组合起来形成中断请求信号,中断服务程序将依据“接收数据准备好”状态读入接收的数据,依据“发送数据准备好”状态把要发送的字符发至8251A;如果用查询方式控制传输,这两个输出引脚就没用了,因为它们代表的状态可通过对状态寄存器的查询来获得。 例 用8251A为8086 CPU与CRT终端设计一串行通信接口。假设8251A控制端口地址为301H,数据端口地址为300H。要求: 异步方式传送,数据格式为1位停止位,8位数据位,奇校验; 波特率因子为16; CPU用查询方式将显示缓冲区的字符“HAPPY NEW YEAR”送CRT显示器。显示缓冲区在数据段。 硬件设计:硬件连线如图所示。地址译

31、码器对输入地址A1A9进行译码,其输出接到8251A的片选端。地址A0用于选择8251A的数据端口或控制端口。波特率发生器按规定给8251A提供发送和接收时钟,其频率应等于波特率与程序设定的波特率因子16的乘积。电平转换电路1488和1489实现TTL电平与RS232C电平的转换。 图12 8086 CPU与CRT终端的串行接口 数据锁存分频器 DATA SEGMENT STRING DBHappy New Year COUNT EQU $-STRING DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOVAX,DATAMOVDS,AXMOVDX,0301H ;控制口地址MOVAL,01011110B ;方式控制字 OUT DX,A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论