第8章 接口技术(8251)_第1页
第8章 接口技术(8251)_第2页
第8章 接口技术(8251)_第3页
第8章 接口技术(8251)_第4页
第8章 接口技术(8251)_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、1串行通信:串行通信: 使数据一位一位地依次进行传输而实现使数据一位一位地依次进行传输而实现通信。在传输中每一位数据都占据一通信。在传输中每一位数据都占据一个固定的时间长度。个固定的时间长度。 优点:传输线少、成本低,特别适合于远距离传送,优点:传输线少、成本低,特别适合于远距离传送,缺点:速度慢。若并行传送缺点:速度慢。若并行传送n位数据需时间位数据需时间T,则串则串 行传送的时间至少为行传送的时间至少为nT。 2典型内部结构典型内部结构838.3.1 串行通信的基本概念串行通信的基本概念 1全双工方式与半双工方式全双工方式与半双工方式全双工方式:两个串行接口之间分别用两根独立的全双工方式:

2、两个串行接口之间分别用两根独立的传输线发送和接收信号,使发送和接传输线发送和接收信号,使发送和接收数据可同时进行。收数据可同时进行。半双方工方式半双方工方式 :输入过程和输出过程使用同一根传:输入过程和输出过程使用同一根传输线。输线。 4(a) 全双工方式全双工方式 (b) 半双工方式半双工方式52. 同步通信和异步通信同步通信和异步通信(1)同步通信方式同步通信方式 同步通信时,一般将若干字符组成一个信息组,同步通信时,一般将若干字符组成一个信息组,字符一个接着一个传输。在每组信息(通常称之为信字符一个接着一个传输。在每组信息(通常称之为信息帧)开始要加上息帧)开始要加上1至至2个同步字符,

3、在传输线上没有个同步字符,在传输线上没有字符传输时,要发送专用的字符传输时,要发送专用的“空闲空闲”字符或同步字符,字符或同步字符,其原因是同步传输字符必须连续传输,不允许有间隙。其原因是同步传输字符必须连续传输,不允许有间隙。6 在同步通信时所使用的数据格式根据控制规程在同步通信时所使用的数据格式根据控制规程分为面向字符及面向比特的两种。分为面向字符及面向比特的两种。面向字符型的数据格式:面向字符型的数据格式:可采用单同步、双同步及外同步可采用单同步、双同步及外同步3种数据格式。种数据格式。7单同步单同步指在传送数据之前先传送一个同步字符指在传送数据之前先传送一个同步字符“SYNC”,双同步

4、双同步先传送两个同步字符先传送两个同步字符“SYNC”。接收接收端检测到该同步字符后开始接收数据。端检测到该同步字符后开始接收数据。外同步外同步通信的数据格式中没有同步字符,而是通信的数据格式中没有同步字符,而是用一条专用控制线来传送同步字符,使用一条专用控制线来传送同步字符,使接收方及发送端实现同步。当每一帧信接收方及发送端实现同步。当每一帧信息结束时均用两个字节的循环控制码息结束时均用两个字节的循环控制码CRC为结束。为结束。8(2)异步通信方式异步通信方式 通信中两个字符的时间间隔是不固定的,而在通信中两个字符的时间间隔是不固定的,而在同一字符中的两个相邻数位间的时间间隔是固定的。同一字

