第十章 串行通信接口技术_第1页
第十章 串行通信接口技术_第2页
第十章 串行通信接口技术_第3页
第十章 串行通信接口技术_第4页
第十章 串行通信接口技术_第5页
已阅读5页,还剩138页未读 继续免费阅读

下载本文档

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

文档简介

1、l教学重点 异步通信协议和RS232C接口 8251的内部结构和编程 异步通信程序第十章第十章 串行通信接口技术串行通信接口技术10.1 串行通信基础串行通信基础l串行通信:用一根信号线将数据逐位顺序传送l串行通信的优势:通信线路少,在远距离通信时可以极大地降低成本;适合于远距离数据传送,也常用于速度要求不高的近距离数据传送lPC系列机上有两个串行异步通信接口,键盘/鼠标器/显示器与主机间亦采用串行数据传送。1. 同步通信同步通信通信双方使用同一时钟通信双方使用同一时钟以数据块(帧)为传输单位双方使用同一时钟(主控方提供时钟,被控方接收时钟)外同步:时钟信号另外安排一根传输线自同步:发送时将时

2、钟信号与数据混合编码,接收时译码出时钟数据格式:每个数据块前加12个同步字符(同步头)进行帧同步,一般采用CRC循环冗余校验码串行通信的种类:串行通信的种类:l同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂l串行同步通信主要应用在网络当中,最常使用的同步通信协议有高级数据链路控制协议(HDLC)同步字符同步字符数据数据 数据数据数据数据校验校验同步字符同步字符同步通信的数据格式同步通信的数据格式同步字符同步字符数据数据同步字符同步字符1 1 同步字符同步字符2 2CRC 1数据数据CRC 2CRC 1CRC 2单同步格式单同步格式双同步格式双同步格式标志符标志符01111110地址符

3、地址符8位位数据数据CRC 1 CRC 2 SDLC格式格式标志符标志符01111110数据数据CRC 1 CRC 2外同步格式外同步格式标志符标志符01111110地址符地址符8位位控制符控制符8位位数据信息数据信息CRC 1 CRC 2标志符标志符01111110 HDLC格式格式l1.单同步和双同步(又称为内同步)l单同步和双同步信息格式中的同步字符是由用户确定的。选择一个特殊的8位二进制码作为同步字符(单)l选择两个特殊的8位二进制码作为同步字符(双同步)这一个或两个同步字符作为一帧的开始,全帧包括多个字符。l l2.外同步l外同步与单同步、双同步的差别在于数据块前面没有同步字符,而是

4、用数据块外的同步信号表示数据传送开始。l3.SDLC(同步数据链)l是以01111110作为标志符,作为数据块传送起始和结束标志,跟在起始标志符之后的第二字节是一个8位地址符,接收器将收到的地址符同已存入的地址符相比较,相同,就接收数据。2. 异步通信异步通信通信双方使用各自的时钟通信双方使用各自的时钟l串行通信时的数据、控制和状态信息都使用同一根信号线传送l收发双方必须遵守共同的通信协议(通信规程):l传送速率l信息格式l位同步l帧同步l数据校验l错误处理l串行异步通信以字符为单位进行传输l数据格式:起止式异步通信协议起止式异步通信协议起止式异步通信协议起始位每个字符开始传送的标志,起始位采

5、用逻辑0电平起始位起始位附加位附加位停止位停止位空闲位空闲位数据位数据位低位低位高位高位字符字符0/10/1 0/10/10/10/10/10/11 10 01 11 11 1数据位数据位数据位紧跟着起始位传送。数据位紧跟着起始位传送。由由58个二进制位组成,低位先传送个二进制位组成,低位先传送附加位附加位该位可用于校验或数据标识:该位可用于校验或数据标识:可选择奇检验、偶校验或无校验位可选择奇检验、偶校验或无校验位停止位停止位表示该字符传送结束。停止表示该字符传送结束。停止位为逻辑位为逻辑1电平,可选择电平,可选择1、1.5、2位。位。空闲位空闲位传送字符之间的逻辑传送字符之间的逻辑1电平,

6、电平,表示没有进行传送表示没有进行传送l 要传送一个字符K,若数据格式约定为:字符K用7位ASCII码表示,1位偶校验位,1位起始位,则异步方式传送字符K时,在串行传输线上的波形如下图所示,将其写成ASCII码,即把它的最低有效位写在右边时为1001011=4B。0 1 1 0 1 0 0 1 0 1起始位偶校验停止位字符字符K的传输波形的传输波形数据传输速率数据传输速率l数据传输速率也称比特率(Bit Rate)l每秒传输的二进制位数bpsl字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数l当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(Baud Rate)l过去

7、,串行通信(异步)的数据传输速率限制在50 bps到9600 bps之间。l现在,串行通信可以达到115200 bps或更高(1)波特率波特率 例1.设一个串行字符由1位起始位、7位数据位,1位奇偶校验位和1位停止位构成,每秒钟传送120个字符,则数据传送的波特率为: 10位/字符120字符/S=120位/S=1200波特传送每位信息所占用的时间为:1S/1200=0.833ms 设同步传送的传输率也为1200波特,用4个同步字符作为信息帧头部,字符中不设奇偶校验位,被传送的字符和同步字符均为7位,那么传送100个字符所用的时间为7(4+100)/1200=0.6067秒。这就是说每秒的字符数

