4-外围接口-6.2.ppt_第1页
4-外围接口-6.2.ppt_第2页
4-外围接口-6.2.ppt_第3页
4-外围接口-6.2.ppt_第4页
4-外围接口-6.2.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

1、微机接口技术,第六章 外围接口,6.2 串行接口及应用,串行通信是计算机系统中常用的通信机制之一,串行通信的数据是按位进行传输的,和按字节传输的并行通信相比,串行通信使用的传输线少,适用于长距离的信息传送。,串行与并行,数字通信与计算机领域中,有两种基本的数据传送方式,即串行传送与并行传送,也称为串行通信与并行通信。,串行与并行,数据在单条一位宽的传输线上按时间先后一位一位地传送,称为串行传送。 数据在多条并行传输线上各位同时传送,称为并行传送。,串行与并行,串行通信的特点是节省传输线,抗干扰能力强,传输距离长。 并行通信的特点是数据传输率高。 长距离低速率的通信中采用串行传送;短距离高速率通

2、信采用并行传送。,6.2.1 串行通信基础,在串行通信中,数据的发送和接收要通过通信通路,这个通信通路就是传输线。 根据通信通路的不同连接方式,可以将串行通信分成单工、半双工和全双工3种连接方式。,单工方式,半双工方式,全双工方式,异步串行通信协议,(1)串行异步信息帧的格式 信息帧包括起始位、数据位、奇偶校验位和停止位。一个信息帧中只能包含一个字符,每个字符的数据位可以是5-8个二进制位。 串行异步信息帧的格式如图615。,串行异步通信格式,例如: ASCII Q = 51h (1010001),(2)波特率,波特率是衡量串行通信速率的重要指标。 它是每一秒在传输线上传送的二进制信息的位数,

3、以位/秒(b/s)表示,又称为数据位率,也写做bps(bit per second)。,波特率,如波特率为9600bps时,每传输一个二进制位需要的时间: 19600 = 0.0001042s= 0.1042ms 停止位的长度为1.5位时,相当于传输停止位的时间为: 0.1042*1.5=0.1563ms 假设每个字符对应1个起始位、7个数据位、1个奇偶校验位和1个停止位,传送一个字符就需要10个二进制信息位。波特率为9600时,每秒钟能传输的最大字符数为960010=960个。,标准波特率,标准波特率系列为150、300、600、1200、1800、2400、4800、9600、19200、

4、38400、57600、115200。 波特率提高后,数据传输的速度加快,但是信号传输的距离则相应地缩短。,(3)时钟误差,串行异步通信的发送方和接收方没有一个统一的时钟信号,发送方和接收方的时钟频率可能存在一定的误差。 只要双方的时钟的误差范围不超过一定的限度,双方仍然可以正确地通信。,波特率因子,假设时钟频率为fc,而波特率为fd。fc往往是fd的整数倍,即: fc = fd K K叫做波特率因子。 时钟频率 = 波特率因子波特率 接收端能对每一个信息位采样K次,K一般定为16、32或64。,波特率因子,例如:fc=9600Hz, 若波特率因子=16,则波特率=600bps。 若波特率因子

5、为=32,则波特率=300bps。,1)采用相反极性的起始位和停止位/空闲位提供准确的时间基准,2)接收器在每位的中心采样,以获得最大的收/发时钟频率偏差容限,3)接收器采用比传送波特率更高频率的时钟来控制采样时间,以提高采样的分辨能力和抗干扰能力。,为了确保异步串行通信传输正确:,图6-16示例,(4)奇偶校验,奇偶校验是以字符为单位进行校验。 如采用偶校验时,要发送字符10010001b,则校验位为1。 奇偶校验能发现奇数个信息位出错,不能发现传送过程的2个(或4、6、8个) 信息位错误。,例题: 异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止

6、位,则: 1)波特率应该是多少? 2)有效数据位传输位是多少? 3)传输效率是多少?,答: 1)波特率是 (7位数据位+1位起始位+1位校验位+1位停止位)240 =2400b/s 2)有效数据位传输位是 :7240=1680b/s 3)传输效率是:1680/2400=70%,同步串行通信协议,同步串行通信是以数据块(字符块)为信息单位传送,而每帧信息包括成百上千个字符。,(1)面向字符的同步协议,典型代表是IBM公司的二进制同步通信协议(BSC)。图6-17。,特殊字符,SYN同步字符。每一帧开始处都有SYN字符,加一个SYN的称单同步,加两个SYN的称双同步。 SOH序始字符。它表示标题的

