并行接口和串行接口.ppt_第1页
并行接口和串行接口.ppt_第2页
并行接口和串行接口.ppt_第3页
并行接口和串行接口.ppt_第4页
并行接口和串行接口.ppt_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

第8章并行接口与串行接口,8.1并行接口8.2串行通信与串行接口,两种基本的数据传送方式:,计算机中:串行数据传送方式和并行数据传送方式。在通信中:则称为串行通信和并行通信。串行数据传送方式:不同权值的数据位在单条一位宽的传输线上按时间先后一位一位地传送。并行数据传送方式:不同权值的数据位在多条并行传输线上同时传送。,8.1并行接口,8.1.1并行接口技术概述8.1.2可编程并行接口芯片8255A,8.1.1并行接口技术概述,并行接口:实现并行传送的接口就是并行接口。并行传送的特点:在同样的时钟速率下其传送速率高,但远距离传送成本较高。适用场合:传输速率要求高,而传输距离较近的场合。并行输入口并行接口类型:并行输出口并行输入/输出口,简单并行接口例如:可用锁存器/驱动器74LS244或74LS373等构成简单并行输入或输出接口,用74LS245等可构成双向并行接口。可编程并行接口芯片例如:通用可编程并行接口芯片有8155A/8156A、8255A等。,硬件实现,图8.1简单并行接口,用I/O写信号作锁存控制,并行接口的典型硬件结构,8.1.2可编程并行接口芯片8255A,1.8255A的内部结构A端口B端口四个端口寄存器:C端口控制端口两组控制电路8255A内部结构:一个数据总线缓冲器一个读/写控制逻辑电路,图8.28255A的内部结构框图,控制端口未画出,端口A:8位双向I/O口。输入锁存、输出锁存/缓冲。工作在方式:0、1、2;端口B:8位双向I/O口。输入锁存、输出锁存/缓冲。工作在方式:0、1;端口C:8位双向I/O口。输入不锁存、输出锁存。工作在方式:方式0和按位置位/复位方式。另外:当端口A、B工作在方式1和端口A工作在方式2时,C口作为联络信号使用。故将端口C分为上C口(PC7PC4)和下C口(PC3PC0),分别由A、B口两组控制电路控制。,(1)三个输入/输出端口,A组控制:控制PA7PA0和PC7PC4(2)两组控制电路:B组控制:控制(PB7PB0和PC3PC0CPU通过8255A输入的数据CPU通过8255A输出的数据(3)数据总线缓冲器:传送的信息CPU写给8255A的控制字CPU从8255A读入的状态字,状态字由C口读入,反映方式1和2的中断允许及联络信号情况,(4)读/写控制电路:接收CPU来的地址和控制信号,控制8255A完成读写操作。,2.8255A的引脚信号,8255A是一个40引脚双列直插的集成芯片其引脚分为五类:1、数据线2、地址线3、控制线4、I/O端口线5、电源与地线,图8.38255A引脚图,8255A的引脚信号,(1)数据线D7D0:双向三态。用于传送:CPU从8255A各端口读入的数据;CPU向8255A各端口写出的数据;CPU从8255A各端口读入的状态;CPU向8255A写出的控制字。,8255A的引脚信号,(2)地址线A1、A0:输入。用于寻址8255A内部各端口,A1、A0的不同状态与各端口的对应关系如下:A1A0对应端口00A口01B口10C口11控制口,8255A的引脚信号,(3)控制线片选信号:输入。用于选中8255A芯片,低电平有效。读信号:输入。连接微机总线I/O读信号,用于控制8255A读操作,低电平有效。写信号:输入。连接微机总线I/O写信号,用于控制8255A写操作,低电平有效。复位信号RESET:输入。连接微机总线的RESET。用于使8255A复位,高电平有效。(当RESET引脚上来一上升沿,且使其高电平维持一定时间时,8255A所有内部寄存器被清零,同时,3个数据端口被自动设置为输入端口。),8255A的引脚信号,(4)I/O端口线PA7PA0:双向。端口A数据信号线。PB7PB0:双向。端口B数据信号线。PC7PC0:双向。端口C数据信号线。(5)电源与地线Vcc:电源线,+5V。GND:接地端。,3.8255A的编程,在使用Intel8255A时,首先应根据需要对它进行初始化编程,在工作过程中若需改变工作方式或数据传送方向等,也必须对其编程。实际上对8255A的编程十分简单,就是通过CPU向其控制端口写入相应控制字实现。,工作方式选择控制字端口C置位/复位控制字,8255A的控制字:,8255A的控制字,(1)工作方式选择控制字作用:规定8255AI/O端口的工作方式和数据传输方向。格式:工作方式选择控制字的格式如图8.4所示:,图8.48255A工作方式选择控制字的格式,8255A工作方式选择控制字的格式,8255A的三种基本工作方式:,方式0基本输入/输出方式。端口A、B、C都可工作在此方式。方式1选通输入/输出方式,端口A、B可以工作在此方式。端口C作联络信号。方式2双向输入/输出方式,只有端口A可以工作在此种方式,端口C作为它的联络信号。说明:属于同一组的两个端口可以同时工作在输入或输出方式,也可以分别工作在输入或输出方式,不要求一定同为输入方式或同为输出方式。D7为标志位,必须为1,用来与C口置位/复位控制字区别。,8255A的控制字,(2)端口C置位/复位控制字作用:将端口C某位置1或清零。格式:端口C置位/复位控制字格式如图8.5所示。说明:8255A端口C的各数位常作为控制位来使用,故该芯片的设计者使得端口C各数位可以按位操作,即用置位/复位控制字单独设置。,端口C置位/复位控制字格式,图8.5端口C置位/复位控制字格式,(3)8255A的编程举例,例8.1如图8.6所示,在8088系统中,8255A的A口用于驱动8个发光二极管L7-L0,PB0接一开关K。要求根据读入的开关状态使L7-L0按不同规律发光,8255A的四个端口地址分别为218H、219H、21AH、21BH。,控制字都用输出指令写入8255A控制端口。不同控制字用标志位来识别。(写入指令:“OUTPORT,AL”),控制端口地址,图8.6例8.1的硬件连接图,由译码电路确定的端口地址,例8.1,工作在方式:A口应工作在方式0,输出;B口应工作在方式0,输入。工作方式控制字:100001B。其中“”表示无关位。可见这种情况下方式控制字不唯一,具体有四种情况:82H、83H、8AH、8BH。若选择无关位为0,则方式控制字为82H。这时初始化程序段如下:,MOVDX,21BH;DX指向8255A控制端口MOVAL,82H;工作方式控制字82H送ALOUTDX,AL;将工作方式控制字写入8255A控制端口,初始化程序段:,分析:按题目要求可知:,与C口无关,例8.2:,如图8.7所示。8086系统中,8255A的PC0,PC1分别接外部设备0和外部设备1,作为两设备启停控制信号。PA0、PA1分别接外部设备0和外部设备1的状态输出端,作为两设备的状态指示。要求:PA0=0时,PC0=1(启动设备0);PA0=1时,PC0=0(关闭设备0);PA1=0时,PC1=0(关闭设备1);PA1=1时,PC1=1(启动设备1)。设8255A的端口地址为300H、302H、304H、306H。,8086系统中连接8位外设问题讨论,外设通过8255A固定连接8086的低8位数据线:端口地址均为偶地址;外设通过8255A固定连接8086的高8位数据线:端口地址均为奇地址。,实现方法:8086的地址总线A2、A1分别连接8255A的A1、A08086的地址总线A0空闲不用。,如此:既满足了8086的数据格式要求,又满足了8255的端口寻址要求。,图8.7例8.2的硬件连接图,由译码电路确定的端口地址,例8.2,MOVDX,306HMOVAL,10010000B;8255初始化OUTDX,AL;写控制字L0:MOVDX,300HINAL,DX;读A口状态RCRAL,1;判断A0;读A0并判断MOVBL,AL;保护读入数据JCL1;A0=1转L1MOVDX,306HMOVAL,00000001BOUTDX,AL;A0=0时,C0置1启动设备0JMPL2,由题意可知,可使A口工作在方式0,输入;C口按位置位/复位。工作方式控制字为:1001B,在此选用方式字为10010000B,则有关程序段如下:,例8.2,L1:MOVDX,306HMOVAL,00000000BOUTDX,AL;A0=1时,C0清0关闭设备0L2:RCRBL,1;判断A1JCL3MOVDX,306H;A1=0时,C1清0关闭设备1MOVAL,00000010BOUTDX,ALJMPL0L3:MOVDX,306H;A1=1时,C1置1启动设备1MOVAL,00000011BOUTDX,ALJMPL0,4.8255A的工作方式,(1)方式0:基本输入/输出方式0的工作特点任何一个端口可作为输入口,也可作为输出口,各端口之间没有必然的联系。各个端口的输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。,方式0的输入/输出时序,图8.98255A方式0的输出时序,方式0的使用场合方式0的使用场合有两种:同步传送(即无条件传送)查询式传送。(用户自己定义联络信号),(2)方式1:选通输入/输出,方式1的工作特点端口A、B均可工作在方式1,可作输入口或输出口。如果8255A的端口A、B中只有一个工作于方式1,那么,端口C中就有3位被规定为配合方式1工作的信号,此时,另一个端口可以工作在方式0,端口C中的其他位也可以工作在方式0,作为输入或者输出。如果8255A的端口A、B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位,仍可作为输入或输出。,方式1输入时,有关信号的规定和输入时序当端口A工作在方式1并作为输入端口时:PC4-选通信号输入端PC5-输入缓冲区满信号输出端IBFAPC3-中断请求信号输出端INTRA当端口B工作在方式1并作为输入端口时:PC2-选通信号输入端PC1-输入缓冲区满信号输出端IBFBPC0-中断请求信号输出端INTRB,8255A方式1输入对应的联络信号,图8.10,中断允许,中断允许,方式1,各控制信号的作用(Strobe):选通信号输入端,低电平有效。作用:将外设送来的数据,选通到8255A某端口。IBF(InputBufferFull):缓冲器满信号,高电平有效。作用:8255A输出的状态信号,当它有效时,表示当前已有一个新的数据在输入缓冲器中,此信号一般供CPU查询用,也可作为送给外设的回答信号。INTR(InterruptRequest):8255A送住CPU的中断请求信号,高电平有效。作用:当输入缓冲器满信号已为高电平时,8255A会向CPU发出中断请求信号,即将INTR端置为高电平。,INTE(InterruptEnable):中断允许信号,是控制中断允许或中断屏蔽的信号。作用:屏蔽或允许中断。(INTE没有外部引出端,它是由软件通过对C口的置1指令或置0指令来实现对中断的控制的。)对PC4置1,则使A端口处于中断允许状态对PC4置0,则使A端口处于中断屏蔽状态对PC2置1,则使B端口处于中断允许状态对PC2置0,则使B端口处于中断屏蔽状态,在执行输入指令之前设置,方式1的输入时序,图8.118255A方式1输入时序,当端口A工作在方式1并作为输出端口时PC7-输出缓冲器满信号输出端PC6-外设接收数据后的响应信号输入端PC3-中断请求信号INTRA输出端当端口B工作在方式1并作为输出端口时PC1-输出缓冲器满信号输出端PC2-外设接收数据后的响应信号输入端PC0-中断请求信号INTRB输出端。,方式1输出时,有关信号的规定和输出时序,图8.128255A方式1输出对应的控制信号,0,(OutputBufferFull):输出缓冲器满信号,低电平有效。当有效时,表示CPU已经向指定的端口输出了数据,所以是8255A用来通知外设取走数据的信号。(Acknowledge):外设响应信号,低电平有效。当有效时,表明CPU通过8255A输出的数据已送到外设。INTR(InterruptRequest):中断请求信号,高电平有效。当输出设备从8255A端口中提取数据,从而发出信号后,8255A便向CPU发新的中断请求信号,以便CPU再次输出数据。,方式1,INTE(InterruptEnable):中断允许信号。与端口A、B工作在方式1输入情况时INTE的含义一样PC6为1,则使端口A的INTE为1,PC6为0,则使端口A的INTE为0。PC2为1,使端口B的INTE为1,PC2为0,则使端口B的INTE为0。,在执行输出指令之前设置,方式1的输出时序,图8.138255A方式1输出时序,方式1的使用场合,在许多采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或者数据接收应答信号,那么,常常使8255A的端口工作于方式1。用方式1工作比用方式0更加方便有效。,(3)方式2:双向选通输入/输出,方式2的工作特点方式2只适用于端口A。端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制信号和状态信号。,方式2工作时的控制信号和状态信号输入:PC4-;PC5-IBFA输出:PC6-;PC7-中断请求:PC3-INTRA,8255A方式2的控制信号,图8.148255A方式2的控制信号,用C0、C1、C2,各控制信号和状态信号的含义,INTRA(InterruptRequest):中断请求信号,高有效。输入输出时,当一个动作完成而要进入下一下动作时,8255A都通过这一引腿向CPU发出中断请求信号。(Strobe):外设供给8255A的选通信号,低有效。此信号将外设送到8255A的数据打入输入锁存器。IBFA(Inputbutterfull):这是8255A送往CPU的状态信息,表示当前已有一个新的数据送到输入缓冲器中,等待CPU取走。IBFA可以作为供CPU查询的信号。(OutputBufferFull):输出缓冲器满信号,由8255A送给外设的状态信号,低有效,表示CPU已经将一个数据写入8255A的端口A,通知外设将数据取走。(Acknowledge):外设对信号的响应信号,低有效,它使8255A的端口A的输出缓冲器开启,送出数据。否则,输出缓冲器处于高阻状态。,INTE1(InterruptEnable):输出中断允许信号。PC6为1,则INTE1为1,允许输出中断;PC6为0,则INTE1为0,禁止输出中断。INTE2(InterruptEnable):输入中断允许信号。PC4为1,则INTE2为1,允许输出中断;PC4为0,则INTE2为0,禁止输出中断。,8255A方式2的中断允许信号,8255A方式2的时序,图8.158255A方式2的时序,方式2的使用场合,方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出的动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就会非常合适。,图8.168255A用作并行打印机接口,用8255A作为并行打印机接口,如图8.16所示,端口A作为数据输出口,端口C作为联络信号,端口B及端口C其余I/O线未使用,它们可设定为输入也可设定为输出。,5.8255A的应用,查询方式,中断方式,也可以用C7,8086,8086,8.2串行通信与串行接口,8.2.1串行通信概述8.2.2可编程串行接口芯片8251A8.2.3微机系统中的串行接口及其应用,8.2.1串行通信概述,串行通信就是不同权值的数据位在单条一位宽的传输线上按时间先后一位一位地进行传送。对于长距离、低速率的通信,串行方式往往是唯一的选择。现成的公共电话网一直是最通用的长距离通信介质。它虽然是为传输声音信号而设计的,但利用调制解调技术,可使现成的电话系统成为实用的串行数据通信的媒体。,1.串行通信常用术语和基本概念,(1)单工、半双工和全双工,图8.21单工、半双工和全双工数据通路,串行通信常用术语和基本概念,(2)数据传输率比特率:数据传输率即通信中每秒传输的二进制数位数(比特数),也称比特率,单位bps(bitpersecond)。波特率:也称调制速率,是指传输信息的电信号(符号)的速率,即每秒钟传输的电信号数。,若每个符号所含信息量为1比特,则波特率等于比特率。若每个符号所含信息量不等于1比特,则波特率不等于比特率。在计算机中,每个符号所含信息量刚好等于1比特。于是就造成了波特率与每秒传输二进制位数这两者的吻合。因此,在计算机数据传输中人们常将比特率称为波特率。,串行通信常用术语和基本概念,(3)发送时钟和接收时钟发送器使用的时钟信号称为发送时钟,接收器使用的时钟信号称为接收时钟。作用:在串行通信中,发送器需要用一定频率的时钟信号来决定发送的每一位数据所占用的时间长度。接收器也需要用一定频率的时钟信号来检测每一位输入数据。,串行通信所传送的二进制数据序列在发送时是以发送时钟作为数据位的划分界限,在接收时是以接收时钟作为数据位的检测和采样定时的。,串行通信常用术语和基本概念,数据的收发过程数据的发送过程:写数据到发送器的数据输出寄存器在发送时钟的脉冲信号作用下将数据装入并入串出移位寄存器在发送时钟控制下,把移位寄存器中的数据串行逐位移出到串行输出线上。每个数据位的时间间隔由发送时钟周期来划分。数据的接收过程是:在接收时钟的控制下,每隔一定时间采样一个数据位按时钟节拍将数据依次移入接收器中的串入并出移位寄存器在接收时钟的脉冲信号作用下将数据装配到数据输入寄存器CPU读取数据并存入系统存储器中。,串行通信常用术语和基本概念,(4)波特率因子收发时钟频率与波特率之间存在的比例系数就称为波特率因子。波特率=收发时钟频率/波特率因子当发送(或接收)时钟频率一定时,通过选择不同的波特率因子(1、16、64),即可得到不同的波特率。可见:波特率因子就是对时钟频率进行分频,从而得到波特率的分频系数。,(5)串行通信的同步方式:异步方式与同步方式为使发、收信息准确,发、收两端的动作必须相互协调配合,我们将这种协调发送和接收之间动作的措施称为“同步”。数据传输的同步方式有以下两种:异步方式同步方式,异步方式使用起止位进行同步异步方式又称起止同步方式。异步通信方式是把一个字符看作一个独立的信息单元,字符与字符之间的传输间隔是任意的。而每一个字符中各位是以固定的时间传送的。,串行通信常用术语和基本概念,传输单位:字符。实现方法:在字符两端加上起始位和停止位。收发时钟:可以没有共同的时钟,收发双方各自采用自己的时钟。传输数据格式:见下页。优点:实现较容易,技术较简单。缺点:传输效率较低。适用场合:传输数据量较少、传输速率要求不高的场合。,串行通信常用术语和基本概念,串行异步传输数据格式:1位起始位(规定为0),58位数据位,1位奇偶校验位和1位(1.5位或2位)停止位(规定为1)。,图8.22串行异步传输数据格式,串行通信常用术语和基本概念,同步方式使用同步字符进行同步要求对传送数据的每一位都必须在收、发两端严格保持同步,即所谓“位同步”。因此,在同步方式中,收、发两端需用同一个时钟源作为时钟信号。同步方式传送的字符没有起始位和停止位,它不是用起始位表示字符的开始,而是用被称之为同步字符的二进制序列来表示数据发送的开始。,串行通信常用术语和基本概念,传输单位:数据块实现同步方法:在一组字符前加上一字节或二字节的同步字符收发时钟:严格相同的时钟信号传输数据格式:见下页优点:传输效率较高缺点:实现较困难,技术较复杂适用场合:数据量大、速度要求较高的场合。,串行通信常用术语和基本概念,同步传输数据格式:同步字符+若干字节数据。,图8.23串行同步通信信息格式,串行通信常用术语和基本概念,(6)差错校验为保证信息传输的正确性,必须对传输的数据信息的差错进行检查或校正,即差错校验。校验是数据通信中的重要环节之一,常用的校验方法有下述两种。水平校验奇校验:垂直校验水平垂直校验奇偶校验:水平校验偶校验:垂直校验水平垂直校验CRC校验(循环冗余校验),串行通信常用术语和基本概念,奇偶校验:在所传输的有效数据位中附加冗余位(即检验位),利用冗余位的存在,使整个信息位(包括有效信息和校验位)中“1”的个数具有奇数或偶数的特性。这种利用信息位中“1”的个数奇偶性来达到校验目的的编码,称为奇偶校验码。一个校验过程分为编码和解码两个过程。(以偶校验为例)编码:发送前,统计有效信息位中“1”的个数。若为奇数,则在附加的校验位处写“1”;若为偶数,则在校验位处写“0”,以使整个信息位“1”的个数为偶数。这一过程也称配校验位。解码:接收数据时,将接收到的整个信息位(包括校验位)经由专门的检测电路一道统计。若“1”的个数仍为偶数,就认为接收的数据是正确的;否则,表明有差错出现,应停止使用这个数据,需重新传送,或作其它的专门处理。,串行通信常用术语和基本概念,CRC校验(CyclicRedundancyCheck):利用编码的原理,对所要传送的二进制码序列,按特定的规则产生相应的校验码(CRC校验码),并将CRC校验码放在有效信息代码之后,形成一个新的二进制序列,将其发送出去;接收时,再依据特定的规则检查传输过程是否产生差错,如发现有错,可要求发送方重传,或作其它专门处理。特点:它的编码效率高,校验能力强,对随机错码和突发错码(即连续多位产生错码)均能以较低的冗余度进行严格检错。而且它是基于整个数据块传输的一种校验方法,所以同步串行通信多采用CRC校验。,2.串行接口的基本结构与功能,(1)串行异步接口结构及功能,典型的串行异步接口的基本结构,接收数据流,发送数据流,出,串行异步接口包括:,输出缓冲寄存器:接收CPU写来的数据并保存。输出移位寄存器:进行并/串转换,并以设定的波特率将数据逐位移出。输入移位寄存器:以设定的波特率接收数据,并进行串/并转换。输入缓冲寄存器:从输入移位寄存器接收并行数据,然后由CPU读取。控制寄存器:接收CPU送来的控制字,由控制字的内容决定通信时的传输方式以及数据格式等。状态寄存器:用于存放各种状态标志信息,供CPU查询。控制逻辑电路:接收CPU的控制信号,控制完成收/发操作。,串行接口的基本结构与功能,(2)串行同步接口的基本结构与功能,8.2.2可编程串行接口芯片8251A,1.通用同步/异步接收/发送器USART(USART是UniversalSynchronousAsynchronousReceiver/Transmitter的缩写)(1)基本结构和功能接收部分:异步方式时,能把接收到的数据去掉起始位、停止位,检查有无奇偶错,然后经过移位寄存器变为并行格式后,送至接收缓冲器,以便CPU用输入指令(IN指令)取走;同步方式时,能够自动识别同步字符和接收数据块。发送部分:能接收并暂存由CPU并行输出的数据。在异步方式时,通过移位寄存器变为串行数据格式并添加上起始位、奇偶校验位及停止位,由一条数据线发送出去;在同步方式时,能自动插入同步字符并发送数据块。,通用同步/异步接收/发送器USART,(2)初始化对于串行接口芯片,初始化程序通常要涉及以下几个方面的内容:确定同步还是异步方式选择字符格式选定波特率因子确定有关的命令位,2.8251A的主要特性,(1)可进行同步异步接收/发送。(2)波特率:064K(同步);019.2K(异步)。(3)全双工,双缓冲发送/接收。(4)出错检测:具有奇偶、溢出和帧错误检测电路。(5)全部输入/输出与TTL电平兼容,单一的+5V电源,单相TTL电平时钟,28脚双列直插式封装。,3.8251A的编程结构,图8.288251A的编程结构和外部连接,8251A的编程结构,8251A内部有:1个数据输入缓冲器1个数据输出缓冲器1个发送移位寄存器1个接收移位寄存器1个控制寄存器1个状态寄存器1个模式寄存器2个同步字符寄存器。,共9个,4.8251A的功能结构,接收/发送数据缓冲器、命令/状态缓冲器,8251A的功能结构,8251A由7个模块组成:接收缓冲器接收控制电路发送缓冲器发送控制电路数据总线缓冲器读/写控制逻辑电路调制/解调控制电路。,接收缓冲器:对外的引脚为RXD,它的功能就是从RXD引脚接收串行数据并按照相应的格式将串行数据转变成并行数据。可见,从功能上看,它对应于编程结构图中的接收移位寄存器。,接收控制电路:配合接收缓冲器工作,它管理有关接收的所有功能,即:在异步方式下,芯片复位后先检测输入信号中的有效“1”,一旦检测到,就接着寻找有效的低电平来确定启动位;在同异步方式下,检测同步字符等。消除假启动干扰;对接收到的信息进行奇偶校验,并根据校验的结果建立相应的状态位。,发送缓冲器:把来自CPU的并行数据加上相应的控制信息,然后转变成串行数据从TXD引脚发出。所以,从功能上看,它对应于编程结构图中的发送移位寄存器。发送控制电路:配合发送缓冲器工作,它控制和管理所有与串行发送有关的功能。即在异步方式下,为数据加上起始位、校验位和停止位;在同步方式下,插入同步字符,在数据中插入校验位。,数据总线缓冲器:用来把8251A和系统数据总线相连,CPU执行输入/输出指令期间,由数据总线缓冲器发送和接收数据。此外,控制字、命令字和状态字也通过数据总线缓冲器传输。所以,从功能上看,数据总线缓冲器是编程结构中数据输入缓冲器、数据输出缓冲器、控制寄存器和命令寄存器的综合。,读/写控制逻辑电路:用来配合数据总线缓冲器工作。即:接收写信号,并将来自数据总线的数据或控制字写入8251A;接收读信号,并将数据或状态字从8251A送往数据总线;接收控制/数据信号,将此信号和读/写信号结合起来通知8251A,当前读/写的是数据还是控制字、状态字;接收时钟信号CLK,完成8251A的内部定时;接收复位信号RESET,使8251A处于空闲状态。,调制解调控制电路:用来简化8251A和调制解调器的连接。在进行远程通信时,用调制器将串行接口送出的数字信号变为模拟信号,再发送出去,接收端则用解调器将摸拟信号变为数字信号,再由串行接口送往主机。在全双工通信情况下,每个收发站都要连接调制解调器。有了调制解调器电路,就提供了一组通用的控制信号,使得8251A可以直接和调制解调器连接。,5.8251A的接收和发送过程,(1)异步接收方式检测RXD线上的低电平确认起始位逐位接收数据进行串/并转换进行校验并去掉附加位装配到输入数据缓冲器申请中断CPU读取数据.,(2)异步发送方式收到中断请求CPU写数据到输出数据缓冲器进行并/串转换加上附加位(其始位、停止位、校验位)从TXD线上逐位发送(低位在前),图8.30异步方式的数据传输格式,(3)同步接收方式在RXD线上检测同步字符与设定的同步字符比较相等后从SYNDET引脚发出同步信号按时钟节拍从RXD线上接收数据CPU读取数据数据存入缓冲区,8251A的接收和发送过程,(4)同步发送方式发送同步字符CPU将缓冲区数据写入8251A按时钟节拍从TXD线上发送数据,单同步:一个同步字符单同步和双同步(仅用于同步方式)双同步:两个同步字符同步:内同步:收到同步字符后从SYNDET引脚输出同步信号内同步和外同步外同步:由外电路从SYNDET输入同步信号强迫同步,关于同步问题,注意问题,同步发送方式下,在程序置TXEN有效、且为有效后,才能开始发送过程。发送过程开始以后,发送器先根据编程要求发送一个或者两个同步字符,然后发送数据块。在发送数据块时,发送器会根据编程要求对数据块中的每个数据加奇/偶校验位。当8251A正在发送数据而CPU却来不及提供新的数据给8251A时,8251A的发送器会自动插入同步字符,这就满足了在同步发送时不允许数据之间存在间隙的要求。,8251A的接收和发送过程,图8.318251A工作在同步方式时的数据传输格式,6.8251A的外部引脚,8251A的对外信号分为两组:一组是8251A和CPU之间的连接信号一组是8251A和外部设备(或调制解调器)之间的连接信号。,图8.328251A与CPU及外部设备之间的连接关系,8251A的引脚功能,图8.29(b)8251A的外部引脚,8251A的外部引脚,读/写控制信号读信号,低电平有效,用来通知8251A,CPU当前正在从8251A读取数据或者状态信息。写信号,低电平有效,用来通知8251A,CPU当前正在往8251A写入数据或者控制信息。控制/数据信号,用来区分当前读/写的是数据还是控制/状态信息。读操作:=0:读数据=1:读状态:=0:写数据写操作:=1:写命令,(1)8251A和CPU之间的连接信号片选信号:来自片外译码电路。数据信号D7D0:与系统的数据总线相连。,8251A的外部引脚,8251读写操作表,8251A只有两个端口地址:数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。在8086系统中,利用地址线A1来区分奇地址端口和偶地址端口。于是A1为低电平时正好选中了偶地址端口,再与读写信号配合,便实现数据的读/写;A1为高电平时正好选中了奇地址端口,再与读写信号配合,便实现了状态信息的读取和控制信息的写入。在8088系统中,用地址线A0来区分奇地址端口和偶地址端口。,8251A的外部引脚,对C/D的说明,8251A的外部引脚,收发联络信号TXRDY发送器准备好信号,高电平有效。TXRDY用来告诉CPU,8251A已经准备好发送一个信号字符。TXRDY可作为中断请求信号或查询信号。当8251A从CPU得到一个字符后,TXRDY便变成低电平。TXE发送器空信号。高电平有效,用来表示此时8251A发送器中并行到串转换器空,它实际上指示了一个发送动作的完成。当8251A从CPU得到一个字符时TXE便成为低电平。,8251A的外部引脚,RXRDY接收器准备好信号,RXRDY用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,正等待CPU取走。因此,在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为联络信号。当CPU从8251A读取一个字符后,RXRDY便变为低电平,等到下一次接收到一个新的字符后,又升为高电平。,SYNDET同步检测信号SYNDET只用于同步方式。SYNDET引脚既可以工作在输入状态,也可以工作在输出状态。在内同步情况下,SYNDET作为输出端,会在CPU执行一次读操作后,变为低电平;在外同步情况下,SYNDET作为输入端,它的电平状况决定于外部信号。,8251A的外部引脚,(2)8251A与外部设备之间的连接信号收发联络信号数据终端准备好信号,是由8251A送往外设的,CPU通过命令可以使其变为低电平即有效电平,从而通知外部设备,CPU当前已经准备就绪。数据设备准备好信号,是外设送往8251A的,低电平时有效,它用来表示当前外设已经准备好。当出现低电平时,会在8251A的状态寄存器第7位上反映出来,所以,CPU通过对状态寄存器的读取操作,便可以实现对信号的检测。,8251A的外部引脚,请求发送信号是8251A送往外设的,低电平时有效,CPU可以通过编程命令使其变为有效电平,以表示CPU已经准备好发送。清除请求发送信号是对的响应信号,它是由外设送往8251A的,当为低电平时,8251A才能执行发送操作。使用时,这些信号中只有必须为低电平,其他3个信号引脚可以悬空起来不用。这就是说,即使CPU和外设之间不需要传递任何信号(比如无条件传递),也将使端接地使它处于有效电平。,数据信号TXD发送器数据信号端。TXD用来输出数据。CPU送往8251A的并行数据被转变为串行数据后,通过TXD送往外设。RXD接收器数据信号。RXD用来接收外设送来的串行数据,数据进入8251A后被转变为并行数据。,时钟和电源引脚CLK-时钟,用来产生8251A器件的内部时序。要求CLK的频率在同步方式下大于接收数据或发送数据的波特率的30倍,在异步方式下则要大于数据波特率的4.5倍。TxC-发送器时钟,控制发送字符的速度。在同步方式下,TxC的频率等于字符传输的波特率,在异步方式下,TxC的频率可以为字符传输波特率的1倍、16倍或者64倍,具体倍数决定于8251A编程时指定的波特率因子。RxC-接收时钟,控制接收字符的速度。和TxC一样,在同步方式下,RxC的频率等于字符传输的波特率,在异步方式下,则可为波特率的1倍、16倍或者64倍。说明:在实际使用时,RxC和TxC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。Vcc-+5V工作电压。GND-接地端。,8251A的外部引脚,对RXD线的采样情况见图8.33。,图8.33串行异步接收时对RXD线的采样情况,数据输入寄存器数据输出寄存器可访问的寄存器方式选择寄存器(模式寄存器)操作命令寄存器(控制寄存器)状态寄存器。同步字符寄存器方式选择控制字:写入方式选择寄存器的内容两种控制字操作命令控制字:写入操作命令寄存器的内容,7.8251A的编程,(1)8251A的控制字和状态字,8251A的编程,8251A编程包括两部分:规定工作方式:

温馨提示

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

评论

0/150

提交评论