5、符中的两个相邻数位间的时间间隔是固定的。9 异步通信必须遵循的两项规定为:异步通信必须遵循的两项规定为: A. 字符的格式字符的格式 每个字符传送时,必须前面加一位起始位,后面每个字符传送时,必须前面加一位起始位,后面加上加上1、1.5或或2位停止位。位停止位。 B. 波特率(波特率(Baud Rate) 波特率波特率传送数据位的速率,用位传送数据位的速率,用位/秒(秒(bit/s)表表 示,称之为波特。示,称之为波特。例如,数据传送的速率为例如,数据传送的速率为120字符字符/秒,每帧包括十个秒,每帧包括十个数据位,则传送波特率为:数据位,则传送波特率为: 10120=1200(位位/秒秒)

6、=1200(波特波特) 每一位的传送时间是其倒数:每一位的传送时间是其倒数:Td=1/1200=0.833(ms)103. 信号的调制与解调信号的调制与解调在长距离串行通信中,通信的的双方要用一对调制在长距离串行通信中,通信的的双方要用一对调制/解解调器来实现信号的转换。调器来实现信号的转换。8113. 信号的调制与解调(续)信号的调制与解调(续)8124、串行通信总线标准及接口、串行通信总线标准及接口标准接口标准接口明确定义若干信号线,使接口电路标准明确定义若干信号线,使接口电路标准化、通用化,借助串行接口标准,不同化、通用化,借助串行接口标准,不同通信设备之间可以很方便的实行通信。通信设备

7、之间可以很方便的实行通信。异步串行接口标准有以下几种异步串行接口标准有以下几种RS-232C、RS-499(RS-422、RS-423、RS-485)13(1) RS-232C接口接口 美国电子工业协会美国电子工业协会EIA推荐的国际通用的一种串行推荐的国际通用的一种串行通信接口标准。通信接口标准。 RS(Recommeded standard)代表推荐标准代表推荐标准232是标识号是标识号C代表代表RS232的最新一次修改(的最新一次修改(1969) RS-232C作为工业标准,保证了不同厂家产品之间的兼作为工业标准,保证了不同厂家产品之间的兼容。例如,目前在容。例如,目前在IBM PC机上

8、的机上的COM1、COM2接口,接口,就是就是RS-232C接口。接口。14RS-232C接口实际是一个接口实际是一个25芯或者芯或者9芯的芯的D型连接器。型连接器。 815 RS-232C常用信号的规定常用信号的规定:16 RS-232C采用负逻辑规定逻辑电平,将采用负逻辑规定逻辑电平,将-5-15V规定为逻辑规定为逻辑“1”,将,将+5+15V规定为逻辑规定为逻辑“0”。该信号电平与常用的该信号电平与常用的TTL电平是不兼容的。电平是不兼容的。 为了能够同计算机接口或终端的为了能够同计算机接口或终端的TTL器件连接,器件连接,必须在必须在EIA-RS-232C与与TTL电路之间进行电平和逻

9、辑电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。也可用集成电路芯片。 目前较为广泛地使用集成电路转换器件,如目前较为广泛地使用集成电路转换器件,如MC1488芯片可完成芯片可完成TTL电平到电平到EIA电平的转换,而电平的转换,而MC1489可实现可实现EIA电平到电平到TTL电平的转换。电平的转换。178.3.2可编程串行通信接口芯片可编程串行通信接口芯片 8251A的应用的应用18251A的基本性能的基本性能 通过编程可工作在同步方式,也可工作在异步方通过编程可工作在同步方式,也可工作在异步方式。同步方式下

10、,波特率为式。同步方式下,波特率为064Kbit/s;异步方异步方式下,波特率为式下,波特率为019.2Kbit/s。 在同步方式下,每个字符可定义为在同步方式下,每个字符可定义为5、6、7或或8位,位,并且内部能自动检测同步字符或外部给出同步信并且内部能自动检测同步字符或外部给出同步信号,可用两种方法实现同步。此外,号,可用两种方法实现同步。此外,8251A也允也允许同步方式下增加奇许同步方式下增加奇/偶校验位进行校验。偶校验位进行校验。 18 在异步方式下,每个字符可定义为在异步方式下,每个字符可定义为5、6、7、或、或8位,用位,用1位作为奇偶校验。时钟速率可用软件定位作为奇偶校验。时钟

11、速率可用软件定义为通信波特率的义为通信波特率的1、16或或64倍。此外,倍。此外,8251A在在异步方式下能自动为每个输出数据增加异步方式下能自动为每个输出数据增加1个起始个起始位,并能根据软件编程为每个输出数据增加位,并能根据软件编程为每个输出数据增加1个、个、1.5个或个或2个停止位。个停止位。 8251A能进行出错检测,它具有奇偶错能进行出错检测,它具有奇偶错、溢出和帧溢出和帧错误等检测电路。用户可通过输入状态寄存器内错误等检测电路。用户可通过输入状态寄存器内容进行查询。容进行查询。1928251A的逻辑结构及工作原理的逻辑结构及工作原理 8251A逻辑结构逻辑结构20 8251A内部工

12、作原理方框图内部工作原理方框图211)接收器)接收器 8251A工作于异步方式工作于异步方式 在准备好接收数据时,即开始监视在准备好接收数据时,即开始监视RXD。无字符传送无字符传送时,时,RXD为高电平。当为高电平。当RXD上出现了低电平时,认为它是上出现了低电平时,认为它是一帧信息的起始位,同时起动一个内部计数器,当计数到一帧信息的起始位,同时起动一个内部计数器,当计数到一个数据位宽度一半时(若时钟脉冲频率为波特率的一个数据位宽度一半时(若时钟脉冲频率为波特率的16倍,倍,则为计数到第则为计数到第8个脉冲),又重新采样个脉冲),又重新采样RXD线,若仍为低线,若仍为低电平,则确认它就是起始

13、位,而不是噪声信号。此后,每电平,则确认它就是起始位,而不是噪声信号。此后,每隔隔16个时钟脉冲采样一次个时钟脉冲采样一次RXD线,将采样结果送到移位寄线,将采样结果送到移位寄存器。经移位寄存器处理,再经过奇偶校验并去掉停止位存器。经移位寄存器处理,再经过奇偶校验并去掉停止位后,就变成了并行数据。此数据经后,就变成了并行数据。此数据经8251A内部数据总线送内部数据总线送至数据输入缓冲器,同时发出至数据输入缓冲器,同时发出RXRDY信号,告知信号,告知CPU已已经接收到一个数据。经接收到一个数据。 228251A工作于同步方式。工作于同步方式。 首先搜索同步字符。分为内同步和外同步方式。首先搜

14、索同步字符。分为内同步和外同步方式。 内同步方式下,内同步方式下,8251A通过监测通过监测RXD线,来搜索同步线,来搜索同步字符。每当字符。每当RXD出现一个数位就把它接收下来,并把它送出现一个数位就把它接收下来,并把它送入移位寄存器移位。直到接收一个完整字符后,即与同步入移位寄存器移位。直到接收一个完整字符后,即与同步字符寄存器内容相比较。若不相等,还要重复上述操作,字符寄存器内容相比较。若不相等,还要重复上述操作,继续搜索同步字符。若相等,则说明继续搜索同步字符。若相等,则说明8251A搜索到同步字搜索到同步字符了。此时,如果符了。此时,如果8251A被编程设定为采用一个同步字符被编程设

15、定为采用一个同步字符方式,方式,8251A的的SYNDET引脚就升为高电平,以示同步已引脚就升为高电平,以示同步已经实现。如果是采用双同步字符方式,那么只有连续接收经实现。如果是采用双同步字符方式,那么只有连续接收到两个约定的同步字符,才认为实现了同步。到两个约定的同步字符,才认为实现了同步。 23 外同步方式下,由其它设备在其外同步方式下,由其它设备在其SYNDET引脚(此时引脚(此时为同步输入)加一个高电平实现同步。为同步输入)加一个高电平实现同步。SYNDET引脚一出引脚一出现高电平,现高电平,8251A就会立即脱离对同步字符的搜索过程,就会立即脱离对同步字符的搜索过程,只要此高电平能维

16、持一个接收时钟周期的时间,只要此高电平能维持一个接收时钟周期的时间,8251A便便认为已经实现同步了。认为已经实现同步了。 8251A实现同步后,接收器利用时钟信号对实现同步后,接收器利用时钟信号对RXD线进线进行采样,并把接收到的数据位送到移位寄存器中。每当接行采样,并把接收到的数据位送到移位寄存器中。每当接收到的数据位够一个字符的数位时,就把移位寄存器内容收到的数据位够一个字符的数位时,就把移位寄存器内容送至接收数据输入缓冲寄存器,同时发出送至接收数据输入缓冲寄存器,同时发出RXRDY准备好信准备好信号。号。242)发送器)发送器 接收接收CPU输出的并行数据,通过发送移位寄存输出的并行数

