第八章 串行通信接口技术.ppt_第1页
第八章 串行通信接口技术.ppt_第2页
第八章 串行通信接口技术.ppt_第3页
第八章 串行通信接口技术.ppt_第4页
第八章 串行通信接口技术.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章 计算机串行通信技术,本章重点: 1、串行通信基础知识 2、可编程接口芯片8251及其应用,数据通信的基本方式: 并行通信与串行通信 并行通信:指利用多条数据传输线将一个数据的各位同时传送。 特点:传输速度快,适用于短距离通信。 串行通信:指利用一条传输线将数据一位位地顺序传送。 特点:通信线路简单,利用电话或电报线路就可实现通信,降低成本,适用于远距离通信,但传输速度慢。,1、串行通信基础知识,串行通信:分为同步通信(SYNC)与异步通信(ASYNC)两种方式。 收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题,异步通信 串行异步

2、通信以字符为单位进行传输,其通信协议是起止式异步通信协议 串行通信时的数据、控制和状态信息都使用同一根信号线传送 传送一个字符的信息格式:规定有起始位、数据位、奇偶校验位、停止位等,起止式异步通信协议,起始位每个字符开始传送的标志,起始位采用逻辑0电平,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位,停止位表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位,空闲位传送字符之间的逻辑1电平,表示没有进行传送,数据传输速率,比特率(Bit Rate) 每秒传输的二进制位数bps 字符中每个二进制位持续的时

3、间长度都一样,为数据传输速率的倒数 波特率(Baud Rate) 表示每秒钟传送的符号数。 若每个符号所含信息量等于1比特,则波特率等于比特率. 过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps或更高,同步通信,以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束 同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂,同步通信,同步通信的规程 面向比特(bit)型规程 现代计算机网络大多采用面向比特(bit)型规程 最典型的是高级数据链路控制协议HDLC 面向字符型规程 在这种控制规程下,发送端与接收

4、端采用交互应答式进行通信。 最典型的是IBM公司的二进制同步控制规程(BSC规程)。,传输制式,全双工,半双工,单工,在计算机串行通讯中主要使用半双工和全双工方式。,调制解调器,调制(Modulating) 把数字信号转换为电话线路传送的模拟信号 解调(Demodulating) 将模拟信号转换为数字信号 调制解调器MODEM 具有调制和解调功能的器件合制在一个装置,串行接口标准RS-232C,美国电子工业协会EIA制定的通用标准串行接口 1962年公布,1969年修订 1987年1月正式改名为EIA-232D 设计目的是用于连接调制解调器 现已成为数据终端设备DTE(例如计算机)与数据通信设

5、备DCE(例如调制解调器)的标准接口 可实现远距离通信,也可近距离连接两台微机 属于网络层次结构中的物理层,RS-232C的引脚定义,232C接口标准使用一个25针连接器 绝大多数设备只使用其中9个信号,所以就有了9针连接器 232C包括两个信道:主信道和次信道 次信道为辅助串行通道提供数据控制和通道,但其传输速率比主信道要低得多,其他跟主信道相同,通常较少使用,RS-232C的引脚(1),TxD:发送数据 串行数据的发送端 输出,发送数据到MODEM。 RxD:接收数据 串行数据的接收端 输入,接收数据到计算机或终端。,RS-232C的引脚(2),RTS:请求发送 当数据终端设备准备好送出数

6、据时,就发出有效的RTS#信号,用于通知数据通信设备准备接收数据 CTS:清除发送(允许发送) 当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS#有效信号来响应RTS#信号 RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号,RS-232C的引脚(3),DTR:数据终端准备好 通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪 DSR:数据装置准备好,(即MODEM准备好) 通常表示数据通信设备已接通电源连到通信线路上,并处在数据传输方式 DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收,RS-232C的引脚(4),