7、开始。标题中包括源地址、目标地址和路由指示等信息。 STX文始字符。它标志着传送的正文(数据块)开始。 ETB组终字符或ETX文终字符。当正文很长、需要分成若干个分数据块、分别在不同帧中发送时,每个分数据块后面用组终字符ETB,最后一个分数据块后面用文终字符ETX。 DLE转义字符。将特定字符作为普通数据处理。,(2)面向位的同步协议,最有代表性的是IBM的同步数据链路控制规程SDLC,国际标准化组织ISO的高级数据链路控制规程HDLC等。 特点是所传输的一帧数据的长度可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,所以称为“面向比特” 协议。 格式如图6-18

8、。,标志字段,DLCHDLC标志字段。所有信息传输必须以一个标志字段开始,且以同一个字符结束。这个标志字符是01111110,称标志字段F(Flag)。 地址字段和控制字段。在标志字段之后,可以有一个地址字段A和一个控制字段C。 信息字段。跟在控制字段之后的是信息字段I。 校验字段。在信息字段之后的是两字节的帧校验字段FCS。 SDLCHDLC均采用16位循环冗余校验码CRC。,SDLC实例,01111110111110000111100010101111101001010010011111010101001111110 F: 01111110 A: 11111000 C: 01111000

9、I: 10101111101001010 1010111111001010 (删除发送端插入的0) FCS:0100111110101010 F: 01111110,四、调制与解调,在发送端使用调制器(Modulator)把数字信号转换为模拟信号,该模拟信号携带了数据信号,称为载波信号。 模拟信号经电话线传送到接收方,接收方再用解调器(Demodulator)把模拟信号变为数字信号。 大多数情况下,调制器和解调器合在一个装置中,称为调制解调器(Modem)。,常用调制方法,调幅(Amplitude Shift Keying) 调频(Frequency Modulation) 调相位(Frequ

10、ency Shift Keying),五、RS-232C标准,最通用的串行通信接口标准是由电子工业协会制定的RS 232-C标准, RS代表Recommended Standard。,DTE, DCE,Modem起着传输信号的作用,是一种数据通信设备,简称DCE。 接收设备和发送设备称为数据终端设备,简称DTE。,RS232C,RS232C涉及的仅是DTE和DCE之间互连的规定和标准,解决DTE和DCE之间的本地接口问题。 最高数据传输率 为19.2kbps时, 电缆长度不超过30米。,(1)信号电平,RS-232C采用负逻辑,将-5到-15V规定为“1”(逻辑1电平,传号Mark),+5到+

11、15V规定为“0” (逻辑0电平,空号Space)。,RS232C电平与TTL电平不兼容,需加电平转换电路,如MC1488(SN75150),MC1489(SN75154)。,电平转换,(2)控制信号的定义,联络控制信号,DTR:数据终端准备好,DTEDCE。 DSR:数据通信设备准备好,DTEDCE RTS:请求发送信号,DTEDCE。 CTS:允许发送信号,DTEDCE。,RS-232C接口互联,简单互联,6.2.2 可编程串行通信接口 8250,8250是通用异步收发器(UART),只适合作为异步串行通信接口。它和8251的一个重要区别是,8250不支持同步串行通信。,8250主要功能,

12、1)8250支持异步通信规程, 2)8250的异步通信的数据格式可由用户编程选择。 3)内部具有可编程时钟产生电路。 4)具有独立的接收时钟输入引脚。,8250主要功能,5)有CPU发向调制解调器的信号,还有能接收并记录由调制解调器发送到计算机的状态信息。可方便地与MODEM相连。 6)具有带优先级排序的中断系统,有多种中断源。 7)具有可记录所有状态信息的状态寄存器和检查起始位出错的能力。,8250的外部引脚和内部逻辑结构,P152,图6-24。 8250主要由4个部分组成:接收器、发送器、总线接口部分及调制解调器控制电路。,内部逻辑结构,1接收器 接收器实现有关接收的工作它接收在RxD引脚