17、据,通过发送移位寄存器,串行从器,串行从TXD引脚输出。引脚输出。 在异步方式下,发送器为每一个字符自动加上在异步方式下,发送器为每一个字符自动加上1个起始位,并且按照编程要求加上奇个起始位,并且按照编程要求加上奇/偶校验位以偶校验位以及及1个、个、1.5个或者个或者2个停止位。起始位、数据位、校个停止位。起始位、数据位、校验位、停止位总是在发送时钟验位、停止位总是在发送时钟TXC的下降沿从的下降沿从8251A发出,数据传输的波特率可以是发送时钟频发出,数据传输的波特率可以是发送时钟频率的率的1、1/16或者或者1/64,具体取决于初始化编程时方,具体取决于初始化编程时方式选择字中的波特率因子

18、。式选择字中的波特率因子。 25 在同步方式下,发送器在发送数据前,依据初在同步方式下,发送器在发送数据前,依据初始化编程时的设定插入一个或两个同步字符,然后始化编程时的设定插入一个或两个同步字符,然后发送数据块。而在数据块中,除了插入初始化编程发送数据块。而在数据块中,除了插入初始化编程时设定的奇偶校验位外,不再插入别的位。当时设定的奇偶校验位外,不再插入别的位。当8251A正在发送数据,而正在发送数据,而CPU却来不及提供新数据时,却来不及提供新数据时,8251A发送器会自动插入同步字符在发送器会自动插入同步字符在TXD端发出,因端发出,因为在同步方式时被传送的字符间不允许存在间隙。为在同