7、CD (DCD) :载波检测 表示MODEM已与电话线路连接好。 当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号 RI:振铃指示 GND:信号地 为所有的信号提供一个公共的参考电平 当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效,RS-232C的引脚(5),保护地(机壳地) 起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地 TxC:发送器时钟 控制数据终端发送串行数据的时钟信号 RxC:接收器时钟 控制数据终端接收串行数据的时钟信号,RS-232C的连接,微机利用232C接口连接调制解调器,用于实现通过电话线路

8、的远距离通信,图 调制与解调示意图,连接调制解调器,RS-232C的电气特性,232C接口采用EIA电平 高电平为3V15V 低电平为3V15V 实际常用12V或15V,标准TTL电平 高电平:2.4V5V 低电平:0V0.4V,相互转换,除了RS-232C标准以外,还有一些其它的通用的串行接口标准,如:RS-423A总线, RS-422A总线, RS-485总线等.,2、可编程的串行通信接口芯片 8251A,实现串行通信的接口芯片: USART(通用同步/异步接收/发送器),如 Intel 8251 UART(通用异步接收/发送器),如Ins 8250. 串行传输,需要并行到串行和串行到并行

9、的转换,并按照传输协议发送和接收每个字符(或数据块) 这些工作可由软件实现,也可用硬件实现,可编程串行接口芯片8251A,8251A的基本性能 同步、异步两种工作方式。 8251实现了起止式串行异步通信协议,支持全双工通信 通信字符可选择数据位为58位 停止位1、1.5或2位 可进行奇偶校验 具有奇偶错、帧错和溢出错误检测电路 8251支持的数据传输速率为509600bps,8251A内部结构图,并串转换,串并转换,(1) 发送器 发送器由发送缓冲器和发送控制电路两部分组成。 异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。

10、同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。,如果CPU与8251A之间采用中断方式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。 当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。,(2)接收器 接收器由接收缓冲器和接收控制电路两部分组成。 接收移位寄存器从RXD引脚上接收串行数据转换成并行数据后存入接收缓冲器。 异步方式:在RXD线上检测低电平,将检测到的低电平作为起始位, 8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同

11、时发出RXRDY信号送CPU,表示已经收到一个可用的数据。 同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。,(3)数据总线缓冲器 数据总线缓冲器是CPU与8251A之间的数据接口。 包含3个8位的缓冲寄存器: 两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。 一个寄存器用来存放CPU向8251A写入的数据或控制信息。,(4)读

12、/写控制电路 接收写信号 ,并将来自数据总线的数据和控制字写入8251A; 接收读信号 ,并将数据或状态字从8251A送往数据总线; 接收控制/数据信号C/ ,高电平时为控制字或状态字;低电平时为数据。 接收时钟信号CLK完成8251A的内部定时; 接收复位信号RESET,使8251A处于空闲状态。,(5)调制/解调控制电路 调制解调控制电路用来简化8251A和调制解调器的连接。,串行数据的发送,双缓冲寄存器结构 保证数据的连续发送,起始位的检测,起始检测,确定已检测到起始位,采样数据,数据接收时钟频率是数据传输频率的16倍 正确识别起始位,防止因干扰引起的误识别,串行数据的接收,双缓冲寄存器

13、结构 保证数据的连续接收,8251A和CPU之间的连接信号,8251A和CPU之间的连接信号可以分为四类: (1) 片选信号 :片选信号,它由CPU的地址信号通过译码后得到。 (2)数据信号 D0-D7:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。 (3)读/写控制信号 :读信号,低电平时, CPU当前正在从8251A读取数据或者状态信息。 :写信号,低电乎时, CPU当前正在往8251A写入数据或者控制信息。 C/ :控制/数据信号,用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/

14、控制口的选择信号。,由此可知, 、 、C/ 这3个信号的组合,决定了8251A的具体操作,它们的关系如表9.5 所示: (4)收发联络信号 TXRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。 TXE:发送器空信号,TXE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。 RXRDY:接收器准备好信号,用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。 在中断方式时,RXRDY可用来作为中断请求信号; 在查询方式时,RXRDY可用来作为查询信号。 SYNDET:同步检测信号,只用于同步方式。,82

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

