微机原理与接口技术第六章.ppt
《微机原理与接口技术第六章.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术第六章.ppt(107页珍藏版)》请在三一办公上搜索。
1、微机原理与接口技术,黄景涛Tel:13613796210Email:Lab:10-825,河南科技大学电子信息工程学院,2,第6章 串并行通信和接口技术,本章重点串并行通信接口通信规程和通信标准8251A和8255A的特点及应用8251A和8255A的编程,3,6.1 接口的功能及在系统中的连接,6.1.1接口的功能寻址能力:对送来的片选信号进行识别。输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。联络功能:就绪信号,忙信号等。中断管理:发出中断请求信号、接收中断响应信号、发送中断类型码的功能。并具有优先级管
2、理功能。复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。错误检测:一类是传输错误。另一类是覆盖错误。,4,典型的I/O接口和外部电路连接图,5,6.1.2 接口与系统的连接,接口电路位于CPU与外设之间从结构上可以把一个接口分为两个部分:面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号 面向外设一侧的信号:用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大,6,6.2 串行接口和串行通信,6.2.1 串行接口串行通信:用一根信号线将数据逐位顺序传送;在传输过程中,每一位数据占一个固定的时间
3、长度。串行通信的优势:通信线路少,在远距离通信时可以极大地降低成本;适合于远距离数据传送;也常用于速度要求不高的近距离数据传送,7,可编程串行接口的典型结构,控制寄存器用来容纳CPU送给此接口的各种控制信息,决定接口的工作方式,状态寄存器的各位叫状态位每一个状态位都可以用来指示传输过程中的某一种错误或者当前传输状态,数据输入寄存器总是和串行输入并行输出移位寄存器配对使用的。在输入过程中,数据一位一位从外部设备进入接口的移位寄存器,当接收完1个字符以后,数据就从移位寄存器送到数据输入寄存器,再等待CPU来取走,串行,并行,8,可编程串行接口的典型结构,一般有4个主要寄存器控制寄存器状态寄存器数据
4、输入寄存器数据输出寄存器CPU可以访问串行接口中的4个主要寄存器;控制寄存器和数据输出寄存器是只写的;状态寄存器和数据输入寄存器是只读的;可以用读信号和写信号来区分这两组寄存器,再用1位地址来区分2个只读寄存器或2个只写寄存器。(图示),9,6.2.2 串行通信涉及的几个问题,全双工,站A,站B,站A,站B,站A,站B,半双工,单 工,1.全双工方式和半双工方式,2.同步方式和异步方式串行异步通信按字符传送;不传送时钟信号串行同步通信按帧(多个字符)传送;传送时钟信号无论同步方式还是异步方式,都是串行传送,图示,10,同步通信通信双方使用同一时钟,以数据块(帧,多个字符组成)为传输单位双方使用
5、同一时钟(主控方提供时钟,被控方接收时钟)外同步:时钟信号另外安排一根传输线自同步:发送时将时钟信号与数据混合编码,接收时译码出时钟信号数据格式:每个数据块前加12个同步字符(同步头)进行帧同步。同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂串行同步通信主要应用在网络当中,最常使用的同步通信协议有高级数据链路控制协议(HDLC),11,同步通信的数据格式,同步字符,数据块,同步字符1,同步字符2,CRC 1,数据块,CRC 2,CRC 1,CRC 2,单同步格式,双同步格式,同步传输不允许有间隙,12,异步通信通信双方使用各自的时钟,串行通信时的数据、控制和状态信息都使用同一根信号线
6、传送收发双方必须遵守共同的通信协议(通信规程)串行异步通信以字符为单位进行传输,每个字符的前后都要有分隔位。与同步方式不同,两个字符之间的传输间隔是任意的。数据格式:起止式异步通信协议,13,起止式异步通信协议,起始位每个字符开始传送的标志,起始位采用逻辑0电平,起始位,附加位,停止位,空闲位,数据位,低位,高位,字符,1,0,1,1,1,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送,附加位该位可用于校验或数据标识:可选择奇检验、偶校验或无校验位,停止位表示该字符传送结束。停止位为逻辑1电平,可选择1、1.5、2位。,空闲位传送字符之间的逻辑1电平,表示没有进行传送,14,波
7、特率和波特率因子,发送时钟:在用异步方式进行通信时,发送端需要用时钟来决定每一位对应的时间长度接收时钟:在用异步方式进行通信时,接收端也需要用一个时钟来测定每一位的时间长度发送时钟和接收时钟的频率可以是位传输率的16倍、32倍或者64倍,这个倍数称为波特率因子,而位传输率称为波特率。数据传输速率也称比特率(Bit Rate)每秒传输的二进制位数bps字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数当进行二进制数码传输,且每位时间长度相等时,比特率等于波特率过去,串行通信(异步)的数据传输速率限制在50 bps到9600 bps之间。现在,串行通信可以达到115200 bps或更高,
8、15,接收时对起始位的检测(波特率因子为16),起始检测,确定已检测到起始位,采样数据,起 始 位,时钟(RCLK),数据线(RxD),T,16 T,16 T,8 T,数据接收时钟频率是数据传输频率的16倍,正确识别起始位,防止因干扰引起的误识别,16,接收错误的处理,奇偶错误PE(Parity Error)若接收到的字符的“1”的个数不符合奇偶校验要求帧错误FE(Frame Error)若接收到的字符格式不符合规定(如缺少停止位)覆盖错误OE(Overwrite Error)若接收移位寄存器接收到一个数据,并送至输入缓冲器时,CPU还未取走前一个数据,就会出现数据覆盖若接收缓冲器的级数多,则
9、覆盖错误发生的几率就小,17,通用异步收发器UART,通用异步收发器UART具备如下功能:将并行数据变为串行数据;按格式把数据发送出去;能够接收串行格式的数据,再把它变成并行数据;能够检测奇偶错误、覆盖错误和信息帧格式错误;,18,6.3 可编程串行通信接口8251A,6.3.1 8251A的基本性能两种工作方式(通过编程设置):同步方式同步方式,波特率为064K,58位数据,自动检测同步字符异步方式。异步方式,波特率为019.2K,58位数据,1位奇偶校验,自动添加一个启动位及1、1.5或2个停止位全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。提供出错检测具有奇偶、覆盖和帧错误三种
10、校验电路。(UART),19,8251A的基本性能,同步方式下的格式每个字符可以用5、6、7或8位来表示;并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。异步方式下的格式每个字符也可以用5、6、7或8位来表示;时钟频率为传输波特率的1、16或64倍;用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1个、15个或2个停止位。可以检查假启动位,自动检测和处理终止字符。,返回,20,6.3.2 8251A的基本工作原理,8251A的编程结构,数据输入缓冲寄存器和数据输出缓冲寄存器使用同一个端口地址,实际上为两个端口,一个为输入端口,
11、一个为输出端口,所以,不会混淆起来,接收移位寄存器将到达RxD端的串行数据接收之后进行移位,变为8位并行数据,传送到数据输入缓冲寄存器,然后通过数据总线传送到CPU,输出数据过程中,CPU通过数据总线将数据送到8251A数据输出缓冲寄存器,再传输到发送移位寄存器。移位寄存器用移位的办法将并行数据变为串行数据,然后,从TxD端送出,控制寄存器用来控制8251A的工作,它的内容是由程序设置的,状态寄存器则在8251A的工作过程中为执行程序提供一定的状态信息,模式寄存器的内容决定了8251A到底工作在同步模式还是工作在异步模式,还决定了所接收和发送的字符的格式,21,8251A的功能结构,22,82
12、51A的发送和接收(异步),并行数据,检测接收错误删除起始位、校验位、停止位,串行数据,CPU,接收缓冲寄存器,接收移位寄存器,接收控制电路,8251,RxD,双缓冲寄存器结构,保证数据的连续接收,串行数据的异步接收,23,接收时对起始位的检测,起始检测,确定已检测到起始位,采样数据,起 始 位,时钟(RCLK),数据线(RxD),T,16 T,16 T,8 T,数据接收时钟频率是数据传输频率的16倍,正确识别起始位,防止因干扰引起的误识别,24,CPU,发送缓冲寄存器,发送移位寄存器,发送控制电路,8251,TxD,串行数据的异步发送,并行数据,加入起始位、校验位、停止位,串行数据,双缓冲寄
13、存器结构,保证数据的连续发送,当程序置允许发送位TxEN为1,并且由外设发来的对CPU请求发送信号的响应信号-CTS(clear to send)有效后,便开始发送过程,25,异步方式下的数据传输格式,26,同步接收方式和同步发送方式,27,6.3.3 8251A的对外信号,8251A和CPU之间的连接信号,28,连接信号,片选信号 CS低电平有效它由CPU的地址信号通过译码后得到。数据信号D0-D7三态,双向数据线与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。,29,连接信号,读/写控制信号RD:读信号,低电平时有效CPU当前正在从8251A
14、读取数据或者状态信息。WR:写信号,低电平时有效CPU当前正在往8251A写入数据或者控制信息。C/D:控制/数据信号用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/控制口的选择信号。,30,连接信号,收发联络信号 TxRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。TxE:发送器空信号,TxE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。,31,连接信号,RxRDY:接收器准备好信号用来表示当前8251A已经从外部设备接收到一个字符,等待CPU来取走。在中断方式时,RXRDY可用来作为中
15、断请求信号;在查询方式时,RXRDY可用来作为查询信号。SYNDET:同步检测信号只用于同步方式,32,28251A与外部设备之间的连接信号,分为两类:收发联络信号 DTR:数据终端准备好信号通知外部设备,CPU当前已经准备就绪。DSR:数据设备准备好信号表示当前外设已经准备好。,33,28251A与外部设备之间的连接信号,RTS:请求发送信号表示CPU已经准备好发送。CTS:允许发送信号是对RTS的响应信号由外设送往8251A。,34,28251A与外部设备之间的连接信号,数据信号 TxD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TxD送往外设。RxD:接
16、收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式,35,3.时钟、电源和地,CLK:时钟输入用来产生8251A器件的内部时序。同步方式下,大于接收数据或发送数据的波特率的30倍异步方式下,则要大于数据波特率的4.5倍。,36,3.时钟、电源和地,TxC:发送器时钟输入;用来控制发送字符的速度。同步方式下,TxC的频率等于字符传输的波特率;异步方式下,TxC的频率可以为字符传输波特率的1倍、16倍或者64倍。,37,3.时钟、电源和地,RxC:接收器时钟输入;用来控制接收字符的速度,和TxC一样。实际使用时,RxC和TxC往往连在一起,由同一个外部时钟来提供。V
17、CC:电源输入 GND:地,38,6.3.3 8251A的编程,关于8位接口芯片和16位数据总线的连接问题8086CPU有一个必须遵守的约定,即低8位数据线总是与偶地址存储单元或端口关联,而高8位数据线总是与奇地址存储单元或端口关联;为满足这一要求,连接时在硬件上将总线的A1与8251A的A0引脚相连接;在软件设计时用连续的偶地址代替端口的奇偶地址;解决8位接口芯片与16位数据总线的连接,39,28251A的初始化,三个约定(偶地址端口是数据端口):芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。(2)如果模式字中规定了8251A工作在同步模式,CPU接着往奇地址端口输出的1
18、个或2个字节就是同步字符,同步字符被写入同步字符寄存器。如果有2个同步字符,则会按先后分别写入第1个同步字符寄存器和第2个同步字符寄存器。(3)之后,由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。,40,初始化流程图,OUT PORTo,AL,OUT PORTo,AL,OUT PORTo,AL,OUT PORTo,AL,OUT PORTe,AL,41,3模式寄存器的格式,也同时规定了TxC和RxC的频率频率=波特率*波特率因子,42,4控制寄存器的格式,43,5状态寄存器的格式,该状态位与TxRDY引脚不同,TxRDY引脚为1的
19、条件是:数据缓冲器空CTSTxEN=1,44,6.3.5 8251A应用举例,1异步模式下的初始化程序举例 设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口地址为0042H。完成初始化程序。分析:根据题目要求,可以确定模式字为:11111010B,即FAH而控制字为:00110111B 即37H,对于CPU来说是偶地址,对于接口是奇地址,45,波特率因子为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,模式字,46,发送、接收允许,控制字,47,1异步模式下的初始化程序举例,初始化程序如下:MOV AL,0FAH;送
20、模式字OUT 42H,AL;异步方式,7位/字符,偶校验,2个停止位 MOV AL,37H;设置控制字,使发送、接收允许,清出错标志,使 和 有效OUT 42H,AL;,48,2同步模式下初始化程序举例,设端口地址为42H,采用内同步方式,2个同步字符(设同步字符为16H),偶校验,7位数据位/字符 根据要求:确定模式字为:00111000B 即38H控制字为:10010111B 即97H;使8251A对同步字符进行检索;同时使状态寄存器中的3个出错标志复位;使8251A的发送器启动,接收器也启动;还通知8251A,CPU当前已经准备好进行数据传输。,49,采用内同步方式,2个同步字符(同步字
21、符为16H),偶校验,7位数据位/字符,模式字,50,对同步字符进行检索;使3个出错标志复位;使8251A的发送器启动,接收器也启动;数据终端准备好。,控制字,51,2同步模式下初始化程序举例,具体程序段如下:MOV AL,38H;设置模式字,同步模式,用2个同步字符OUT 42H,AL;7个数据位,偶校验MOV AL,16H OUT 42H,AL;送同步字符16HOUT 42H,AL MOV AL,97H;设置控制字,使发送器和接收器启动OUT 42H,AL,52,3利用状态字进行编程的举例,先对8251A进行初始化,然后对状态字进行测试,以便输入字符。本程序段用来输入80个字符。分析:82
22、51A的控制和状态端口地址为42H数据输入和输出端口地址为40H字符输入后,放在BUFFER标号所指的内存缓冲区中。具体的程序段如下:,53,参考程序,MOV AL,0FAH OUT 42H,AL MOV AL,35H OUT 42H,AL MOV DI,0 MOV CX,80B:IN AL,42H TEST AL,02H JZ B IN AL,40H,MOV DX,OFFSET BUFFER MOV DX+DI,AL INC DI IN AL,42H TEST AL,38H JNZ E LOOP B JMP EXITE:CALL ERR-OUT EXIT:,54,6.4 并行通信和并行接口,
23、并行传输以计算机的字长为传输单位(通常是8位、16位或32位),一次可传送1个字长的数据并行传输是微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部件之间适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器,55,典型的并行接口和外设连接的示意图,*,输入准备好,*,56,6.5 可编程并行通信接口8255A,8255A是一个通用的可编程的并行接口芯片;它有三个并行I/O口;可通过编程设置多种工作方式;价格低廉,使用方便,可以直接与Intel系列的芯片连接使用;在中小系统中有着广泛的应用,57,6.5.1 8255A的内部结构,数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 第六

链接地址:https://www.31ppt.com/p-5383612.html