19、步方式时被传送的字符间不允许存在间隙。26发送器的另一个功能是发送器的另一个功能是发送中止字符发送中止字符(BREAK)。)。中止字符是由在通信线上的连续低电平信号组成。只中止字符是由在通信线上的连续低电平信号组成。只要要8251A的命令寄存器的的命令寄存器的Bit3为为“1”,发送器就始终,发送器就始终发送中止字符。发送中止字符。 273. 8251A的接口信号的接口信号 E28 8251A与与CPU接口信号接口信号 1)片选信号)片选信号 2)数据信号)数据信号D7D0 3)读)读/写控制信号写控制信号 RD读信号读信号 WR写信号写信号 C/D控制控制/数据信号,是数据信号,是CPU送往

20、送往8251A的信号,的信号,区分当前读区分当前读/写的是数据、控制还是状态写的是数据、控制还是状态信息。即当为高电平时,传送的是控制信信息。即当为高电平时,传送的是控制信息(写过程)或者状态信息(读过程);息(写过程)或者状态信息(读过程);为低电平时,传送的是数据信息。为低电平时,传送的是数据信息。 29 4)收发联络信号)收发联络信号 TXRDY发送器准备好信号发送器准备好信号。通知。通知CPU,8251A已准已准备好发送一个字符。备好发送一个字符。 若若TXRDY为高电平,为高电平,CPU可输出一个数据至可输出一个数据至8251A。 实际使用中,若实际使用中,若8251A和和CPU之间

21、采用中断方式,则之间采用中断方式,则TXRDY可作为中断请求信号;若可作为中断请求信号;若8251A和和CPU之间采之间采用查询方式,则用查询方式,则TXRDY可作为一状态信号。不论是用可作为一状态信号。不论是用中断方式还是查询方式,当中断方式还是查询方式,当8251A收到来自收到来自CPU的一的一个数据后,个数据后, TXRDY信号变为低电平。信号变为低电平。30 TXE 发送器空信号,高电平有效发送器空信号,高电平有效 8251A完成一个数据发送过程后,发送器空信号完成一个数据发送过程后,发送器空信号变为高电平。变为高电平。 当当8251A从从CPU得到一个数据时,得到一个数据时, TXE