16、PU及外设的连接信号外,还有电源端、地端和3个时钟端。 CLK:时钟输入,用来产生8251A器件的内部时序。 同步方式下,大于接收数据或发送数据的波特率的30倍, 异步方式下,则要大于数据波特率的4.5倍。 TXD:发送器时钟输入,用来控制发送字符的速度。 同步方式下,TXC的频率等于字符传输的波特率, 异步方式下,TXC的频率可以为字符传输波特率的1倍、16倍或者64倍。 RXD:接收器时钟输入,用来控制接收字符的速度,和TXC一样。 在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。 VCC:电源输入 GND:地,8251的工作原理

17、,1、异步接收方式:串并 2、异步发送方式:并串 3、同步接收方式:搜索同步字符 4、同步发送方式:插入同步字符,8251A的命令字,1、方式选择命令字 同步方式和异步方式控制 2、工作命令字 确定8251A的实际操作,迫使8251A处于某种工作状态,以便接收或发送数据 3、状态字 IN,8251A与CPU的信息交换方式,查询方式 中断方式,8251A编程包括两大方面: 由CPU发出的控制字,即方式选择控制字和操作命令控制字; 由8251A向CPU送出的状态字。,8251A初始化编程,写入方式选择命令字 判断同步与异步 如为异步则直接写入工作命令字 如为同步则写同步字符 数据传输,系统复位,写

18、入方式选择命令字,写入工作命令字,8251A的初始化流程图,方式选择命令字(模式字/方式字),注意: 在同步方式下,发送和接收的波特率分别和TXC, RXC引脚的输入时钟频率相等. 在异步方式下, D1D0的3种组合用以确定异步方式下的波特率因子(波特率系数),此时,TXC和RXC的频率,波特率因子和波特率之间有如下关系: f TXC, RXC=波特率因子波特率,操作命令控制字(控制字/工作命令字),8251A内部设有状态寄存器,CPU可用输入指令IN获取状态寄存器的内容,了解8251A当前的工作状态.,状态字,例,若要查询8251A接收器是否准备好,则可用下列程序段完成: MOV DX,0F

19、FF2H ;状态口 L: IN AL,DX ;读状态口 AND AL,02H ;查Dl1?即准备好了吗? JZ L ;未准备好,则等待 MOV DX, OFFF0H ;数据口 IN Al ,DX ;已准备好则输入数据,补充: 8251A应用举例 1异步模式下的初始化程序举例 设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口地址为00E2H和00E4H。完成初始化程序。 分析: 模式字为:11111010B 即FAH 控制字为:00110111B 即37H 则初始化程序如下: MOV AL, 0FAH ;送模式字 MOV DX,0

20、0E2H OUT DX, AL ;异步方式,7位/字符,偶校验,2个停止位 MOV AL,37H ;设置控制字,使发送、接收允许,清出错标志,使 、 有效 OUT DX, AL,2同步模式下初始化程序举例 设端口地址为52H,采用内同步方式,2个同步字符(设同步字符为16H),偶校验,7位数据位/字符。 分析: 模式字为:00111000B 即38H 控制字为:10010111B 即97H。 它使8251A对同步字符进行检索; 同时使状态寄存器中的3个出错标志复位; 此外,使8251A的发送器启动,接收器也启动;控制字还通知8251A,CPU当前已经准备好进行数据传输。,具体程序段如下: MO

21、V AL,38H ;设置模式字,同步模式,用2个同步字符, ; 7个数据位,偶校验 OUT 52H,AL MOV AL,16H OUT 52H,AL ;送同步字符16H OUT 52H,AL MOV AL, 97H ;设置控制字,使发送器和接收器启动 OUT 52H, AL,3利用状态字进行编程的举例 下面的程序段先对8251A进行初始化,然后对状态字进行测试,以便输入字符。本程序段可用来输入80个字符。 分析: 8251A的控制和状态端口地址为52H, 数据输入和输出端口地址为50H。 字符输入后,放在BUFFER标号所指的内存缓冲区中。,具体的程序段如下: MOV AL,0FAH ;设置模