8、可达100/0.6067=165个。可见,在相同的传输速率下,同步传输的实际字符要比异步高。 (2)发送/接收时钟 在异步串行中,发送端需要用一定频率的时钟来决定发送每一个数据所占的时间长度(称为位宽度),接收端也要用一定的频率的时钟来测定每一位输入数据的位宽度。在异步通信中,总是根据数据传输的波特率来确定收/发时钟的频率。通常,收/发时钟的频率总是取位传输率(即波特率)的16倍、32倍或64倍,这有利于在位信号的中间对每位数据进行采样减少读数错误。 收/发时钟频率与波特率间的关系:收/发时钟频率=n波特率收/发波特率=收/发时钟/n (其中 n=1,16,64) 式中n叫波特率系数或波特率因

9、子,它的取值可为1,16,32或64。 但对可编程串行接口芯片8251A来说,n不能取32,只能取1,16或64。由上可知,在实际应用中,可根据所需要的传输波特率和选取的波特率因子n来确定收/发时钟的频率。例:若要求传输速率为2400波特,则: 当取n=1时,收/发时钟频率为2.4KHz 当取n=16时,收/发时钟频率为38.4KHz 当取n=64时,收/发时钟频率为153.6KHz例:例:一个异步串行发送器,发送具有一个异步串行发送器,发送具有8位数据位的字符,位数据位的字符,在系统中使用一个奇偶校验位和两个停止位。若每秒发在系统中使用一个奇偶校验位和两个停止位。若每秒发送送100个字符,则

10、其波特率为多少个字符,则其波特率为多少 ?100*(1+8+1+2)=1200 bps例:例:一个异步串行发送器,发送具有一个异步串行发送器,发送具有7位数据位的字符位数据位的字符, ,传送波特传送波特率为率为18001800,字符格式为:,字符格式为:1 1个奇偶校验位,个奇偶校验位,1 1个停止位,问,十秒个停止位,问,十秒钟内传送了多少个字符钟内传送了多少个字符? ? 10 * 1800/(1+7+1+1) = 180000/1 0/10/11 1 起始位起始位数据位数据位校验位校验位 停止位停止位一个字符一个字符格式格式3. 传输制式单工单工发送发送接收接收TXDRXD单线通信单线通信

11、单向数据流单向数据流半双工半双工发发送送接接收收发发送送接接收收TXD / RXD单线通信单线通信分时双向数据流分时双向数据流全双工全双工发送发送接收接收发送发送接收接收TXDTXDRXDRXD 双线通信双线通信各线单向,双向各线单向,双向数据流数据流4. 远距离传输和调制解调器远距离传输和调制解调器l串行数据的远传l利用电话线和声频信号调制/解调l调制(Modulating)和解调(Demodulating)l把数字信号转换为电话线路上可传送的模拟信号将电话线路上的模拟信号转换为数字信号l调制解调器(MODEM)l具有调制和解调功能的联合装置l计算机串行通信是一种数字“0”和“1”的通信。l

12、它要求信号传输介质具有较宽的通频带,而远距离串行通信经常它要求信号传输介质具有较宽的通频带,而远距离串行通信经常借用电话线作为传输介质,电话线频带较窄,约在借用电话线作为传输介质,电话线频带较窄,约在303000Hz之之间,如下图所示。当数字信号直接通过电话线传送时,在间,如下图所示。当数字信号直接通过电话线传送时,在303000Hz之外的部分信号丢失,造成严重的信号畸变。之外的部分信号丢失,造成严重的信号畸变。fK303000电话线频带图电话线频带图 根据载波根据载波 Asin( t + ) 的三个参数:幅度、频率、相位,产生的三个参数:幅度、频率、相位,产生常用的三种调制技术:常用的三种调

13、制技术: 幅移键控法幅移键控法 Amplitude-Shift Keying (ASK) 频移键控法频移键控法 Frequency-Shift Keying (FSK) 相移键控法相移键控法 Phase-Shift Keying (PSK) ASK (又称为调幅又称为调幅) 用载波信号的不同幅度代表用载波信号的不同幅度代表1和和0FSK (又称为调频又称为调频) 用载波信号的不同频率代表用载波信号的不同频率代表1和和0PSK (又称为调相又称为调相) 用载波信号的相位变化代表用载波信号的相位变化代表1和和0(有变化为有变化为1)5. 数据校验方式 串行通信一般要检测传输过程中是否有错误出现。在