22、 变为低变为低电平。在同步方式下,因电平。在同步方式下,因不允许传送字符(数据)间不允许传送字符(数据)间有空隙,若有空隙,若CPU来不及向来不及向8251A中输出字符(数据),中输出字符(数据),此时此时TXE将变为高电平,发送器自动地在输出线上插将变为高电平,发送器自动地在输出线上插入同步字符,从而填补传输间隙。入同步字符,从而填补传输间隙。31RXRDY 接收器准备好信号,高电平有效接收器准备好信号,高电平有效 表示当前表示当前8251A已经从外部设备或调制解调器已经从外部设备或调制解调器上接收到了一个字符,正等待上接收到了一个字符,正等待CPU输入。此信号在输入。此信号在中断传送方式下

23、,可以作为中断请求信号;在查询中断传送方式下,可以作为中断请求信号;在查询传送方式下,可以作为状态信号供传送方式下,可以作为状态信号供CPU查询。当查询。当CPU从从8251A处输入一个字符后,处输入一个字符后, RXRDY Y变为变为低电平。低电平。 32SYNDET同步检测信号,只用于同步方式。同步检测信号,只用于同步方式。 在内同步方式下,作为输出端,在在内同步方式下,作为输出端,在CPU执行一次执行一次读操作后,变为低电平。读操作后,变为低电平。 在外同步方式下,作为输入端,电平信号取决于在外同步方式下,作为输入端,电平信号取决于外部启动信号。外部启动信号。 在复位时,在复位时,SYN

24、DET变为低电平。变为低电平。 33 8251A与外部装置之间的接口信号与外部装置之间的接口信号1)数据信号)数据信号 TXD发送数据信号端。发送数据信号端。CPU送往送往8251A的并行数的并行数据,在据,在8251A内部转变为串行数据后,通过内部转变为串行数据后,通过TXD端输出。端输出。 RXD 接收数据信号端。接收数据信号端。RXD用来接收外部装置用来接收外部装置通过传输线送来的串行数据,数据进入通过传输线送来的串行数据,数据进入8251A后后被变换成并行数据,供被变换成并行数据,供CPU输入。输入。 342)收发联络信号)收发联络信号 DTR数据终端准备好信号。这是数据终端准备好信号

25、。这是8251A送往外设送往外设的输出信号,低电平有效。用以表示的输出信号,低电平有效。用以表示CPU已经准备已经准备好接收数据,可通过对好接收数据,可通过对8251A的初始化编程使其变的初始化编程使其变为有效。为有效。 DSR数据装置准备好信号。这是一个来自外设的数据装置准备好信号。这是一个来自外设的输入信号,低电平有效,表示外设已经准备好发送输入信号,低电平有效,表示外设已经准备好发送数据。数据。CPU可通过读取可通过读取8251A的状态寄存器内容,的状态寄存器内容,在状态寄存器的在状态寄存器的Bit7检测到该信号。检测到该信号。35 RTS请求发送信号。由请求发送信号。由8251A送往外

26、设的信号,送往外设的信号,低电平有效。低电平有效。CPU可以通过对可以通过对8251A的编程使其的编程使其有效,以表示有效,以表示CPU已经准备好发送数据。已经准备好发送数据。 CTS清除发送信号。来自外设的输入信号,低电清除发送信号。来自外设的输入信号,低电平有效。这是调制器或外设对平有效。这是调制器或外设对RTS的响应信号,的响应信号,当其有效时当其有效时8251A才能执行发送操作。才能执行发送操作。363)时钟信号)时钟信号CLK8251A内部工作时钟信号内部工作时钟信号 RXC接收器时钟信号,输入。此时钟信号控制接收器时钟信号,输入。此时钟信号控制8251A接收器接收字符的速度。接收器