22、式字,异步方式,波特率因子为16, OUT 52H,AL ;用7个数据位,2个停止位,偶校验 MOV AL,35H ;设置控制字,使发送器和接收器启动, OUT 52H,AL ;并清除出错指示位 MOV DI,0 ;变址寄存器初始化 MOV CX,80 ;计数器初始化,共收取80个字符 BEGIN:IN AL,52H ;读取状态字,测试RXRDY位是否为1,如为0, TEST AL,02H ;接受准备好? 故继续读取状态字并测试,JZ BEGIN IN AL,50H ;读取字符 MOV DX,OFFSET BUFFER MOV DX+DI,AL INC DI ;修改缓冲区指针 IN AL,52

23、H ;读取状态字 TEST AL,38H ;测试有无帧校验错,奇/偶校验错和 JNZ ERROR ;溢出错,如有,则转出错处理程序 L00P BEGIN ;如没错,则再收下一个字符 JMP EXIT ;如输入满足80个字符,则结束 ERROR: CALL ERR-0UT ;调出错处理 EXIT:,4两台微型计算机通过8251A相互通信的举例 通过8251A实现相距较远的两台微型计算机相互通信的系统连接简化框图如下。这时,利用两片8251A通过标准串行接口RS-232C实现两台8086微机之问的串行通信,可采用异步或同步工作方式。,分析:设系统采用查询方式控制传输过程,异步传送。 初始化程序由两

24、部分组成: 是将一方定义为发送器。发送端CPU每查询到TXRDY有效,则向8251A并行输出一个字节数据; 是将对方定义为接收器。接收端CPU每查询到RXRDY有效,则从8251A输入一个字节数据,一直进行到全部数据传送完毕为止。,发送端初始化程序与发送控制程序如下所示: STT:MOV DX,8251A控制端口 ;设置方式字 MOV AL,7FH OUT DX,AL ;将825lA定义为异步方式,8位数据,1位停止位 ;偶校验,取波特率系数为64。 MOV AL,11H ;设置控制字,允许发送。 OUT DX,AL MOV DI,发送数据块首地址 ;设置地址指针 MOV CX,发送数据块字节

25、数 ;设置计数器初值 NEXT:MOV DX,8251A控制端口 IN AL,DX AND AL,01H ;查询TXRDY有效否? JZ NEXT ;无效则等待 MOV DX,8251A数据端口 MOV AL,DI ;向8251A输出一个字节数据。 OUT DX,AL INC DI ;修改地址指针 LOOP NEXT ;未传输完,则继续下一个 HLT,接收端初始化程序和接收控制程序如下所示: SRR:MOV DX,8251A控制端口 ;设置方式字 MOV AL,7FH OUT DX,AL ;初始化8251A,异步方式,8位数据 ;1位停止位,偶校验,波特率系数64, MOV AL, 14H ;

26、设置控制字,允许接收。 OUT DX,AL MOV DI,接收数据块首地址 ;设置地址指针 MOV CX,接收数据块字节数 ;设置计数器初值 COMT: MOV DX,8251A控制端口 IN AL,DX ROR AL,1 ;查询RXRDY有效否? ROR AL,1 JNC COMT ;无效则等待 ROR AL,1,ROR AL,1 ;有效时,进一步查询是否有奇偶校验错。 JC ERR ;有错时,转出错处理 MOV DX,8251A数据端口 IN AL,DX ;无错时,输入一个字节到接收数据块。 MOV DI,AL INC DI ;修改地址指针 LOOP COMT ;未传输完,则继续下一个 HLT ERR: CALL ERR-OUT,异步通信程序,例,程序循环读取8251的通信状态寄存器 数据

温馨提示

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

评论

0/150

提交评论