13、上出现的串行数据,并按规定的格式转换成并行数据,存放在接收缓冲器中,以待MPU取出。,内部逻辑结构,2、发送器 将MPU送来的并行数据 ,按照异步通信格式,加上起始位、奇偶校验位和停止位,由TxD端发送出去。,3、总线接口部分 用于连接8250内部的数据总线和系统数据总线,通过该总线CPU发送和接收并行数据,控制状态信息也通过它传送。 4、调制解调器控制电路 实现数据通信的联络与控制。,内部逻辑结构,8250连接外部引脚,8250连接外部引脚,1、和CPU或系统连接的信号 D7-D0:双向,8位数据线。 CS0、CS1、CS2#:输入,片选信号。 A2-A0:决定所访问的内部寄存器。 ADS#

14、:输入,地址选通信号。 CSOUT:输出,片选输出信号。 DISTR和DISTR#:输入,数据输入选通信号。 DOSTR和DOSTR#:输入,数据输出选通信号。,和CPU或系统连接的信号,DDIS:输出,驱动器禁止信号。 INTRPT:输出,中断请求信号。 OUT1、OUT2:输出,由MODEM控制寄存器的第2、3位决定。 MR:输入,复位信号。,2、时钟与传送速率控制,XTAL1:输入,时钟信号。 XTAL2:输出,时钟信号。 BAUDOUT#:输出,时钟信号。 f工作时钟 = f基准时钟 除数锁存器 = 波特率 16 RCLK:输入,时钟信号。可接收由外部提供的接收时钟信号。,3、与MOD

15、EM相连接的控制信号,DSR#:输入,数据设备就绪。 DTR#:输出,数据终端就绪。 RI#:输入,振铃指示。 RLSD#:输入,接收线路信号检测(有时也称为DCD#)。 RTS#:输出,请求发送。 CTS#:输入,清除发送(允许发送)。,4、串行数据发送和接收信号,SOUT:输出,串行数据输出。与TxD连接,但中间需要经过一个TTL电平到RS-232电平的转换。 SIN:输入,串行数据输入信号。与RxD连接,但中间需要经过一个RS-232电平到TTL电平的转换。,PC机的串行口,5、8250的寄存器以及寻址,8250内部有12个可访问的寄存器。 由A2,A1,A0控制选择,共8个地址,有一些

16、地址被共用。,8250内部寄存器地址,(1) 发送保持寄存器THR (2) 接收缓冲寄存器RBR,D7 D0,CPU来的8位数据并行进THR,THR,低位到高位串行移位到SOUT引脚输出,D7 D0,接收移位寄存器,发送移位寄存器,RBR,低位到高位从SIN引脚串行移位进来,8位数据并行进CPU,发送方,接收方,DLAB=0,A2A1A0=000,发送和接收,mov dx,3f8h in al,dx;接收数据 mov dx,3f8h mov al,待发送字符 out dx,al;发送数据,(3) 线路状态寄存器LSR,D7 D6 D5 D4 D3 D2 D1 D0,DR,OE,FE,PE,BI

17、,THRE,TSRE,接收缓冲区满,接收重叠错,接收奇偶错,接收格式错,中止识别标志,发送保持器空,发送移位器空,FIFO中接收数据错误(16550),A2A1A0=101,8250发送、接收程序实例,设8250的基地址为3F8H,则: 发送保持寄存器、接收缓冲寄存器的地址为3F8H(对应于A2A1A0=000b) 。 线路状态寄存器的地址为3FDH(A2A1A0=101b)。,从串行接口发送一个字符AL的程序如下: SendByte proc push ax ; 要发送的数据压栈 mov dx, 3fdh ; LSR端口号 - DX SendByteBusy: in al, dx ; 读入端

18、口状态 - AL test al, 20h ; 测试状态中的第5位THRE jz SendByteBusy ; THRE=0, 继续查询 pop ax ; 要发送的数据出栈 mov dx, 3f8h ; THR端口号 - DX out dx, al ; 数据发送到THR ret SendByte endp,从串行接口接收一个字符到AL中的程序如下: ReceiveByte proc mov dx, 3fdh ; LSR端口号 - DX NoByteReceived: in al, dx ; 读入端口状态 - AL test al, 01h ; 测试状态中的第0位DR jz NoByteRece