27、接收字符的速度。 在同步方式下,等于接收数据的波特率。在异步方在同步方式下,等于接收数据的波特率。在异步方式,可以取波特率的式,可以取波特率的1、16或或64倍,在倍,在8251A初始初始化时由波特率系数指明化时由波特率系数指明 TXC发送器时钟信号,输入。此时钟信号控制发送器时钟信号,输入。此时钟信号控制8251A发送器发送字符的速度。频率和波特率之发送器发送字符的速度。频率和波特率之间的关系与间的关系与RXC相同相同 3748251A的编程的编程 (1)芯片复位后,向其奇地址端口(芯片复位后,向其奇地址端口(C/D=1)写入方式写入方式 选择控制字。选择控制字。(2)如果在同步方式,向其奇

28、地址端口(如果在同步方式,向其奇地址端口( C/D =1)再)再 写入写入1个或者个或者2个字节的同步字符。个字节的同步字符。 (3)不论是同步方式还是异步方式,均应向其奇地址不论是同步方式还是异步方式,均应向其奇地址端端 口(口( C/D =1 )写入操作命令控制字,)写入操作命令控制字,38为为8251A初始化编程流程图初始化编程流程图 39 方式选择控制字方式选择控制字505240例例1 有一有一8251A芯片用于异步串行通信,要求波特率芯片用于异步串行通信,要求波特率系数为系数为16,字符长度为,字符长度为7位,偶校验,位,偶校验,2个停止位。个停止位。此时的方式选择控制字应为:此时的

29、方式选择控制字应为:11111010B=FAH例例2 将将8251A用于同步通信接口,且要求内同步、用于同步通信接口,且要求内同步、2个同步字符、字符长度为个同步字符、字符长度为7位、偶校验。位、偶校验。 其方式选择控制字应为:其方式选择控制字应为:00111000B=38H41(2)操作命令控制字)操作命令控制字 5052DTR位是数据终端准备好位。位是数据终端准备好位。DTR1,表示表示CPU已准备好接收数据,这时已准备好接收数据,这时DTR引线端输引线端输出有效。出有效。RXE位是允许接收位。位是允许接收位。RXE1,接收器才能接收器才能通过通过RXD线从外部串行接收数据。线从外部串行接

30、收数据。SBRK位是发送断缺字符位。位是发送断缺字符位。SBRK1,通过通过TXD线一直发送线一直发送“0”信号。正常通信过程中信号。正常通信过程中SBRK位应保持为位应保持为“0”。43ER位是清除错误标志位。位是清除错误标志位。8251A设置有设置有3个个出错标志,分别是奇偶校验标志出错标志,分别是奇偶校验标志PE,越越界错误标志界错误标志OE和帧校验错标志和帧校验错标志FE。ER1时将时将PE,OE和和FE标志同时清标志同时清“0”。RTS位是请求发送信号。位是请求发送信号。RTS1,迫使迫使8251A输出输出RTS有效,表示有效,表示CPU已作好发已作好发送数据准备,请求向调制送数据准

31、备,请求向调制/解调器或外部解调器或外部设备发送数据。设备发送数据。IR位是内部复位信号。位是内部复位信号。IR1,迫使迫使8251A回回到接收方式选择控制字的状态。到接收方式选择控制字的状态。EH位为跟踪方式位。位为跟踪方式位。EH位只对同步方式有效,位只对同步方式有效,EH1,表示开始搜索同步字符,因此对于同表示开始搜索同步字符,因此对于同步方式,一旦允许接收步方式,一旦允许接收(RXE1),必须同时使必须同时使EH1,并且使并且使ER1,清除全部错误标志,清除全部错误标志,才能开始搜索同步字符。从此以后所有写入的才能开始搜索同步字符。从此以后所有写入的8251A的控制字都是操作命令控制字