14、基本串行通信一般要检测传输过程中是否有错误出现。在基本通信规程中常采用奇偶校验或校验和的块校验方法,在高级通信规程中常采用奇偶校验或校验和的块校验方法,在高级通信控制规程中一般采用循环冗余码(通信控制规程中一般采用循环冗余码(CRC)校验校验奇偶校验奇偶校验是以字符为单位进行校验是以字符为单位进行校验在发送时,在每一个字符的最高位后都附加一个奇偶校验位,在发送时,在每一个字符的最高位后都附加一个奇偶校验位,这个校验位可以为这个校验位可以为1或或0,加上这个校验位之后使发送的字符,加上这个校验位之后使发送的字符和校验位合在一起和校验位合在一起“1”的个数为奇数的个数为奇数(奇校验奇校验)或偶数或

15、偶数(偶校验偶校验)例:例:采用偶校验,发送字符为采用偶校验,发送字符为1101101,则校验位为,则校验位为1,保证,保证发送的字符和校验位合在一起发送的字符和校验位合在一起“1”的个数为偶数的个数为偶数在接收时,检查所接收的字符连同这个奇偶校验位,其为在接收时,检查所接收的字符连同这个奇偶校验位,其为“1”的个数是不是符合规定,若不符合规定就发出奇偶出错的个数是不是符合规定,若不符合规定就发出奇偶出错信息,供信息,供CPU处理。处理。 校验和(校验和(BCC)是块校验方法,是一种较简单的在微型计是块校验方法,是一种较简单的在微型计算机领域中使用的校验方法算机领域中使用的校验方法一块数据的校

16、验和是一个一块数据的校验和是一个8位的字节,它与该块数据一起传送位的字节,它与该块数据一起传送到接收端,接收端重新计算接收到的数据块的校验和,若该到接收端,接收端重新计算接收到的数据块的校验和,若该校验和与发送端送来的校验和不一样,则表明该数据在传送校验和与发送端送来的校验和不一样,则表明该数据在传送过程中出错过程中出错循环冗余校验循环冗余校验CRC以数据块以数据块(帧帧, Frame)为单位进行校验为单位进行校验 编码思想:将编码思想:将数据块构成的数据块构成的位串看成是系数为位串看成是系数为0或或1的多项的多项式式 如如110001,可表示成多项式,可表示成多项式 x5 + x4 + 1

17、数据块构成的数据块构成的多项式除以另一个多项式多项式除以另一个多项式G(x),得到的余数多得到的余数多项式项式 R(x)就称为就称为CRC码,而码,而G(x)则称为生成多项式。则称为生成多项式。 串行接口芯片串行接口芯片UART和和USARTUART:串行通用异步收发器。串行通用异步收发器。USART:串行通用异步串行通用异步/同步收发器。同步收发器。lUARTUniversal Asynchronous Receiver/Transmitter异步收发器功能接收异步串行输入码并将其转换为并行码并将CPU的并行码转换为串行码输出UART的的结构结构v在串行通信控制电路中,串在串行通信控制电路中

18、,串-并、并并、并-串转换逻辑串转换逻辑被集被集成成在串行异步通信控制器芯片中。在串行异步通信控制器芯片中。 两个通信设备在串行线路上成功地实现通信必须解决两个问题:两个通信设备在串行线路上成功地实现通信必须解决两个问题: 一是一是串串并转换并转换,即如何把要发送的并行数据串行化,把,即如何把要发送的并行数据串行化,把接收的串行数据并行化;接收的串行数据并行化; 二是二是设备同步设备同步,即同步发送设备与接收设备的工作节拍,以,即同步发送设备与接收设备的工作节拍,以确保发送数据在接收端被正确读出。确保发送数据在接收端被正确读出。l在计算机串行发送数据之前,计算机内部的并行数据被送入移位在计算机

19、串行发送数据之前,计算机内部的并行数据被送入移位寄存器并一位一位地输出,将并行数据转换成串行数据。寄存器并一位一位地输出,将并行数据转换成串行数据。l在接收数据时,来自通信线路的串行数据被压入移位寄存器,满在接收数据时,来自通信线路的串行数据被压入移位寄存器,满8位后并行送到计算机内部。位后并行送到计算机内部。串行接口原理l外部时钟和接收数据的同步外部时钟和接收数据的同步串行接口原理奇偶错溢出错帧格式错RxDRxCTxDTxC控制控制电路电路RESETWERDCSINTPEOEFEDB7 DB0Transmit Buf EmptyReceive Data ReadyRDRTBE接 收 移位 寄

20、 存 器接 收 数据 缓 冲 器发 送 数据 缓 冲 器发 送 移位 寄 存 器lUART中设立的各种出错标志中设立的各种出错标志奇偶错误(奇偶错误(Parity error)字符的字符的“1”的个数的个数帧错误(帧错误(Frame error)如缺少停止位等如缺少停止位等 溢出(丢失)错误(溢出(丢失)错误(Overrun error)接收接收/发送缓存数据丢失发送缓存数据丢失串行通信接口电路需要解决的问题串行通信接口电路需要解决的问题怎样才能知道数据传输的开始和结束? 可用数据格式化,如异步帧格式或同步帧格式。 怎样判断所接收数据的正确性? 可采用检纠错方法,如奇偶校验或CRC。 如何进行

21、传输速度控制? 可采用波特率发生器。 串行通信接口电路需要解决的问题串行通信接口电路需要解决的问题如何进行通信双方的外部连接?可采用串行通信接口标准,如RS232C或RS485。 如何进行信号的电平转换与逻辑转换?可采用电平转换器和正负逻辑转换器。 如何进行数据的串/并转换?可采用串/并转换器,如移位寄存器。 实际上,串行接口设计正是围绕这些问题展开的。并且,从硬件和软件两方面来解决这些问题。 10.2 串行接口标准串行接口标准RS-232Cl美国电子工业协会EIA制定的通用标准串行接口l1962年公布,1969年修订l1987年1月正式改名为EIA-232Cl设计目的是用于连接调制解调器l现

22、已成为数据终端设备DTE与数据通信设备DCE的标准接口lDTE数据终端设备,例如计算机lDCE数据通信设备(数传机,例如调制解调器)l可实现远距离通信,也可近距离连接两台微机l属于网络层次结构中的最低层:物理层DTEDCEDCEDTE调制解调器调制解调器调制解调器调制解调器计算机计算机计算机计算机电话线电话线RS-232C接口RS-232C接口RS-232C接口的使用场合10.2.1 RS-232C的引脚定义的引脚定义l232C接口标准使用一个接口标准使用一个25针连接器针连接器l绝大多数设备只使用其中绝大多数设备只使用其中9个信号,所以就有了个信号,所以就有了9针连接器针连接器232C接口信

23、号面向使用调制解调器的串行异步通信。接口信号面向使用调制解调器的串行异步通信。 RS-232C规标准接口有规标准接口有25条线,条线,4条数据线、条数据线、11条控制线、条控制线、3条定时线、条定时线、7条备用和未定义线,常用的只有条备用和未定义线,常用的只有9根。根。 RS-232C的引脚(的引脚(1)lTxD:发送数据(终端数传机)l串行数据的发送端lRxD:接收数据(终端数传机)l串行数据的接收端RS-232C的引脚(的引脚(2)lRTS:请求发送(终端数传机) 当数据终端设备准备好送出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据lCTS:清除发送(允许发送)(终端数

24、传机) 当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号RS-232C的引脚(的引脚(3)lDTR:数据终端准备好(终端数传机)l通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪lDSR:数据装置准备好(终端数传机)l通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收RS-232C的引脚(的引脚(4)lGND:信号地l为所有的信号提供一个公共的参考电平lDCD:载波检

25、测(DCD) (终端数传机)l当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号lRI:振铃指示(终端数传机)l当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效10.2.2 RS-232C的连接的连接l微机利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信l微机利用232C接口直接连接进行短距离通信。这种连接不使用调制解调器,所以被称为零调制解调器(Null Modem)连接连接调制解调器连接调制解调器电话线电话线MODEM微机微机2345678202223456782022MODEM23456782022数据装置准备好数据装

26、置准备好DSR数据终端准备好数据终端准备好DTR发送数据发送数据TxD接收数据接收数据RxD请求发送请求发送RTS允许发送允许发送CTS信号地信号地GND载波检测载波检测DCD振铃指示振铃指示RI微机微机23456782022不使用联络信号的不使用联络信号的3线相连方式线相连方式微机微机TxDRxDGND微机微机为了交换信息,为了交换信息,TxD和和RxD交叉连接,程序交叉连接,程序中不必使中不必使RTS和和DTR有效,也不检测有效,也不检测CTS和和DSR是否有效是否有效 TxDRxD“伪伪”使用联络信号的使用联络信号的3线相连方式线相连方式RTS和和CTS各自互接,各自互接,DTR和和DS

27、R各自互接,各自互接,表明请求传送总是允许、数据装置总准备好表明请求传送总是允许、数据装置总准备好微机微机DSRDTRTxDRxDRTSCTSGND微机微机TxDRxDDSRDTRRTSCTS使用联络信号的多线相连方式使用联络信号的多线相连方式通信比较可靠,所用连线较多,不如通信比较可靠,所用连线较多,不如前者经济前者经济微机微机DSRDTRTxDRxDRTSCTSGND微机微机DSRDTRTxDRxDRTSCTS10.2.3 RS-232C的电气特性的电气特性l232C接口采用EIA电平(负逻辑)l“0” 电平为3V15Vl“1”电平为3V15Vl实际常用12V或15Vn标准标准TTL电平(

28、正逻辑)电平(正逻辑)n“1”电平:电平:2.4V5Vn“0”电平:电平:0V0.8V相互转换相互转换连接器 DB-25型,25脚,用9个信号(2个数据线,6个控制线,1个地线)DB-9型 9针(全用)10.2.4 RS-232C的机械特性的机械特性 10.3 RS-449、RS-422/423和RS-485l10.3.1 RS-449lRS-449是是1977年公布的新串行总线标准年公布的新串行总线标准,与与lRS-232C兼容。兼容。l(1)(1)传送速率高传送速率高, ,可达90Kbps,可不使用可不使用MODEMMODEM。 (2 2)可使用多点或公用线通信,可使用多点或公用线通信,传

29、送距离在1200米。 (3 3)利用信号线之间的信号电压差进行传输,并且躁)利用信号线之间的信号电压差进行传输,并且躁 声低。声低。 (4 4)提供了两种标准连接,一种是)提供了两种标准连接,一种是3737脚,一种是脚,一种是9 9脚脚 以适应不同的需要。以适应不同的需要。10.3.2 RS-422/4231. RS-422 (1)采用平衡式双端线传输信号,即采用了平衡发送器和差动接收器,见下图所示。 (2)传输速度快,传输距离长,最大传输速率可达10Mbps,在此速率下传送可达120米。 (3)当速率降至90Kbps,最大传送距离为1200米。+TTLTTL平衡发送器平衡发送器RS-422R

30、S-422(平衡式平衡式)2.RS-423l采用非平衡式传输,使用单端(非平衡)发送器和l差动接收器,见下图所示。 (1)采用不平衡信号差传输和差动式接收,增加其抗干扰性。 (2)比RS-232C有大的传输距离和更高的传输速度。lRS-423在90米长电缆上传送数据最大速率可达100Kbps,若速率降到11Kbps,则允许电缆长度为1200米。(3)RS-423标准规定:逻辑“1”电平为+200mv+6V 逻辑“0”电平为-200mv-6VRS-423允许在传送线上连接多个接收器,此时 “1”为+4+6V;逻辑“0”为-4-6V无公共地无公共地TTLTTLRS-423单端发送器单端发送器差动接

31、收器差动接收器RS-423(非平衡式)非平衡式)10.3.3 RS-485 RS-485总线标准是对RS-423标准在性能上扩展,它是一种多发送器的串行总线标准。RS-485允许双导线上一个发送器可驱动多达32个负载设备,这些负载设备可以是接收器、被动发送器或收发器。RS-485标准总线的显著特点主要表现在:(1)一个发送器可驱动多个负载设备,特别适合现场测控网络结构应用。 (2)平衡连接电缆应采用屏蔽电缆,电缆的两端点分别接终端电阻。 (3)挂接在平衡电缆上每个设备均要接地,电缆的屏 蔽层要与电缆设备的机壳相连。10.3.4 20mA电流环20mA电流环是一种未正式颁布而又使用十分广泛的串行

32、总线标准。1.20mA电流环的主要特点: (1)20mA电流环使用电流信号的“有”和“无”来表 示逻辑“1”和逻辑“0”。 (2)20mA电流环属串行异步通信接口标准,发送数据时必须以无电流的起始位作为传送字符的起始位。 (3)由于20mA电流通常选用高电压大电阻产生,所以低电阻传输导线对电气躁声不敏感,大大增强了20mA电流环的抗干扰能力,容易实现光电隔离。2.20mA电流环串行接口的实现 实用20mA电流环接口方法见下图所示。TTL输入1234568328+5V+5V56K10050VCC TIL110光偶合器SN74141/275452TTL数据输出20mA电流环接口电路电流环接口电路发

33、送端由SN75452将TTL电平数据转换成20mA环路电流,远距离串行传输线上流过的是20mA电流信号,在接收经光电隔离并转换成TTL电平信号。10.4 可编程串行通信接口8251A8251A8251A的基本性能的基本性能 8251A8251A的基本工作原理的基本工作原理 8251A8251A的对外信号的对外信号 8251A8251A的编程的编程 8251A8251A编程举例编程举例 8251A8251A的使用实例的使用实例 10.4.1 8251A的基本性能 可以工作在同步或异步方式。 在同步方式时,能用5、6、7或8位代表字符能自动检测同步字符允许奇偶校验。在异步方式下能用5、6、7或8位

34、代表字符,用1位作为奇偶校验。能增加1个启动位能增加1个、1.5个或2个停止位。 10.4.2 8251A的基本工作原理 8251A的编程结构 8251A的功能结构 8251A的发送和接收 1.8251A1.8251A的编程结构的编程结构具体编程结构和外部连接如下图具体编程结构和外部连接如下图 28251A的功能结构 接收控制电路的功能: 复位后寻找启动位。消除假启动干扰。对接收到的信息进行奇偶校验。检测停止位。发送控制电路功能:在异步方式下,为数据加上起始位、校验位和停止位。在同步方式下,插入同步字符和校验位。 数据总线缓冲器数据总线缓冲器 数据总线缓冲器是 CPU 与 8251A 之间的数

35、据接口。包含 3 个 8 位的缓冲寄存器:两个寄存器分别用来存放 CPU 向 8251A 读取的数据或状态信息。一个寄存器用来存放 CPU 向 8251A 写入的数据或控制。读写控制逻辑电路读写控制逻辑电路功能:接收WR,写入数据和控制字接收RD,读取数据或状态字接收C/D 控制/数据信号,双功能信号。C/D=0,选择8251A数据端口C/D=1,选择8251A控制端口接收CLK,完成内部定时。接收RESET,使 8251A 处于空闲状态。图图8-49 8251A的内部结构的内部结构 发送器发送器 发送器由发送器由 发送缓冲器发送缓冲器 和和 发送控制电路发送控制电路 两部分两部分 组成。组成

36、。 采用采用 异步方式异步方式 ,则由发送控制电路在其首尾加上,则由发送控制电路在其首尾加上 起始位和停止起始位和停止位位 ,然后从起始位开始,经移位寄存器从数据输出线,然后从起始位开始,经移位寄存器从数据输出线 TXD 逐位串行逐位串行输出。输出。 采用采用 同步方式同步方式 ,则在发送数据之前,发送器将自动送出,则在发送数据之前,发送器将自动送出 1 个或个或 2 个同步字符个同步字符 ,然后才逐位串行输出数据。,然后才逐位串行输出数据。 如果如果 CPU 与与 8251A 之间采用之间采用 中断方式中断方式 交换信息,那么交换信息,那么 TXRDY 可作为向可作为向 CPU 发出的中断请

37、求信号。当发送器中的发出的中断请求信号。当发送器中的 8 位数据串行发位数据串行发送完毕时,由发送控制电路向送完毕时,由发送控制电路向 CPU 发出发出 TXE 有效信号,表示发送有效信号,表示发送器中移位寄存器已空。器中移位寄存器已空。 接收器接收器 接收器由接收器由 接收缓冲器接收缓冲器 和和 接收控制电路接收控制电路 两部分两部分 组成。组成。 接收移位寄存器从接收移位寄存器从 RXD 引腿上接收串行数据转换成并行数据后存入接收缓冲引腿上接收串行数据转换成并行数据后存入接收缓冲器。器。 异步方式异步方式 : 在在 RXD 线上检测低电平线上检测低电平 ,将检测到的低电平作为起始位,将检测

38、到的低电平作为起始位, 8251A 开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出数据后,送到数据输入寄存器,同时发出 RXRDY 信号信号 送送 CPU ,表示已经收到一,表示已经收到一个可用的数据。个可用的数据。 同步方式:同步方式: 首先搜索同步字符。首先搜索同步字符。 8251A 监测监测 RXD 线,每当线,每当 RXD 线上出现线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄

39、存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,的内容比较相等时, 8251A 的的 SYNDET 升为高电平,表示同步字符已经找到,同升为高电平,表示同步字符已经找到,同步已经实现。步已经实现。 采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字

40、符寄存器的内容相同。如果相同,则认为同步已经实现。存器的内容相同。如果相同,则认为同步已经实现。 在在 外同步情况外同步情况 下,下, 同步输入端同步输入端 SYNDET 加一个高电位来实现同步的加一个高电位来实现同步的 。 实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对时钟信号对 RXD 线进行采样,并把收到的数据位送到移位寄存器中。在线进行采样,并把收到的数据位送到移位寄存器中。在 RXRDY 引脚上发出一个信号,表示收到了一个字符。引脚上发出一个信号,表示收到了一个字符。调制解调控

41、制电路调制解调控制电路 调制解调控制电路用来简化 8251A 和调制解调器的连接。 10.4.3 8251A的对外信号 8251A和CPU之间的连接信号 8251A与外部设备之间的连接信号 1. 8251A和CPU之间的连接信号 (1) 片选信号 CS为低电平时,8251A被选中(2) 数据信号 D7D0与系统的数据总线相连 (3) 读写控制信号 RD为读信号。WR为写信号。C/D为控制/数据信号。 (4) 收发联络信号TXRDY为发送器准备好信号TXE 发送器空信号RXRDY 接收器准备好信号SYNDET 同步检测信号TxC:发送器时钟控制数据终端发送串行数据的时钟信号RxC:接收器时钟控制

42、数据终端接收串行数据的时钟信号2. 8251A与外部设备之间的连接信号 8251A 与外部设备之间的连接信号分为 两类两类 : (1) 收发联络信号收发联络信号 DTR :数据终端准备好信号,通知外部设备, CPU 当前已经准备就绪。 RTS:数据设备准备好信号,表示当前外设已经准备好。 DSR:请求发送信号,表示 CPU 已经准备好发送。 CTS :允许发送信号,是对 的响应,由外设送往 8251A 。 实际使用时,这 4 个信号中通常只有 必须为低电平,其它 3 个信号可以悬空。 数据信号数据信号 TXD :发送器数据输出信号。当 CPU 送往 8251A 的并行数据被转变为串行数据后,通

43、过 TXD 送往外设。 RXD :接收器数据输入信号。用来接收外设送来的串行数据,数据进入 8251A 后被转变为并行方式。10.4.4 8251A的编程 8 8位接口和位接口和1616位数据总线的连接问题位数据总线的连接问题 8251A8251A的初始化的初始化 模式寄存器的格式模式寄存器的格式 控制寄存器的格式控制寄存器的格式 状态寄存器的格式状态寄存器的格式 1. 关于8位接口芯片和16位数据总线的连接问题 解决方法:硬件上,将总线的A1与芯片的A0相连软件上,用连续的偶地址代替奇偶地址 2. 8251A的初始化 8251A初始化的约定 :复位后,用奇地址写入的值送模式寄存器。 若为同步

44、模式,接着往奇地址端口输出的字节为同步字符。此后,除复位命令,往奇地址写入的值将送到控制寄存器,往偶地址端口写入的值送到数据输出寄存器。 8251A的初始化流程图的初始化流程图 3. 模式寄存器的格式 下图为8251A模式寄存器的格式(a) 异步模式;(b) 同步模式 l例:某异步通信中,其数据格式为:1位起始位,1位停止位,l7位数据位,奇校验,波特率系数为16,则其异步方式选择l控制字为控制字为:01011010B=5AH:01011010B=5AHl MOV DX,3F9H;8251A的控制口地址l MOV AL,5AH;异步方式选择控制字l OUT DX,AL;异步方式写入控制口l在同

45、步通信中,设帧数据格式为:字符长度8位,双同步且内同步,偶校验,则同步方式选择控制则同步方式选择控制字为字为: :l00111100B=3CH00111100B=3CH。l将方式控制字写入控制口的程序段为:l MOV DX,3F9H;8251A控制口地址l MOV AL,3CH;同步方式选择控制字l OUT DX,AL;同步方式字写入控制口 4. 控制寄存器的格式 l例例: :某异步通信中,要求8251A内部复位,允许接收,允许发送,全部错误标志复位,则操作命令字为则操作命令字为: :l00010101=15H00010101=15H。l该操作命令字写入控制口的程序段为:l MOV DX,3F

46、9H;8251A的控制口地址l MOV AL,40H;使内部复位操作命令字l OUT DX,ALl MOV AL,15H;允许接收,允许发送,错误标l 志复位的操作命令字l OUT DX,AL 5. 状态寄存器的格式 l例:例:若要检查8251A的发送器是否准备好,则可用下列程序段实现:l MOV DX,3F1H ;状态口地址K:IN AL,DX ;读状态字 AND AL,01H;查状态位D0=1?TXRDY=1? JZ K ;发送未准备好,则等待 MOV DX,3F0H ;8251A数据口 MOV AL,AAH ;发送字符送AL OUT DX,AL ;发送字符写入8251Al又例:若要检查接

47、收是否发生错误,则可用下列程序段实现:l MOV DX,03F1H ;8251A的状态口l IN AL,DX ;读状态字l TEST AL,38H ;查状态位PE,OE,FE是l 否为1l JNZ ERROR ;若其中有一位为“1”,则l 转出错处理 10.4.5 8251A编程举例 异步模式下的初始化程序举例 同步模式下的初始化程序举例 利用状态字进行编程的举例 1. 异步模式下的初始化程序举例 MOV AL,0FAHOUT 42H,AL;设置模式字,为异步模式; 波特率因子为16;用7个数 据位,偶校验,2个停止位MOVAL,37HOUT42H,AL;设置控制字,使发送启动、 接收启动,并

48、设置有关信号 0010111137H11111100FAH2. 同步模式下的初始化程序举例 MOVAL,38HOUT42H,AL;设置模式字为同步模式,2 个同步字符,7个数据位,偶校验MOVAL,16HOUT42H,ALOUT42H,AL;两个同步字符均为16HMOV AL,97HOUT 42H,AL;设置控制字,并启动l初始化编程举例初始化编程举例( (P308)P308)l例例1 1:设8251A工作与异步方式,波特率系数为16,每个字符为8位,奇校验,1个停止位,允许接收,允许发送,并且发送准备就绪,全部错误标志复位,请按上述要求对8251A进行初始化,设控制口地址设控制口地址为为0F

49、41H,0F41H,l 数据口地址为数据口地址为0F40H0F40H。l l l方式选择控制字为:方式选择控制字为:01011110B=5EHl操作命令字为:操作命令字为:00110111B=37Hl初始化程序如下:初始化程序如下:l MOV DX,0F41H;8251A控制口地址l MOV AL,5EH;方式选择控制字,异步,l OUT DX,AL 波特率16,8位数据位,奇校l 验,1个停止位l MOV AL,37H;操作命令字,允许发送、接收l OUT DX,AL 错误标志复位,发送准备就绪l例例2.2.设8251A工作于同步方式,且内同步,双同步,同步字符为16H,每个字符7个数据位,

50、奇校验,允许接收,允许发送,同步检测,全部错误标志复位,控制口地址为0F41H,数据口地址为0F40H,请按上述要求对8251A进行初始化。l方式控制字为方式控制字为:00011000B=18H:00011000B=18Hl操作命令字为操作命令字为:10010101B=95H:10010101B=95Hl程序如下程序如下: : MOV DX,0F41H;8251A控制口地址l MOV AL,18H;方式字,双内同步,奇l 校,7个数据位l OUT DX,AL;方式字写入控制口l MOV AL,16H;同步字符l OUT DX,AL;送入第一同步字符(16H)l OUT DX,AL;送入第二同步

51、字符l MOV AL,95H;操作命令字l OUT DX,AL;操作命令字写入控制口 3. 利用状态字进行编程的举例 MOV AL,0FAHOUT 42H,AL;设置模式字,异步模式,波 特率因子为16,7个数据 位,2个停止位,偶校验MOV AL,35HOUT 42H,AL;设置控制字,并启动 MOV DI,0;变址寄存器初始化 MOV CX,80 ;共收取80个字符BEGIN: IN AL,42H TEST AL,02H JZ BEGIN;读状态字并测试IN AL,40H ;读取字符MOV DX,OFFSET BUFFERMOV DX+DI,AL ;传输字符INC DI ;修改缓冲区指针I

52、N AL,42H ;读取状态字TEST AL,38H ;测试有无错误 JNZ ERRORLOOP BEGIN ;如没有错,则接收 下1个字符 JMP EXIT ;如满80个字符,则结束ERROR: CALL ERR_OUT;调用出错处理程序EXIT: 10.4.6 8251A的使用实例 下图为用8251A作为CRT接口的实际例子 8251A的初始化程序段 :INIT: XOR AX,AX;AX清零 MOV CX,0003 MOV DX,00DAH;OUT1: CALL KKK LOOP OUT1 ;往控制端口DAH送3个0MOV AL,40H CALL KKK ;往控制端口送40H复位MOV

53、AL,4EH CALL KKK ;设置模式字, 异步模式, 波特率因子为16,8位数据, 1位停止位MOVAL,27H CALLKKK;往设置命令字启动 . KKK:OUT DX,AL;将数据输出到指定端口 PUSH CX MOV CX,0002 ABC:LOOP ABC ;等待输出动作完成 POP CX ;恢复CX内容RET往CRT输出一个字符的程序段 CHAROUT: MOV DX,0DAHSTATE:IN AL,DX;输入状态字 TEST AL,01 JZ STATE;不断测试状态位 MOV DX,0D8H;数据端口地址送DX POPAX ;AX中为要输出的字符 OUTDX,AL;往端口

54、中输出一个字符8251A的应用举例l例例1.1.8086CPU利用8251A作串行接口实现与CRT终端间的串行传送。l8251A作为8086CPU与CRT终端间的接口如图8-57所示,ALE信号有效时,将CPU送来的地址锁存。地址线A0接C/D端用于选择8251A的数据口或控制口。波特率发生器输出频率为76.8KHz,向8251A提供规定的收/发时钟(RXC和TXC),由于8251A输入输出都是TTL电平,而CRT是lRS-232电平,所以要通过1488及1489进行电平转换。l8251A8251A工作方式的确定:工作方式的确定:异步方式,1个停止位,8位数据位,偶校验,波特率系数为16。CP

55、U用查询方式将缓冲区字符“HELLO”送CRT上显示。l显示字符存放在数据段,l首地址为首地址为2000H2000H;l控制口地址为控制口地址为04F2H04F2H;l数据口地址为数据口地址为04F0H04F0H。方式选择控制字为01111110B=7EH操作命令字为00110011B=33H 地址锁存器 地址译码器A7A1A0ENSTBCSC/DRDWRCLK8251A8086AD15AD0ALEM/IOM/IORDWRCLK电平转换电平转换CRT 终终 端端波特率波特率发生器发生器RXDTXDDTRDSRTXCRXCD70图图8-57 8086与与CRT终端接口连接终端接口连接l EDAT

56、A SEGMENTlDISBUF DB 48H,45H,4CH,4FH,0DH,0AHl ;HELLO字符的ASCII码lEDATA ENDSlMAIN: MOV DX,04F2H;8251A的控制口l MOV AL,40H;内部复位(软件复位)l OUT DX,ALl MOV AL,7EH;方式选择控制字l OUT DX,ALl lMOV AL,33H;操作命令字l OUT DX,ALl MOV BX,2000H;显示缓冲区首地址l MOV CX,07H;显示字符个数lWAT: MOV DX,04F2H;8251A的状态口l IN AL,DX;读状态字l TEST AL,80H ;查数据装置

57、是否准备就l 绪?即查DSRl JZ WAT ;未准备就绪,等待l MOV DX,04F0H;8251A数据口lMOV AL,BX;从显示缓冲区取数据l OUT DX,AL ;将显示字符送8251A数据口l INC BX ;修改显示缓冲区地址l DEC CX ;字符个数减1l JNZ WAT ;未传送完,继续送CRT显示l HLT例2.利用利用8251A8251A串行接口芯片通过串行接口芯片通过RS-232CRS-232C标准串行总线连标准串行总线连接甲、乙两台接甲、乙两台80868086微机实现双机串行通信微机实现双机串行通信, ,由甲机向乙机传由甲机向乙机传送送256256个字符数据。通信

58、有关约定如下个字符数据。通信有关约定如下: :l双方采用异步、半双工方式,通信时均认为对方已准备就绪,通信数据格式为,每个字符7个数据位,2个停止位、偶校验,波特率系数为16。lCPU与8251A之间采用查询方式交换数据,l8251A8251A的数据口地址为的数据口地址为3F0H,3F0H,l控制口地址为控制口地址为3F2H,3F2H,l发送数据存放的数据区首地址为发送数据存放的数据区首地址为2000H2000Hl接收数据的有效地址为接收数据的有效地址为4000H4000H。l收/发时钟RXC和TXC由8253的通道1提供,输出频率为153.6KHz,8253工作于方式3,输入时钟CLK,频率

59、为2MHz,它由CPU 8MHz的主时钟经分频后得到。分频分频分频分频波特波特率发率发生器生器波特波特率发率发生器生器电平电平变换变换电平电平变换变换D7D0TXDRXDRXDTXDGNDGNDTXDRXDTXDRXDD7D0D7D0RDRDWRWRA1RDWRA1RESETRESETRETRETCLKCLKCLK 8086 CPU 8086 CPU8251A8251AD7D0EIA/TTLEIA/TTL图图8-58 双机串行通信硬件连接双机串行通信硬件连接C/D发送端与接送端的方式选择控制字为11111010B=FAH,发送端操作命令字为00010001B=11H,接送端操作命令字为14Hl

60、发送端的发送程序如下发送端的发送程序如下: :lBEGIN-T: MOV DX,3F2H;8251A的控制口地址l MOV AL,40H ;内部复位(软件复位)l OUT DX,ALl MOV AL,FAH;方式选择控制字,异l 步,7数,2l OUT DX,AL ;位停,偶校验,波特率系l 数16l lMOV AL,11H;操作命令字,错误复位,允许发l OUT DX,AL; 送l MOV DI,2000H;发送数据区首地址l MOV CX,FFH;发送数据字符个数lNEX-T: MOV DX,3F2H;8251A控制口地址l IN AL,DX;读状态l TEST AL,01H;查状态位TX

温馨提示

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

评论

0/150

提交评论