19、ived ; DR=0, 继续查询 mov dx, 3f8h ; RBR端口号 - DX in al, dx ; 读入RBR中的数据字节 ret ReceiveByte endp,(4) 线路控制寄存器LCR,D7 D6 D5 D4 D3 D2 D1 D0,WLS0,WLS1,PEN,STB,EPS,SP,SB,DLAB,字符长度选择 005位 016位 107位 118位,停止位选择 01位 11.5位(D1D0=00) 2位(D1D0!=00),11偶校验 01奇校验,附加奇偶标志位选择 0不附加 1附加1位,中止设置 1中止 0正常,除数寄存器访问允许 0禁止 1允许,A2A1A0=01

20、1,例如,设置发送字符长度为8位,2位停止位,偶校验,线路控制寄存器应设为00011111B。线路控制寄存器的地址为3FBH(A2A1A0=011b),其程序段为: MOV DX, 3FBH ; LCR口地址 MOV AL, 00011111B ; LCR的内容 OUT DX, AL,(5) 除数锁存器(DLL/DLM),8250芯片串行数据传输的速率是由除数寄存器控制的。 按照以下公式计算除数锁存器的内容: F工作时钟=f基准时钟/除数锁存器=波特率*16,分频系数与波特率对应表,除数锁存器,例如,选取波特率为2400,则除数锁存器=115200 2400=48=0030H。将00H写入DL

21、M,30H写入DLL。,MOV DX,3FBH ; 置LCR口地址 MOV AL,80H ; DLAB=1 OUT DX,AL ; 之后,3F8H、3F9H对应于DLL、DLM MOV DX,3F8H ; DLL的I/O地址 MOV AL,30H ; 商的低字节 OUT DX,AL ; 写入DLL MOV DX,3F9H ; DLM的I/O地址 MOV AL,00H ; 商的高字节 OUT DX,AL ; 写入DLM MOV DX, 3FBH ; LCR的I/O地址 MOV AL, 00011111B ; LCR的内容,数据格式参数 OUT DX, AL; DLAB=0之后,3F8H对应于TH

22、R/RBR,3F9H对应于IER,设置波特率为2400bps的程序如下:,(6) 中断允许寄存器IER,D7 D6 D5 D4 D3 D2 D1 D0,I2E,I1E,I3E,0,类型2中断(接收缓冲器满) 1-允许 0-屏蔽,类型1中断(发送保持器空) 1-允许 0-屏蔽,类型3中断(接收出错) 1-允许0-屏蔽,进入低功耗模式(16550),进入睡眠模式 (16750),DLAB=0,A2A1A0=001,I0E,0,类型0中断(MODEM状态改变) 1-运行 0-屏蔽,(7) 中断识别寄存器IIR,D7 D6 D5 D4 D3 D2 D1 D0,NINT,S1,S2,0,未决中断指示 0

23、-有 1-无,中断类型标识,超时中断 0-不超时 1-超时,允许64字节FIFO(16750) 0-禁止 1-允许,FIFO使 用指示 (16550) 01-允许FIFO但不可用 11-允许FIFO,A2A1A0=010(读),中断类型标识,(8) MODEM控制寄存器MCR,A2A1A0=100,D7 D6 D5 D4 D3 D2 D1 D0,DTR,RTS,OUT1,0,数据终端就绪,请求发送,辅助输出1,自动流量控制(16750),环路检测(内部自循环),OUT2,0,辅助输出2,PC用做中断,LOOP,例如,要使MCR中的DTR、RTS有效,OUT1、OUT2以及LOOP无效,则可用下

24、列程序: MOV DX,3FCH ; MCR端口地址 MOV AL,00000011B ; MCR的控制字 OUT DX,AL,(9) MODEM状态寄存器MSR,A2A1A0=110,D7 D6 D5 D4 D3 D2 D1 D0,CTS,DSR,TERI,RLSD,CTS位发生改变,DSR位发生改变,收到“振铃指示”后沿,收到“DSR就绪” DCE-DTE,收到“允许发送” DCE-DTE,RLSD,RI,RLSD位发生改变,CTS,DSR,收到“振铃指示”,收到“接收线载波检测”,(10)暂存寄存器(SR),不影响8250的工作状态。 暂存一个字节。,8250编程举例,完成以下设置: 数据传输速率1200波特 通信格式为7位/字符,2位停止位,奇校验 不

温馨提示

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

评论

0/150

提交评论