32、。只有外的控制字都是操作命令控制字。只有外部复位命令部复位命令RESET1或内部复位命令或内部复位命令IR1才能使才能使8251A回到接收方式选择命令字状态。回到接收方式选择命令字状态。45 对于对于8251A芯片,在通过方式选择控制字,规芯片,在通过方式选择控制字,规定了其工作方式之后,可以根据对定了其工作方式之后,可以根据对8251A工作状态的工作状态的不同要求,随时向其奇地址端口写入操作命令控制不同要求,随时向其奇地址端口写入操作命令控制字。字。 若要改变若要改变8251A工作方式,则必须先使工作方式,则必须先使8251A芯芯片复位。操作命令控制字为片复位。操作命令控制字为40H时,表示

33、是内部复位时,表示是内部复位命令。只要把命令。只要把40H输出到输出到8251A奇地址端口,奇地址端口,8251A芯片即被复位。之后,又可重新向芯片即被复位。之后,又可重新向8251A写入方式选写入方式选择控制字,规定其新的工作方式。择控制字,规定其新的工作方式。46(3) 状态寄存器格式状态寄存器格式 通过读取通过读取8251A奇地址端口,可获得其状态字。奇地址端口,可获得其状态字。PE是奇偶错标志位。是奇偶错标志位。PE1表示当前产生了奇偶错。表示当前产生了奇偶错。它不中止它不中止8251A的工作。的工作。OE是溢出错标志位。是溢出错标志位。OE1,表示当前产生了溢出表示当前产生了溢出错,

34、错,CPU没有来得及将上一字符读走,下一字符又没有来得及将上一字符读走,下一字符又来到来到RXD端,它不中止端,它不中止8251A继续接收下一字符,继续接收下一字符,但上一字符将被丢失。但上一字符将被丢失。FE是帧校验错标志位。是帧校验错标志位。FE只对异步方式有效。只对异步方式有效。FE1,表示未检测到停止位,不中止表示未检测到停止位,不中止8251A工作。工作。上述上述3个标志允许用操作命令控制字中的个标志允许用操作命令控制字中的ER位复位。位复位。48TXRDY位是发送准备好标志,它与引脚端位是发送准备好标志,它与引脚端TXRDY的意义有些区别。的意义有些区别。TXRDY状态标状态标志为

35、志为“1”只反映当前发送数据缓冲存储器只反映当前发送数据缓冲存储器已已空,而空,而TXRDY引脚端为引脚端为“1”,除发送数据,除发送数据缓冲存储器已空外,还有两个附加条件是缓冲存储器已空外,还有两个附加条件是CTS0和和TXEN1。在数据发送过程中,上面两者总是相同,通常在数据发送过程中,上面两者总是相同,通常TXRDY状态位供状态位供CPU查询,查询,TXRDY引引脚脚端端可用作向可用作向CPU发出的中断请求信号。发出的中断请求信号。RXRDY位、位、TXEMPTY位和位和SYNDET/BRKDET位与同名引脚端的状态完位与同名引脚端的状态完全相同,可供全相同,可供CPU查询。查询。DSR

36、是数据装置准备好位。是数据装置准备好位。DSR1,表示外表示外部设备或调制部设备或调制/解调器已准备好发送数据,这解调器已准备好发送数据,这时输入引脚端时输入引脚端DSR有效。有效。5058251A初始化编程及应用举例初始化编程及应用举例 异步方式下的初始化编程异步方式下的初始化编程 设在某设在某8086系统中有一片系统中有一片8251A,其占用的端口其占用的端口地址分别为地址分别为1A0H和和1A2H,并要求其工作方式选择为:并要求其工作方式选择为:异步通信异步通信,字符用字符用7位二进制数表示位二进制数表示,偶校验偶校验,2个停止位个停止位,波特率系数为波特率系数为16。 对其工作状态的要

