《第10章串行接口ppt课件.pptx》由会员分享,可在线阅读,更多相关《第10章串行接口ppt课件.pptx(128页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1汇编语言与微机接口第第1010章章 串行通信接口串行通信接口 串行通信接口串行通信接口8251A RS-232C标准标准第第1010章章 串行通信接口串行通信接口3 10.110.1 串行通讯基础串行通讯基础、 串行通讯、 通讯线路连接方式 、 同步方式和异步方式、 调制与解调、 串行通讯接口标准EIA RS-232C 、 串行接口4 一、串行通信一、串行通信将数据的各位将数据的各位按时间顺序按时间顺序依次在依次在一条传输线上一条传输线上传输。传输。0 1 1 0 1 0 1 0 TxD源源RxD目目的的串行通信串行通信适于适于长距离长距离、中低速中低速通信通信数据的各位依次由源到达目的地数
2、据的各位依次由源到达目的地 慢慢数据线少数据线少 当用于当用于远程通信时远程通信时, 费用较低费用较低5l串行通信:将数据的二进制位用一条信号线,一串行通信:将数据的二进制位用一条信号线,一位一位顺序传送的方式位一位顺序传送的方式l串行通信的优势:用于通信的线路少,因而在远串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本距离通信时可以极大地降低成本6l串行通信适合于远距离数据传送,也常用于速度串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送要求不高的近距离数据传送l对于对于PC系列机上的外部设备如鼠标、绘图仪、系列机上的外部设备如鼠标、绘图仪、终端等,也
3、常常采用串行方式与主机数据传送。终端等,也常常采用串行方式与主机数据传送。Serial sril7 就传输方式而言,串行通信线路可分成如下几种就传输方式而言,串行通信线路可分成如下几种连接方式:连接方式: 二、通信线路连接方式二、通信线路连接方式站站A站站B(1)单工方式单工方式(Simplex Mode) 只允许数据按一个固定的方向传送。只允许数据按一个固定的方向传送。 图中图中A A只能发送,称为发送器;只能发送,称为发送器;B B只能接收,只能接收,称为接收器。称为接收器。 不能从不能从B B传向传向A A。8 (2)半双工方式半双工方式(Half-Duplex Mode)站站A站站B数
4、据既可以从数据既可以从A A传向传向B B,也可以从,也可以从B B传向传向A A。因此因此A A和和B B既可作为发送器,又可作为接收器,既可作为发送器,又可作为接收器,通常称为收发器。通常称为收发器。但是在同一时刻,只能进行一种传送,要么但是在同一时刻,只能进行一种传送,要么A A发发送送B B接收,要么接收,要么B B发送发送A A接收。不能同时双向传输。接收。不能同时双向传输。9站站A站站B(3)全双工方式全双工方式(Full-Duplex Mode)在在A A、B B之间采用两条传输线路(两个信道)。之间采用两条传输线路(两个信道)。使使A A和和B B均可同时工作在接收数据方式和发
5、送数均可同时工作在接收数据方式和发送数据方式。据方式。与半双工方式相比,传送速率成倍增长。与半双工方式相比,传送速率成倍增长。10 所有串行通信都需要一个时钟信号来作为所有串行通信都需要一个时钟信号来作为数据的定时参考。发送器和接收器用时钟数据的定时参考。发送器和接收器用时钟来决定何时发送和读取每一位数据。来决定何时发送和读取每一位数据。 根据采用统一时钟还是本地局部时钟,分根据采用统一时钟还是本地局部时钟,分为为同步通信同步通信和和异步通信异步通信两种。两种。同步通信同步通信统一时钟统一时钟异步通信异步通信本地局部时钟本地局部时钟11计计算算机机A计计算算机机B数据信号数据信号统一时钟统一时
6、钟12计计算算机机A计计算算机机B数据信号本地时钟本地时钟13 1 1、同步通信、同步通信l以一个数据块(帧)为传输单位,每个数据块以一个数据块(帧)为传输单位,每个数据块附加附加1 1个或个或2 2个同步字符,最后以校验字符结束个同步字符,最后以校验字符结束n接收端能够识别同步字符。接收端能够识别同步字符。n可以用可以用5 5、6 6、7 7或或8 8位表示一个字符。但在同一位表示一个字符。但在同一个传输过程中,每个字符对应同样的数位。个传输过程中,每个字符对应同样的数位。n在同步通信过程中,发送端和接收端必须采用在同步通信过程中,发送端和接收端必须采用统一的时钟,在同一个时钟控制下进行数据
7、传统一的时钟,在同一个时钟控制下进行数据传送。送。同步字符同步字符字符字符1 字符字符2字符字符n校验字符校验字符58位14 同步传输的数据位的检测数据(数据(61H)位位01100001发送方在时钟信号的下降沿发送字节发送方在时钟信号的下降沿发送字节接收方在时钟信号的上升沿接收字节接收方在时钟信号的上升沿接收字节时钟时钟15l由于要求由统一的时钟来实现发送端及接收端由于要求由统一的时钟来实现发送端及接收端之间的同步,所以,硬件电路比较复杂。之间的同步,所以,硬件电路比较复杂。l通常用于计算机之间的通讯,或计算机到通常用于计算机之间的通讯,或计算机到CRTCRT等外设之间的通讯。等外设之间的通
8、讯。16 2 2、异步通讯、异步通讯l在异步通讯时,每个字符构成一个在异步通讯时,每个字符构成一个字符帧字符帧。两。两个字符之间的传输间隔是任意的。个字符之间的传输间隔是任意的。l为区分各个字符,在每个字符前、后都用规定的为区分各个字符,在每个字符前、后都用规定的数位来作分隔位,和字符的信息位一起构成一个数位来作分隔位,和字符的信息位一起构成一个字符帧。字符帧。l标准的异步通讯的数据格式(异步串行通讯协标准的异步通讯的数据格式(异步串行通讯协议)。议)。17异步串行通信协议18异步串行通信协议起始位(起始位(1位)位)每个字符开始传送的每个字符开始传送的标志,起始位采用逻辑标志,起始位采用逻辑
9、0电平电平数据位(数据位(58位)位)数据位紧跟着起始位数据位紧跟着起始位传送。由传送。由58个二进制位组成,低位先传送个二进制位组成,低位先传送校验位(校验位(1位,可选的)位,可选的)用于校验是否传用于校验是否传送正确;可选择奇检验、偶校验或不传送校送正确;可选择奇检验、偶校验或不传送校验位验位停止位(停止位(1、1.5、2位)位)表示该字符传表示该字符传送结束。停止位采用逻辑送结束。停止位采用逻辑1电平,可选择电平,可选择1、1.5或或2位位空闲位空闲位传送字符之间的逻辑传送字符之间的逻辑1电平,电平,表示没有进行传送表示没有进行传送19l异步通信方式的异步通信方式的“异步异步”主要体现
10、在字符与字主要体现在字符与字符之间通信没有严格的定时要求。符之间通信没有严格的定时要求。即字符间异即字符间异步步。l然而,一旦传送开始,收然而,一旦传送开始,收/ /发双方则以预先约发双方则以预先约定的传输速率,在时钟的作用下,传送这个字定的传输速率,在时钟的作用下,传送这个字符中的每一位,即字符内部符中的每一位,即字符内部各位间同步各位间同步。l发送端按照发送端按照发送时钟发送时钟来发送字符的每一位,接来发送字符的每一位,接收端按照收端按照接收时钟接收时钟来接收字符的每一位。来接收字符的每一位。l通信双方不需要有同样的时钟通信双方不需要有同样的时钟。只要双方的时。只要双方的时钟频率相差在一定
11、范围内,就可以保证可靠的钟频率相差在一定范围内,就可以保证可靠的传送。传送。20Baud Rate 3、波特率波特率波特率:每秒钟传送二进制数据的位数,每秒钟传送二进制数据的位数,以位以位/秒(秒(bps、 bit/s、 b/t)表示,也称为数)表示,也称为数据传输率。据传输率。微机中常见的波特率有微机中常见的波特率有110,300,600,1200,2400,4800,9600,19200等。等。21【例例10-110-1】已知异步通信字符帧格式中,数据为已知异步通信字符帧格式中,数据为8 8位,位,无校验,无校验,1 1位停止位,在位停止位,在1 1分钟内连续不断传送了分钟内连续不断传送了
12、 69120 69120 个字符,求波特率。个字符,求波特率。解:解: 一个字符帧:一个字符帧: 1+8+0+1=101+8+0+1=10位位 每秒传送的字符个数:每秒传送的字符个数: 69120/60=115269120/60=1152个个 波特率波特率=1152=1152* *10=11520b/S10=11520b/S 3、波特率(续1)22 收收/ /发时钟发时钟直接决定了通信线路上数据传输的速率直接决定了通信线路上数据传输的速率。 为了提高串行通信的抗干扰能力,往往用多个时为了提高串行通信的抗干扰能力,往往用多个时钟传送(调制)一个二进制数位,传送(调制)一钟传送(调制)一个二进制数
13、位,传送(调制)一个二进制数位的收个二进制数位的收/发时钟个数称为发时钟个数称为波特率因子波特率因子K K。收收/发时钟频率与波特率之间的关系:发时钟频率与波特率之间的关系: 波特率因子K收收/ /发时钟频率发时钟频率fc=Kfc=K波特率波特率fdfd23收收/发时钟频率与波特率之间的关系:发时钟频率与波特率之间的关系: 收收/发时钟周期发时钟周期Tc=数据位的周期数据位的周期Td / K 收收/发时钟频率发时钟频率fc=K波特率波特率fd 一般一般K取取1, 16, 32和和64等。等。 对于异步通信,常采用对于异步通信,常采用K=16; 对于同步通信,则必须取对于同步通信,则必须取K =
14、1。 波特率因子K24异步串行通信数据位的检测接收方是怎样接收数据并保持与发送方同步的?接收方是怎样接收数据并保持与发送方同步的? 如如K=16接收时钟接收时钟25 接收方在每位的中心采样,以获得最大的收接收方在每位的中心采样,以获得最大的收/发发时钟频率偏差容限。时钟频率偏差容限。 由于一个字符帧的位数最多只有由于一个字符帧的位数最多只有12位,因此,位,因此,双方的时钟频率即便有一些误差,也不至因累积双方的时钟频率即便有一些误差,也不至因累积误差造成错位。误差造成错位。等到下一字符的起始位到来,会使双方的同步等到下一字符的起始位到来,会使双方的同步重新得以校准。重新得以校准。26异步串行通
15、信的错误检测l奇偶错奇偶错PEPE:传输中引起的某些数位的改变,会引起奇偶校验出现错误。l溢出错误溢出错误OEOE ( (覆盖错误覆盖错误) ):CPU没有及时取走数据,又有新数据送入。原因:CPU检测接收数据就绪的速率小于串行接口从通信线上接收数据的速率。l帧错误帧错误FEFE:字符格式不符合规定。如在停止位检测到低电平,则会引起帧格式错。接收方可以检测到的传输错误有:接收方可以检测到的传输错误有:27同步传送和异步传送的不同点同步传送和异步传送的不同点 同步传送:要求双方有统一同步传送:要求双方有统一 的时钟信号的时钟信号 异步传送:双方不要求有统一的时钟信号异步传送:双方不要求有统一的时
16、钟信号在波特率相同时,同步方式下的信息有效率高在波特率相同时,同步方式下的信息有效率高于异步方式。因为在同步方式下,非数据信息于异步方式。因为在同步方式下,非数据信息比例较小,而在异步方式下,每传送一个字符比例较小,而在异步方式下,每传送一个字符都要有一些附加位。都要有一些附加位。28l远距离远距离通信时需要通过通信时需要通过普通电话普通电话网络传输网络传输l如果数字信号直接在公用电话网的传输线上传送,信号到如果数字信号直接在公用电话网的传输线上传送,信号到了接收端后将发生严重畸变和失真。了接收端后将发生严重畸变和失真。 四、调制与解调四、调制与解调 解决方案:解决方案:调制器(调制器(Mod
17、ulator )发送方使用发送方使用调制器调制器,把要传送的,把要传送的数字信号数字信号调制转换调制转换为适合在线路上传输的为适合在线路上传输的音频模拟信号音频模拟信号;解调器(解调器(Demodulator )接收方则使用接收方则使用解调器解调器从线路上测出这个模拟信号,从线路上测出这个模拟信号,并还原成数字信号。并还原成数字信号。 29计计算算机机数据数据装置装置MODEM远远程程计计算算机机MODEM数据通数据通信终端信终端数据通数据通信终端信终端通信网络通信网络数字数字信号信号数字数字信号信号RS232CRS232C计算机远程通信计算机远程通信30五、串行通讯接口标准五、串行通讯接口标
18、准EIA RS-232CEIA RS-232C 美国电子工业协会EIA制定的串行接口通用标准n信号的逻辑电平n接口电路的机械特性n控制信号的定义n信号的传输率31 信号电平标准信号电平标准在在PC机内部采用机内部采用TTL电平标准电平标准高电平高电平1:2.4V5V低电平低电平0:0V0.4V232C接口采用接口采用EIA电平电平 逻辑逻辑1为为5V15V 逻辑逻辑0为为5V15V 实际常用实际常用12V或或15VEIA线路驱动器线路驱动器EIA线路接收器线路接收器32 机械特性接口标准机械特性接口标准l232C接口标准使用一对25针连接器或9针连接器 25 14125脚D型插座 25脚D型插
19、头 1313252513141433 控制信号的定义控制信号的定义RS-232C标准的信号功能34主要有:1发送数据(引脚2)2接收数据(引脚3)3请求发送(引脚4)4. 清除发送(引脚5) 5 数据设备就绪(引脚6)6 数据终端就绪(引脚20)7 . 信号地线(引脚7)8. 保护地线(引脚1)35常用的RS-232C连接1.使用使用MODEM362.不使用不使用MODEM 常用的RS-232C连接RTS和和CTS各自互接,表明请求传送总是允许各自互接,表明请求传送总是允许373.最简单连接常用的RS-232C连接为了交换信息,为了交换信息,TxD和和RxD应当交叉连接应当交叉连接程序中不必使
20、程序中不必使RTS和和DTR有效有效也不检测也不检测CTS和和DSR是否有效是否有效 38 信号传输率信号传输率l232C规定的标准传输率在020Kbps范围内,在实际应用中被限制在19.2Kbps以内。l传送距离可达15米。39 六、串行接口六、串行接口能实现计算机和外设之间串行通信的接口称能实现计算机和外设之间串行通信的接口称 为串行接口。为串行接口。功能:功能: 串并转换串并转换 并串转换并串转换 可编程功能可编程功能计计算算机机外外设设串串行行接接口口10.2 串行通信接口 8251A10.2.1 8251A的基本性能的基本性能10.2.2 8251A的内部结构的内部结构10.2.3
21、8251A的外部引脚的外部引脚10.2.4 8251A的控制字的控制字10.2.5 8251A的初始化的初始化10.2.1 8251A的基本性能的基本性能41lIntel 8251A是一款可编程的通用同步通用同步/异步异步接收发送器接收发送器(USART:Universal Synchronous Asynchronous Receiver and Transmitter)。l基本性能:基本性能:可工作在同步同步或异步异步方式。具有独立的发送器和接收器,能以单工、半双工和全双工方式进行通信。提供基本的控制信号,能方便地与与ModemModem相连相连。10.2.1 8251A的基本性能的基本性
22、能l异步传送时:异步传送时:l同步传送时:同步传送时:传输率为0-19.2K波特率可以通过编程来确定字符和停止位的长度以及校验位可以自动产生一个低电平的起始位传输率为传输率为0-64K0-64K波特率波特率可通过编程指定可通过编程指定1 1或者或者2 2个停止字符个停止字符可自动插入和自动检测指定的同步字符可自动插入和自动检测指定的同步字符10.2.2 8251A的内部结构1 1、 功能结构功能结构 2 2、 编程结构编程结构3 3、 8251A8251A的发送和接受的发送和接受1、功能结构1、功能结构发送发送缓冲器缓冲器 数据数据总线总线调制解调制解调控制调控制电路电路D7D0读读 / 写写
23、逻辑逻辑RESETCLKRDWRC/DCSDSRDTRCTSRTS发送发送控制控制电路电路接收接收缓冲器缓冲器接收接收控制控制电路电路RxDTxDTxRDYTxETxCRxRDYRxCSYNDET缓冲器缓冲器(1 1)数据总线缓冲器)数据总线缓冲器使使8251与系统数据总线的低与系统数据总线的低8位连接。位连接。(2 2)读写控制逻辑电路)读写控制逻辑电路接收接收CPU送来的控制信号以控制送来的控制信号以控制8251内部各个内部各个功能部件。功能部件。(3 3)调制解调控制电路)调制解调控制电路在进行远程通信时,为使在进行远程通信时,为使8251能与调制解调器能与调制解调器直接相连,调制解调控
24、制电路提供所需的控制直接相连,调制解调控制电路提供所需的控制联络信号,以便于联络信号,以便于8251和调制解调器的连接。和调制解调器的连接。1、功能结构(续1)7个功能模块:个功能模块:1、功能结构 (4)接收缓冲器)接收缓冲器接收接收RxD输入线输入的串行数据,转换输入线输入的串行数据,转换为并行数据为并行数据 (5)接收控制电路)接收控制电路异步方式时,确定起始位异步方式时,确定起始位消除干扰消除干扰进行奇偶校验进行奇偶校验检测停止位检测停止位1、功能结构(续2)接收器接收器1、功能结构(续3) (6)发送缓冲器)发送缓冲器接收接收CPU的并行数据,转换为串行数据送的并行数据,转换为串行数
25、据送输出线输出线TxD输出输出 (7)发送控制电路)发送控制电路异步传送时,加起始位、校验位和停止位异步传送时,加起始位、校验位和停止位同步传送时,插入同步字符和校验位同步传送时,插入同步字符和校验位发送器发送器共用一个端口地址,通共用一个端口地址,通过读过读/写信号区分写信号区分 数据输出寄存器数据输出寄存器 发送移位寄存器(并行输入发送移位寄存器(并行输入/串行输出移位寄存器串行输出移位寄存器) 接收移位寄存器(串行输入接收移位寄存器(串行输入/并行输出移位寄存器并行输出移位寄存器) 数据输入寄存器数据输入寄存器8251内部有内部有9个寄存器,可访问其中的个寄存器,可访问其中的7个。个。2
26、、 编程结构D7 .D0接收移位寄存器接收移位寄存器数据输入寄存器数据输入寄存器低位到低位到高位从高位从RxD引引脚串行脚串行移位进移位进来来8位数据并行位数据并行进进CPU 接收方接收方D7 .D08位并行数据位并行数据自自CPU来来数据输出寄存器数据输出寄存器低位到低位到高位串高位串行移位行移位到到TxD引脚输引脚输出出发送移位寄存器发送移位寄存器发送方发送方2、编程结构(续1)并并 串转换串转换串串 并转换并转换 2个同步字符寄存器个同步字符寄存器 状态寄存器状态寄存器 模式寄存器模式寄存器 控制寄存器控制寄存器2、编程结构(续2)8251的编程结构的编程结构模式寄存器模式寄存器同步字符
27、寄存器同步字符寄存器同步字符寄存器同步字符寄存器n 异步传送异步传送异步接收异步接收异步发送异步发送n 同步传送同步传送同步接收同步接收同步发送同步发送 3、 8251A的发送和接受(1)异步接收检测检测RxD上是否为低电平的起始位上是否为低电平的起始位 若是真正的起始位,则若是真正的起始位,则8251会在接收会在接收时钟的控制下,对其后出现的数据进行时钟的控制下,对其后出现的数据进行常规采样。常规采样。一旦一旦RxD出现低电平,出现低电平,8251开始计数,开始计数, 计到该数位宽度的中间又去采样计到该数位宽度的中间又去采样RxD,以,以确定是否真正的低电平的起始位。确定是否真正的低电平的起
28、始位。启动检测启动检测确定已检测确定已检测到启动位到启动位采样数据检测采样数据检测中央点中央点16T启动位启动位DATACLOCK16T8251A对数据的采样过程对数据的采样过程K=16RxD异异或或门门内部内部CLKDB检测检测奇偶检验结果奇偶检验结果接收缓冲寄存器接收缓冲寄存器接收移位寄存器接收移位寄存器奇偶位奇偶位停止位停止位 1波波特特率率接收器工作过程接收器工作过程82518251将采样得到的每一位数据送将采样得到的每一位数据送接收移位寄存接收移位寄存器器移位,进行奇偶校验、去掉停止位。移位,进行奇偶校验、去掉停止位。(1)异步接收(续1)8251送送CPU一个一个RxRDY信号,通
29、知信号,通知CPU取走已接收到的数据。取走已接收到的数据。将数据并行送将数据并行送数据输入寄存器数据输入寄存器(若接收到(若接收到的数据不够的数据不够8 8位时,自动将高位补位时,自动将高位补0 0)l(2)异步发送 数据发送缓冲器数据发送缓冲器波波特特率率发送移位寄存器发送移位寄存器奇偶位奇偶位停止位停止位 1起始位起始位异异或或门门TXDSOUT0内部内部CLKDB发送器工作过程发送器工作过程(2)异步发送(续1)在输出时,以时钟频率的在输出时,以时钟频率的1/K的速率由的速率由TxD输出引脚一位一位串行发送出去。输出引脚一位一位串行发送出去。在发送时钟的控制下将数据从在发送时钟的控制下将
30、数据从输出移位寄输出移位寄存器中输出。存器中输出。同时加上起始位、校验位和同时加上起始位、校验位和最后的停止位。最后的停止位。CPU将数据送将数据送8251的的数据输出寄存器数据输出寄存器,再送入再送入输出移位寄存器输出移位寄存器。接收端可以通过两种方式来和发送端达到同接收端可以通过两种方式来和发送端达到同步步 内同步模式内同步模式 外同步模式外同步模式(3)同步接收同步后,发送端和接收端就按照相同的时同步后,发送端和接收端就按照相同的时钟频率发送、接收数据。钟频率发送、接收数据。n接收端按照接收时钟的频率,每个时钟接收端按照接收时钟的频率,每个时钟信号的上升沿采样信号的上升沿采样RxD上的数
31、据,送到上的数据,送到输入移位寄存器输入移位寄存器。n当达到规定的数位时,将移位寄存器中当达到规定的数位时,将移位寄存器中的数据并行送到的数据并行送到输入寄存器输入寄存器中,同时向中,同时向CPU发出发出RxRDY信号,通知信号,通知CPU取走数取走数据。据。(3)同步接收 (续1)(3)同步接收 内同步模式内同步模式内同步模式是靠接收端检测同步字符来达到同步。是靠接收端检测同步字符来达到同步。若相等,则搜索到同步字符。若相等,则搜索到同步字符。 使使同步检测信号同步检测信号SYNDET输出输出高电平,表高电平,表示已达到同步。之后开始接收数据。示已达到同步。之后开始接收数据。若不等,则重复检
32、测过程。若不等,则重复检测过程。接收端会将接收端会将输入移位寄存器输入移位寄存器中接收到的数中接收到的数据与据与“同步字符寄存器同步字符寄存器”中的内容比较。中的内容比较。若为双同步字符时:若为双同步字符时: 接收端首先将收到的字符与第一个同步字符寄接收端首先将收到的字符与第一个同步字符寄存器中的内容比较,若相等,则将接收到的下一个存器中的内容比较,若相等,则将接收到的下一个字符与第二个同步字符寄存器中的内容比较,若相字符与第二个同步字符寄存器中的内容比较,若相等,则同步,发高电平的等,则同步,发高电平的SYNDET。 若第二个字符不等,则与第一个同步字符寄存若第二个字符不等,则与第一个同步字
33、符寄存器内容比较,重新开始搜索同步字符。器内容比较,重新开始搜索同步字符。(3)同步接收 内同步模式l外同步模式外同步模式同步字符的检测由外部其他部件来完成同步字符的检测由外部其他部件来完成(3)同步接收 外同步模式SYNDET信号要维持一个时钟周期,在下信号要维持一个时钟周期,在下一个时钟周期一个时钟周期8251的接收端开始采样的接收端开始采样RxD输入线上的数据。输入线上的数据。外部部件检测到同步字符后,通过外部部件检测到同步字符后,通过SYNDET输入输入一个正跳变的信号,通知一个正跳变的信号,通知8251已经达到同步。已经达到同步。(4)同步发送l(4)同步发送 (续1)当当8251无
34、可发数据时,会自动在无可发数据时,会自动在TxD输出输出线上输出同步字符来填满数据间的空隙。线上输出同步字符来填满数据间的空隙。同时,根据程序的设置自动发送同时,根据程序的设置自动发送12个同个同步字符以及校验字符(可选的)。步字符以及校验字符(可选的)。8251的发送端会按照发送时钟的频率,将的发送端会按照发送时钟的频率,将输出移位寄存器输出移位寄存器中的数据,逐位从中的数据,逐位从TxD引引脚输出。脚输出。10.2.3 8251A的外部引脚1 1、 和和CPUCPU之间的连接信号之间的连接信号 2 2、 和外设之间的连接信号和外设之间的连接信号 10.2.3 8251A的外部引脚分成:分成
35、:连接连接CPUCPU的部分的部分和和连接外设的部分连接外设的部分12345678910111213142827262524232221201918171615D2D3RxDGNDD4D5D6D7TxCWRCSC/DRDRxRDY8251D0D1VccRxCDTSRTSDSRRESETCLKTxDTxECTSSYNDETTxRDY1、8251与CPU连接的信号D0D7: 8位双向三态数据线位双向三态数据线 在在CPU与与8251之间交换信息,与低之间交换信息,与低8位数据总线相连位数据总线相连。 RESET:复位信号(输入):复位信号(输入) 通常将它与系统的复位线相连,当输入高有效时,通常将
36、它与系统的复位线相连,当输入高有效时,8251的所有功能复位而处于空闲状态。的所有功能复位而处于空闲状态。1、8251与CPU连接的信号(续1)738251的端口分配端口地址总结端口地址总结IN AL,偶地址接收数据数据缓冲器发送数据数据缓冲器OUT 偶地址,AL状态状态寄存器IN AL,奇地址这三条指令同相应的寄存器是这三条指令同相应的寄存器是一对一一对一的。的。l但是:端口地址总结端口地址总结(续)OUT OUT 奇地址,奇地址,ALALl这一条指令的端口地址,却对应了四个寄存器模式寄存器模式寄存器控制寄存器控制寄存器SYN1寄存器寄存器SYN2寄存器寄存器?初始化时解答初始化时解答四个联
37、络信号四个联络信号(1 1)TxRDY:TxRDY:发送器准备好(输出)发送器准备好(输出) 当当82518251允许发送且发送缓冲器为空时,允许发送且发送缓冲器为空时,82518251就就会发出高电平的会发出高电平的TxRDYTxRDY,通知,通知CPUCPU可以给可以给82518251发送数发送数据了。可以作为据了。可以作为中断请求信号中断请求信号送给送给CPU, CPUCPU, CPU也可查也可查询询状态信息(状态信息(D0D0位)位)得知发送缓冲器的状态。得知发送缓冲器的状态。1、8251与CPU连接的信号(续2)(2 2)TxETxE:发送器空(输出):发送器空(输出) 当发送器的并
38、行到串行转换器空时,则输出有当发送器的并行到串行转换器空时,则输出有 效高电平。表示一个发送动作的完成。效高电平。表示一个发送动作的完成。(3 3)RxRDYRxRDY:接收器准备好(输出):接收器准备好(输出) 当为高有效时,表示已从输入线收到了一个字符当为高有效时,表示已从输入线收到了一个字符数据,并转换为并行数据等待数据,并转换为并行数据等待CPUCPU读取。当读取。当CPUCPU读取后读取后,则变为低电平。送给,则变为低电平。送给CPUCPU时可以作为时可以作为中断请求信号中断请求信号或状态信号(或状态信号(D1D1位)位)。1、8251与与CPU连接的信号(续连接的信号(续3)(4
39、4)SYNDETSYNDET:同步检测信号(双向):同步检测信号(双向) 只用于只用于同步方式。同步方式。 82518251工作于内同步模式时工作于内同步模式时为输出,当为输出,当82518251搜索到同步字符时输出高电平。工搜索到同步字符时输出高电平。工作于外同步模式时为输入,外部部件输入一个正跳作于外同步模式时为输入,外部部件输入一个正跳变的信号表示搜索到同步字符。变的信号表示搜索到同步字符。数据信号数据信号联络信号联络信号时钟信号时钟信号2、8251与外设连接的信号2、8251与外设连接的信号 (续1)数据信号数据信号(1 1)TxDTxD:发送数据信号:发送数据信号(输出)(输出)(2
40、 2)RxDRxD:接收数据信号:接收数据信号(输入)(输入)2、8251与外设连接的信号 (续2)两组联络信号两组联络信号(1 1)DTRDTR:数据终端准备好(输出):数据终端准备好(输出) (2 2)DSRDSR:数据设备准备好(输入):数据设备准备好(输入) 为有效低电平时,表示外设已准备好。该信号会影为有效低电平时,表示外设已准备好。该信号会影响到响到82518251状态寄存器的状态寄存器的D7D7位,当位,当DSRDSR输入低电平时输入低电平时使使D7D71 1,输入无效高电平时使,输入无效高电平时使D7D70 0。 CPUCPU通过设置通过设置控制寄存器的控制寄存器的D1D11
41、1使该信号输出使该信号输出低低有有效电平,当为有效低时表示效电平,当为有效低时表示CPUCPU已准备好接收数据。已准备好接收数据。CPU8251外设外设控制寄存器控制寄存器D11DTR0DSR0状态寄存器状态寄存器D712、8251与外设连接的信号 (续3) DTR和和DSR是关于接收的一对联络信号,是关于接收的一对联络信号, 在在CPU和外设之间进行联络。和外设之间进行联络。2、8251与外设连接的信号 (续4) 为有效低电平时,表示外设已准备好,为有效低电平时,表示外设已准备好,82518251可以可以为为CPUCPU发送数据了。发送数据了。 CPUCPU通过设置控制寄存器的通过设置控制寄
42、存器的D5D5(RTSRTS位)位)1 1使该使该信号输出低有效电平,当为有效低时表示信号输出低有效电平,当为有效低时表示CPUCPU已准已准备好发送数据。备好发送数据。(3 3)RTSRTS:请求发送(输出):请求发送(输出) (4 4)CTSCTS:清除请求发送(输入):清除请求发送(输入) RTS和和CTS是关于发送的一对联络信号,是关于发送的一对联络信号,在在CPU和外设之间进行联络。和外设之间进行联络。2、8251与外设连接的信号 (续5)CPU8251外设外设CTS0RTS0控制寄存器控制寄存器D51TxRDY1状态寄存器状态寄存器D01发送缓冲发送缓冲器为空器为空 CTS怎样通过
43、怎样通过8251与与CPU联络?联络?l842、8251与外设连接的信号 (续6)时钟信号时钟信号(1 1)TxCTxC:发送时钟(输入):发送时钟(输入) (2 2)RxCRxC:接收时钟(输入):接收时钟(输入) 接收数据时,在接收数据时,在RxCRxC的上升沿采样的上升沿采样RxDRxD串行输入串行输入的数据送入接收移位寄存器中。的数据送入接收移位寄存器中。 发送数据时,由发送数据时,由TxCTxC的下降沿将发送移位寄存器的下降沿将发送移位寄存器中的数据逐位从中的数据逐位从TxDTxD串行输出。串行输出。2、8251与外设连接的信号 (续7)2、8251与外设连接的信号 (续8)TxC、
44、RxC与波特率的关系:与波特率的关系:同步方式时,时钟频率等于波特率同步方式时,时钟频率等于波特率异步方式时,时钟频率为波特率的异步方式时,时钟频率为波特率的K倍。倍。 K=1、16、32或或64倍。倍。时钟信号时钟信号(3 3)CLKCLK:系统时钟(输入):系统时钟(输入) 为为82518251内部提供工作时钟。内部提供工作时钟。 CLK与与TxC、RxC关系:关系:同步方式时,同步方式时,CLK的频率大于接收的频率大于接收/发送时钟频率的发送时钟频率的30倍倍异步方式时,异步方式时,CLK的频率大于接收的频率大于接收/发送时钟频率的发送时钟频率的4.5倍倍2、8251与外设连接的信号 (
45、续9)88近距离通信时,不使用Modem,多采用三线零调制法三线零调制法MC1488:TTL RS232MC1489:TTL RS232CPU的CLK经过8253分频得到TxCLK和RxCLK CPU 与8251A的连接10.2.4 8251A的控制字1、方式指令格式返回返回 D7D6D5D4D3D2D1D0方式方式及波及波特率特率00:00:同步方式同步方式01:01:异步异步K=1K=110:10:异步异步K=16K=1611:11:异步异步K=64K=64校校验验方方式式D4D40:0:无校验无校验1:1:有校验有校验D5D50:0:奇校验奇校验1:1:偶校验偶校验字符字符长度长度00:
46、500:5位位01:601:6位位10:7 10:7 位位11:8 11:8 位位N同步方式?Y D60:0:内同步内同步1:1:外同步外同步D70:0:双同步字符双同步字符1:1:单同步字符单同步字符停止位停止位0000无效无效0101一位一位1010一位半一位半1111两位两位【例10-3】某异步通信的数据格式为:1位起始位,2位停止位,奇校验,8位数据,波特率因子为16。设8251A控制端口地址为309H,试写出初始化代码段。 91MOV DX,309H MOV AL, 11 01 11 10B ;异步方式字OUT DX,AL【例10-4】某同步通信的数据格式为:双同步字符、内同步方式,
47、奇校验,字符长度8位。设8251A地址端口为309H,试写出初始化代码段。 MOV DX,309H MOV AL, 00 01 11 00B ;同步方式字OUT DX,AL92EHIRRTSERSBRKRxEDTRTxEND7D6D5D4D3D2D1D0发送允许发送允许1: 允许允许0: 禁止禁止1: 数据终端数据终端准备好准备好(使使DTR有效有效)接收允许接收允许1: 允许允许0: 禁止禁止送断点字符送断点字符1: TxD为低为低0: 正常工作正常工作 错误标志错误标志复位复位1: 请求发送请求发送(使使RTS有效有效) 内部复位内部复位搜索同步字符搜索同步字符2、命令指令格式lSBRK(
48、Send Break Character):送断点字符。送断点字符。1迫使迫使TxD为为“low”。0正常操作。正常操作。lER(Erroe reset):错误复位。即复位三个错误标志位。错误复位。即复位三个错误标志位。lIR(Internal Reset):内部复位。即返回内部复位。即返回8251A到方式指令格式。到方式指令格式。lEH(Enter Hunt Mode):进入捕猎模式。即允许搜索同步字符。进入捕猎模式。即允许搜索同步字符。93【例10-5】要使8251A内部复位,请写出代码段。(设8251地址端口为309H ) 94MOV DX,309H MOV AL, 0100 0000B
49、 ;内部复位OUT DX, AL【例10-6】某异步通信,若同时允许发送和接收。试写出代码段。(设8251地址端口为309H ) MOV DX,309H MOV AL, 0000 0101B ;允许发送和接收OUT DX, AL95DSRSYNDETFEOEPETxEmptyRxRDYTxRDYD7D6D5D4D3D2D1D03、状态字格式发送准备好发送准备好奇偶错奇偶错溢出错溢出错格式错格式错同步同步检测检测发送器发送器空空数据设备数据设备准备好准备好接收接收准备好准备好D7、D6、D2、D1位同相应的引脚定义位同相应的引脚定义完全相同完全相同lPE(Parity Error)奇偶错检测出奇
50、偶校验错,则PE置“1” lOE(Overrun Error) 溢出错当前一个字符尚未被CPU取走,后一个字符又到来,则OE置“1”lFE(Framing Error) 帧校验错仅用于异步方式,当一个字符后面没有收到规定的停止位,则FE置“1”963、状态字格式10.2.5 8251A的初始化的初始化97系统复位系统复位写入模式字(奇地址)写入模式字(奇地址) 异步?异步?写入控制字(奇地址)写入控制字(奇地址) 复位?复位?YY数据传送数据传送NY初始化流程图初始化流程图2、8251的初始化N写同步字符(奇地址)写同步字符(奇地址)写同步字符(奇地址)写同步字符(奇地址)N 单同步?单同步?