37、求是:复位出错标志,将请求对其工作状态的要求是:复位出错标志,将请求发送信号置于有效电平,使数据终端准备好信号有效,发送信号置于有效电平,使数据终端准备好信号有效,发送允许发送允许TxEN有效,接收允许有效,接收允许RxE有效。有效。 方式选择控制字应该为方式选择控制字应该为11111010B(FAH) 操作命令控制字应该为操作命令控制字应该为00110111B(37H) 394151 初始化编程如下:初始化编程如下: MOV DX,1A2H MOV AL,0FAH OUT DX,AL ; 设置工作方式设置工作方式 MOV AL,37H OUT DX,AL ; 设置工作状态设置工作状态52(2

38、)同步方式下的初始化编程)同步方式下的初始化编程 设某设某8251A芯片端口地址分别为芯片端口地址分别为1A0H和和1A2H。要求其工作方式为:同步方式、内同步、两个同步字要求其工作方式为:同步方式、内同步、两个同步字符、偶校验、每个字符符、偶校验、每个字符7位。并设第一个同步字符为位。并设第一个同步字符为EFH,第二个同步字符为第二个同步字符为EEH(注意:两上同步字符注意:两上同步字符可以相同,也可以不同)。要求其工作状态是:复位可以相同,也可以不同)。要求其工作状态是:复位出错标志,启动发送器和接收器,当前出错标志,启动发送器和接收器,当前CPU已经准备已经准备好且请求发送。假设要改变好

39、且请求发送。假设要改变8251A的工作方式,即原的工作方式,即原来来8251A已经工作于其它方式。已经工作于其它方式。 方式选择控制字应为方式选择控制字应为00111000B(38H) 操作命令控制字应为操作命令控制字应为10110111B(B7H)394153 方式选择控制字应为方式选择控制字应为38H,其操作命令控制字应为其操作命令控制字应为B7H。 初始化程序段如下:初始化程序段如下: MOV DX,1A2H MOV AL,40H OUT DX,AL ;复位复位8251A MOV AL,38H OUT DX,AL;写入方式选择控制字,规定其工作方式写入方式选择控制字,规定其工作方式 MO

40、V AL,0EFH OUT DX,AL ;写入第一个同步字符写入第一个同步字符 MOV AL,0EEH OUT DX,AL ;写入第二个同步字符写入第二个同步字符 MOV AL,0B7H OUT DX,AL ;写入操作命令控制字,设置其工作状态写入操作命令控制字,设置其工作状态54 使用使用8251A状态字进行编程状态字进行编程 8251A工作于异步方式,工作于异步方式,7个数据位,个数据位,1.5个停止位,个停止位,奇校验,波特率系数为奇校验,波特率系数为64。其数据端口地址为。其数据端口地址为A0H,控控制端口地址为制端口地址为A2H。 本例中,假设本例中,假设CPU通过通过8251A完成

41、完成100个字节的输入。个字节的输入。 MOV AL,9BH OUT 0A2H,AL ;写入异步方式选择字写入异步方式选择字 MOV AL,37H OUT 0A2H,AL ;写入命令指令字写入命令指令字 MOV BX,BUFPTR ;设缓冲区首址放在设缓冲区首址放在BUFPTR MOV DI,0 ;变址寄存器清变址寄存器清0 MOV CX,0064H ;设置计数器值设置计数器值10055LP1:IN AL,0A2H ;输入状态字送输入状态字送AL TEST AL,02H ;测试状态字第测试状态字第2位,即位,即RXRDY JZ LP1 ;若若8251A未收到字符,则重新取状态字未收到字符,则重新取状态字 IN AL,0A0H ;若若RXRDY有效,则从数据口输入数据有效,则从数据口输入数据 MOV BX+DI,AL ;将接收到的字符送入缓冲区将接收到的字符送入缓冲区 INC DI ;缓冲区指针下移一个单元缓冲区指针下移一个单元 IN AL,0A2H ;再读入状态字再读入状态字 TEST AL,38H ;测试有无三种错误测试有无三种错误 JNZ ERROR ;若有错,转错误处理程序若有错,转错误处理程序ERROR LOOP LP

温馨提示

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

评论

0/150

提交评论