版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章 并行接口与串行接口 8.1 并行接口 8.2 串行通信 两种基本的数据传送方式:计算机中:串行数据传送方式和并行数据传送方式。在通信中:则称为串行通信和并行通信。串行数据传送方式 不同权值的数据位在单条一位宽的传输线上按时间先后一位一位地传送。并行数据传送方式 不同权值的数据位在多条并行传输线上同时传送。 8.1 并行接口8.1.1 并行接口技术概述8.1.2 可编程并行接口芯片8255A8.1.1 并行接口技术概述并行接口:实现并行传送的接口就是并行接口。并行传送的特点: 在同样的时钟速率下其传送速率高,但远距离传送成本较高。适用场合:传输速率要求高,而传输距离较近的场合。 并行输入
2、口并行接口类型: 并行输出口 并行输入/输出口 简单并行接口 例如:可用锁存器/驱动器74LS244或74LS373等构成简单并行输入或输出接口,用74LS245等可构成双向并行接口。硬件实现:可编程并行接口芯片 例如: 通用可编程并行接口芯片有8155A/8156A、8255A等。 图8.1 简单并行接口 用I/O写信号作锁存控制可编程并行接口的典型硬件结构8.1.2 可编程并行接口芯片8255A 1. 8255A的内部结构 A端口 B端口 四个端口寄存器: C端口 控制端口8255A内部结构 两组控制电路 一个数据总线缓冲器 一个读/写控制逻辑电路数据总线缓冲器读/写控制逻辑CSRESET
3、A1RDWRPC7PC4PB7PB0PA7PA0端口A端口B数据总线 B组控制A0 A组控制端口C上半部分端口C下半部分PC3PC0图8.2 8255A的内部结构框图控制端口未画出端口A:8位双向I/O口。 输入锁存、输出锁存/缓冲。 工作在方式 :0、1、2。(1)三个输入/输出端口端口B:8位双向I/O口。 输入锁存、输出锁存/缓冲。 工作在方式 :0、1。端口C: 8位双向I/O口。 输入不锁存、输出锁存。 工作在方式 :方式0和按位置位/复位方式。 另外:当端口A、B工作在方式1和端口A工作在方式2时,C口作为联络信号使用。故将端口C分为上C口(PC7PC4)和下C口(PC3PC0),
4、分别由A、B口两组控制电路控制。 A组控制:PA7PA0和PC7PC4(2)两组控制电路 B组控制:PB7PB0和PC3PC0 CPU通过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、电源与地线8255APA3PA
5、2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3图8.3 8255A引脚图(1)数据线 D7D0:双向三态。用于传送:CPU从8255A各端口读入的数据;CPU向8255A各端口写出的数据;CPU从8255A各端口读入的状态;CPU向8255A写出的控制字。(2)地址线 A1、A0:输入。 用于寻址8255A内部各端口,A1、A0的不同状态与各端口的对应关系如下: A1A0对应端口 0 0 A口 0 1 B口 1 0 C口 1 1 控制
6、口 (3)控制线片选信号:输入。用于选中8255A芯片,低电平有效。读信号:输入。连接微机总线I/O读信号,用于控制8255A读操作,低电平有效。写信号:输入。连接微机总线I/O写信号,用于控制8255A写操作,低电平有效。复位信号RESET:输入。连接微机总线的RESET。用于使8255A复位,高电平有效。 当RESET引脚上来一上升沿,且使其高电平维持一定时间时,8255A所有内部寄存器被清零,同时,3个数据端口被自动设置为输入端口。(4)I/O端口线PA7PA0:双向,端口A数据信号线。PB7PB0:双向,端口B数据信号线。PC7PC0:双向,端口C数据信号线。(5)电源与地线 Vcc:
7、电源线,+5V。 GND:接地端。 8255A的控制信号和传输操作的对应关系3. 8255A的编程 在使用Intel 8255A时,首先应根据需要对它进行初始化编程,在工作过程中若需改变工作方式或数据传送方向等,也必须对其编程。实际上对8255A的编程十分简单,就是通过CPU向其控制端口写入相应控制字实现。 工作方式选择控制字 端口C置位/复位控制字 8255A的控制字 :8255A的控制字(1)工作方式选择控制字作用:规定8255A I/O端口的工作方式和数据传输方向。格式:工作方式选择控制字的格式如图8.4所示。图8.4 8255A工作方式选择控制字的格式 1D6D5D4D3D2D1D0方
8、式选择控制字的标识位A组方式选择00-方式001-方式11X-方式2端口A:1-输入 0-输出PC7PC4:1-输入0-输出B组方式选择:0-方式0 1-方式1端口B:1-输入 0-输出PC3PC0:1-输入0-输出8255A工作方式选择控制字的格式8255A的 三种基本工作方式:方式0基本输入/输出方式。端口A、B、C都可工作在此方式。方式1选通输入/输出方式,端口A、B可以工作在此方式。端口C作联络信号。方式2双向输入/输出方式,只有端口A可以工作在此种方式,端口C作为它的联络信号。说明:属于同一组的两个端口可以同时工作在输入或输出方式,也可以分别工作在输入或输出方式,不要求一定同为输入方
9、式或同为输出方式。 D7为标志位,必须为1,用来与C口置位/复位控制字区别。(2)端口C置位/复位控制字作用:将端口C某位置1或清零。格式:端口C置位/复位控制字格式如图8.5所示。说明: 8255A端口C的各数位常作为控制位来使用,故该芯片的设计者使得端口C各数位可以按位操作,即用置位/复位控制字单独设置。端口C置位/复位控制字格式 图8.5 端口C置位/复位控制字格式 1=置10=置00D7D6D5D4D3D2D1D0特征位,D7=0表示是C口按位置位/复位控制字无意义选择设置位(3)8255A的编程举例例8.1如图8.6所示,在8088系统中,8255A的A口用于驱动8个发光二极管L7-
10、L0,PB0接一开关K。要求根据读入的开关状态使L7-L0按不同规律发光,8255A的四个端口地址分别为218H、219H、21AH、21BH。控制字都用输出指令写入8255A控制端口。不同控制字用标志位来识别。(写入指令:“OUT PORT,AL”)控制端口地址图8.6 例8.1的硬件连接图 由译码电路确定的端口地址工作在方式: A口应工作在方式0,输出; B口应工作在方式0,输入。工作方式控制字:100001B。其中“”表示无关位。可见这种情况下方式控制字不唯一,具体有四种情况:82H、83H、8AH、8BH。若选择无关位为0,则方式控制字为82H。分析: 按题目要求可知:与C口无关MOV
11、 DX,21BH;DX指向8255A控制端口MOV AL,82H;工作方式控制字82H送ALOUT DX,AL;将工作方式控制字写入8255A控制端口 初始化程序段:例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、3
12、06H。 8086系统中连接8位外设问题讨论外设通过8255A固定连接8086的低8位数据线:端口地址均为偶地址;外设通过8255A固定连接8086的高8位数据线:端口地址均为奇地址。实现方法:8086的地址总线A2 、A1分别连接8255A的A1、A08086的地址总线A0空闲不用。如此:既满足了8086的数据格式要求,又满足了8255A的端口寻址要求。图8.7 例8.2的硬件连接图 由译码电路确定的端口地址 由题意可知,可使A口工作在方式0,输入;C口按位置位/复位。工作方式控制字为:1001B,在此选用方式字为10010000B,则有关程序段如下: MOVDX,306HMOVAL,100
13、10000B ;8255初始化OUTDX,AL;写控制字L0: MOVDX,300H IN AL,DX;读A口状态 RCRAL,1;判断A0 ;读A 0并判断 MOVBL,AL;保护读入数据 JC L1 ;A0=1转L1 MOVDX,306H MOVAL,00000001B OUTDX,AL;A0=0时,C0置1启动设备0 JMPL2L1:MOVDX,306HMOVAL,00000000BOUTDX,AL;A0=1时,C0清0关闭设备0L2:RCRBL,1;判断A1JCL3MOVDX,306H;A1=0时,C1清0关闭设备1MOVAL,00000010BOUTDX,ALJMPL0L3:MOVD
14、X,306H;A1=1时,C1置1启动设备1MOVAL,00000011BOUTDX,ALJMPL0 4.8255A的工作方式 (1)方式0:基本输入/输出方式0的工作特点任何一个端口可作为输入口,也可作为输出口,各端口之间没有必然的联系。各个端口的输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。 图8.8 8255A方式0的输入时序 方式0的输入/输出时序图8.9 8255A方式0的输出时序 方式0的使用场合方式0的使用场合有两种: 同步传送(即无条件传送) 查询式传送(用户自己定义联络信号) (2)方式1 :选通输入/输出方式1的工作特点:端口A、B均可工作在方式1,可作输
15、入口或输出口。如果8255A的端口A、B中只有一个工作于方式1,那么,端口C中就有3位被规定为配合方式1工作的信号,此时,另一个端口可以工作在方式0,端口C中的其他位也可以工作在方式0,作为输入或者输出。如果8255A的端口A、B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位,仍可作为输入或输出。当端口A工作在方式1并作为输入端口时: PC4-选通信号 输入端 PC5-输入缓冲区满信号输出端IBFA PC3 -中断请求信号输出端INTRA当端口B工作在方式1并作为输入端口时: PC2-选通信号 输入端 PC1-输入缓冲区满信号输出端IBFB PC0 -中断请求信
16、号输出端INTRB 方式1输入时,有关信号的规定和输入时序8255A方式1输入对应的联络信号 图8.10中断允许中断允许各控制信号的作用 (Strobe) :选通信号输入端,低电平有效。作用:将外设送来的数据,选通到8255A某端口。IBF(Input Buffer Full):缓冲器满信号,高电平有效。作用: 8255A输出的状态信号,当它有效时,表示当前已有一个新的数据在输入缓冲器中,此信号一般供CPU查询用,也可作为送给外设的回答信号。INTR(Interrupt Request):8255A送住CPU的中断请求信号,高电平有效。作用:当输入缓冲器满信号已为高电平时,8255A会向CPU
17、发出中断请求信号,即将INTR端置为高电平。INTE(Interrupt Enable):中断允许信号,是控制中断允许或中断屏蔽的信号。作用:屏蔽或允许中断。(INTE没有外部引出端,它是由软件通过对C口的置1指令或置0指令来实现对中断的控制的。) 对PC4置1,则使A端口处于中断允许状态 对PC4置0,则使A端口处于中断屏蔽状态 对PC2置1,则使B端口处于中断允许状态 对PC2置0,则使B端口处于中断屏蔽状态在执行输入指令之前设置方式1的输入时序 图8.11 8255A方式1输入时序 当端口A工作在方式1并作为输出端口时PC7-输出缓冲器满信号 ,输出端PC6-外设接收数据后的响应信号 ,
18、输入端PC3 -中断请求信号INTRA,输出端当端口B工作在方式1并作为输出端口时PC1 -输出缓冲器满信号 ,输出端PC2 -外设接收数据后的响应信号 ,输入端PC0 -中断请求信号INTRB,输出端。 方式1输出时,有关信号的规定和输出时序图8.12 8255A方式1输出对应的控制信号 0 (Output Buffer Full):输出缓冲器满信号,低电平有效。当 有效时,表示CPU已经向指定的端口输出了数据,所以是8255A用来通知外设取走数据的信号。 (Acknowledge):外设响应信号,低电平有效。 当 有效时,表明CPU通过8255A输出的数据已送到外设。INTR(Interr
19、upt Request):中断请求信号,高电平有效。当输出设备从8255A端口中提取数据,从而发出 信号后,8255A便向CPU发新的中断请求信号,以便CPU再次输出数据。 INTE(Interrupt Enable):中断允许信号。与端口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.13 8255A方式1输出时序 方式1的使用场合 在许多采用中断方式进行输入/输出的场合,如果外部设备能为8
20、255A提供选通信号或者数据接收应答信号,那么,常常使8255A的端口工作于方式1。用方式1工作比用方式0更加方便有效。 方式2工作时的控制信号和状态信号输入:PC4 - ;PC5 - IBFA输出:PC6 - ;PC7 -中断请求: PC3 - INTRA(3)方式2 : 双向选通输入/输出方式2的工作特点方式2只适用于端口A。 端口A工作于方式2 时,端口C用5个数位自动配合端口A提供控制信号和状态信号。 8255A方式2的控制信号 图8.14 8255A方式2的控制信号 用C0C1C2INTRA(Interrupt Request):中断请求信号,高有效。输入输出时,当一个动作完成而要进
21、入下一下动作时,8255A都通过这一引腿向CPU发出中断请求信号。 (Strobe):外设供给8255A的选通信号,低有效。此信号将外设送到8255A的数据打入输入锁存器。IBFA(Input butter full):这是8255A送往CPU的状态信息,表示当前已有一个新的数据送到输入缓冲器中,等待CPU取走。IBFA可以作为供CPU查询的信号。各控制信号和状态信号的含义 (Output Buffer Full):输出缓冲器满信号,由8255A送给外设的状态信号,低有效,表示CPU已经将一个数据写入8255A的端口A,通知外设将数据取走。 (Acknowledge):外设对 信号的响应信号,
22、低有效,它使8255A的端口A的输出缓冲器开启,送出数据。否则,输出缓冲器处于高阻状态。 INTE1(Interrupt Enable): 输出中断允许信号。 PC6为1,则INTE1为1,允许输出中断; PC6为0,则INTE1为0,禁止输出中断。 INTE2(Interrupt Enable):输入中断允许信号。 PC4为1,则INTE2为1,允许输出中断; PC4为0,则INTE2为0,禁止输出中断。8255A方式2的中断允许信号 8255A方式2的时序 图8.15 8255A方式2的时序 RD方式2的使用场合 方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为
23、输出设备,并且输入输出的动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就会非常合适。 用8255A作为并行打印机接口,如图8.16所示,端口A作为数据输出口,端口C作为联络信号,端口B及端口C其余I/O线未使用,它们可设定为输入也可设定为输出。5.8255A的应用 图8.16 8255A用作并行打印机接口 也可以用C7中断方式查询方式8.2 串行通信与串行接口 8.2.1 串行通信概述 8.2.2 可编程串行接口芯片8251A 8.2.3 微机系统中的串行接口及其应用 8.2.1 串行通信概述串行通信就是不同权值的数据位在单条一位宽的传输线上按时间先后一位一位
24、地进行传送。对于长距离、低速率的通信,串行方式往往是唯一的选择。现成的公共电话网一直是最通用的长距离通信介质。它虽然是为传输声音信号而设计的,但利用调制解调技术,可使现成的电话系统成为实用的串行数据通信的媒体。(2)数据传输率 比特率: 数据传输率即通信中每秒传输的二进制数位数(比特数),也称比特率,单位bps。波特率: 也称调制速率,是指传输信息的电信号(符号)的速率,即每秒钟传输的电信号数。 若每个符号所含信息量为1比特,则波特率等于比特率。若每个符号所含信息量不等于1比特,则波特率不等于比特率。在计算机中 ,每个符号所含信息量刚好等于1比特。于是就造成了波特率与每秒传输二进制位数这两者的
25、吻合。因此,在计算机数据传输中人们常将比特率称为波特率。(3)发送时钟和接收时钟 发送器使用的时钟信号称为发送时钟, 接收器使用的时钟信号称为接收时钟。 作用:在串行通信中,发送器需要用一定频率的时钟信号来决定发送的每一位数据所占用的时间长度。接收器也需要用一定频率的时钟信号来检测每一位输入数据。 串行通信所传送的二进制数据序列在发送时是以发送时钟作为数据位的划分界限,在接收时是以接收时钟作为数据位的检测和采样定时的。数据的收发过程 数据的发送过程:写数据到发送器的数据输出寄存器 在发送时钟的脉冲信号作用下将数据装入并入串出移位寄存器 在发送时钟控制下,把移位寄存器中的数据串行逐位移出到串行输
26、出线上。每个数据位的时间间隔由发送时钟周期来划分。 数据的接收过程是:在接收时钟的控制下,每隔一定时间采样一个数据位 按时钟节拍将数据依次移入接收器中的串入并出移位寄存器 在接收时钟的脉冲信号作用下将数据装配到数据输入寄存器 CPU读取数据并存入系统存储器中。(4)波特率因子 收发时钟频率与波特率之间存在的比例系数就称为波特率因子。 波特率=收发时钟频率/波特率因子 当发送(或接收)时钟频率一定时,通过选择不同的波特率因子(1、16、64),即可得到不同的波特率。 可见:波特率因子就是对时钟频率进行分频,从而得到波特率的分频系数。(5)串行通信的同步方式:异步方式与同步方式 为使发、收信息准确
27、,发、收两端的动作必须相互协调配合 ,我们将这种协调发送和接收之间动作的措施称为“同步”。数据传输的同步方式有以下两种: 异步方式 、同步方式 异步方式 使用起止位进行同步 异步方式又称起止同步方式。 异步通信方式是把一个字符看作一个独立的信息单元,字符与字符之间的传输间隔是任意的。而每一个字符中各位是以固定的时间传送的。传输单位:字符。实现方法:在字符两端加上起始位和停止位。收发时钟:可以没有共同的时钟,收发双方各自采用自己的时钟。传输数据格式:见下页。优点:实现较容易,技术较简单。缺点:传输效率较低。适用场合:传输数据量较少、传输速率要求不高的场合。串行异步传输数据格式: 1位起始位(规定
28、为0),58位数据位,1位奇偶校验位和1位(1.5位或2位)停止位(规定为1)。 图8.22 串行异步传输数据格式 同步方式 使用同步字符进行同步 要求对传送数据的每一位都必须在收、发两端严格保持同步,即所谓“位同步”。因此,在同步方式中,收、发两端需用同一个时钟源作为时钟信号。 同步方式传送的字符没有起始位和停止位,它不是用起始位表示字符的开始,而是用被称之为同步字符的二进制序列来表示数据发送的开始。 传输单位:数据块实现同步方法:在一组字符前加上一字节或二字节的同步字符。收发时钟:严格相同的时钟信号。传输数据格式:见下页。优点:传输效率较高。缺点:实现较困难,技术较复杂。适用场合:数据量大
29、、速度要求较高的场合。同步传输数据格式:同步字符+若干字节数据。图8.23 串行同步通信信息格式 (6)差错校验 为保证信息传输的正确性,必须对传输的数据信息的差错进行检查或校正,即差错校验。校验是数据通信中的重要环节之一,常用的校验方法有下述两种。 水平校验 奇校验 垂直校验 水平垂直校验奇偶校验 水平校验 偶校验 垂直校验 水平垂直校验CRC校验(循环冗余校验)奇偶校验:在所传输的有效数据位中附加冗余位(即检验位),利用冗余位的存在,使整个信息位(包括有效信息和校验位)中“1”的个数具有奇数或偶数的特性。这种利用信息位中“1”的个数奇偶性来达到校验目的的编码,称为奇偶校验码。一个校验过程分
30、为编码和解码两个过程。(以偶校验为例) 编码:发送前,统计有效信息位中“1”的个数。若为奇数,则在附加的校验位处写“1”;若为偶数,则在校验位处写“0”,以使整个信息位“1”的个数为偶数。这一过程也称配校验位。 解码:接收数据时,将接收到的整个信息位(包括校验位)经由专门的检测电路一道统计。若“1”的个数仍为偶数,就认为接收的数据是正确的;否则,表明有差错出现,应停止使用这个数据,需重新传送,或作其它的专门处理。CRC校验(Cyclic Redundancy Check): 利用编码的原理,对所要传送的二进制码序列,按特定的规则产生相应的校验码(CRC校验码),并将CRC校验码放在有效信息代码
31、之后,形成一个新的二进制序列,将其发送出去;接收时,再依据特定的规则检查传输过程是否产生差错,如发现有错,可要求发送方重传,或作其它专门处理。 特点: 它的编码效率高,校验能力强,对随机错码和突发错码(即连续多位产生错码)均能以较低的冗余度进行严格检错。而且它是基于整个数据块传输的一种校验方法,所以同步串行通信多采用CRC校验。 2.串行接口的基本结构与功能(1)串行异步接口结构及功能 出典型的串行异步接口的基本结构接收数据流发送数据流入串行异步接口包括:输出缓冲寄存器:接收CPU写来的数据并保存。输出移位寄存器:进行并/串转换,并以设定的波特率将数据逐位移出。 输入移位寄存器:以设定的波特率
32、接收数据,并进行串/并转换。 输入缓冲寄存器:从输入移位寄存器接收并行数据,然后由CPU读取。 控制寄存器:接收CPU送来的控制字,由控制字的内容决定通信时的传输方式以及数据格式等。 状态寄存器:用于存放各种状态标志信息,供CPU查询。控制逻辑电路:接收CPU的控制信号,控制完成收/发操作。(2)串行同步接口的基本结构与功能8.2.2 可编程串行接口芯片8251A 1.通用同步/异步接收/发送器USART(1)基本结构和功能 接收部分:异步方式时,能把接收到的数据去掉起始位、停止位,检查有无奇偶错,然后经过移位寄存器变为并行格式后,送至接收缓冲器,以便CPU用输入指令(IN指令)取走;同步方式
33、时,能够自动识别同步字符和接收数据块。 发送部分:能接收并暂存由CPU并行输出的数据。在异步方式时,通过移位寄存器变为串行数据格式并添加上起始位、奇偶校验位及停止位,由一条数据线发送出去;在同步方式时,能自动插入同步字符并发送数据块。 (2)初始化 对于串行接口芯片,初始化程序通常要涉及以下几个方面的内容: 确定同步还是异步方式选择字符格式 选定波特率因子确定有关的命令位2.8251A的主要特性 (1)可进行同步异步接收/发送。(2)波特率:064K(同步);019.2K(异步)。(3)全双工,双缓冲发送/接收。(4)出错检测:具有奇偶、溢出和帧错误检测电路。(5)全部输入/输出与TTL电平兼
34、容,单一的+5V电源,单相TTL电平时钟,28脚双列直插式封装。 3.8251A的编程结构 图8.28 8251A的编程结构和外部连接 8251A内部有:1个数据输入缓冲器1个数据输出缓冲器1个发送移位寄存器1个接收移位寄存器1个控制寄存器1个状态寄存器1个模式寄存器2个同步字符寄存器。 共9个4.8251A的功能结构 发送缓冲器数据总线缓冲器调制解调控制电路DB读 / 写逻辑RESETCLKRDWRC/DCSDSRDTRCTSRTS发送控制电路接收缓冲器接收控制电路RxDTxDTxRDYTxETxCRxRDYRxCSYNDET接收/发送数据缓冲器、命令/状态缓冲器8251A由7个模块组成:接
35、收缓冲器接收控制电路发送缓冲器发送控制电路数据总线缓冲器读/写控制逻辑电路调制/解调控制电路。 接收缓冲器: 对外的引脚为RXD,它的功能就是从RXD引脚接收串行数据并按照相应的格式将串行数据转变成并行数据。可见,从功能上看,它对应于编程结构图中的接收移位寄存器。 接收控制电路: 配合接收缓冲器工作,它管理有关接收的所有功能,即:在异步方式下,芯片复位后先检测输入信号中的有效“1”,一旦检测到,就接着寻找有效的低电平来确定启动位;在同异步方式下,检测同步字符等。消除假启动干扰。对接收到的信息进行奇偶校验,并根据校验的结果建立相应的状态位。发送缓冲器: 把来自CPU的并行数据加上相应的控制信息,
36、然后转变成串行数据从TXD引脚发出。所以,从功能上看,它对应于编程结构图中的发送移位寄存器。发送控制电路: 配合发送缓冲器工作,它控制和管理所有与串行发送有关的功能。即在异步方式下,为数据加上起始位、校验位和停止位;在同步方式下,插入同步字符,在数据中插入校验位。数据总线缓冲器:用来把8251A和系统数据总线相连,CPU执行输入/输出指令期间,由数据总线缓冲器发送和接收数据。此外,控制字、命令字和状态字也通过数据总线缓冲器传输。所以,从功能上看,数据总线缓冲器是编程结构中数据输入缓冲器、数据输出缓冲器、控制寄存器和命令寄存器的综合。 读/写控制逻辑电路:用来配合数据总线缓冲器工作。即:接收写信
37、号,并将来自数据总线的数据或控制字写入8251A;接收读信号,并将数据或状态字从8251A送往数据总线;接收控制/数据信号,将此信号和读/写信号结合起来通知8251A,当前读/写的是数据还是控制字、状态字;接收时钟信号CLK,完成8251A的内部定时;接收复位信号RESET,使8251A处于空闲状态。 调制解调控制电路:用来简化8251A和调制解调器的连接。在进行远程通信时,用调制器将串行接口送出的数字信号变为模拟信号,再发送出去,接收端则用解调器将摸拟信号变为数字信号,再由串行接口送往主机。在全双工通信情况下,每个收发站都要连接调制解调器。有了调制解调器电路,就提供了一组通用的控制信号,使得
38、8251A可以直接和调制解调器连接。 5.8251A的接收和发送过程 (1)异步接收方式 检测RXD线上的低电平 确认起始位 逐位接收数据 进行串/并转换 进行校验并去掉附加位 装配到输入数据缓冲器 申请中断 CPU读取数据(2)异步发送方式 收到中断请求 CPU写数据到输出数据缓冲器 进行并/串转换 加上附加位(其始位、停止位、校验位) 从TXD线上逐位发送(低位在前)8251A的接收和发送过程(3)同步接收方式 在RXD线上检测同步字符与设定的同步字符比较相等后从SYNDET引脚发出同步信号按时钟节拍从RXD线上接收数据 CPU读取数据 数据存入缓冲区(4)同步发送方式 发送同步字符CPU
39、将缓冲区数据写入8251A 按时钟节拍 从TXD线上发送数据关于同步问题 单同步:一个同步字符 单同步和双同步 (仅用于同步方式) 双同步:两个同步字符同步 内同步:收到同步字符后从 内同步和外同步 SYNDET引脚输出同步信号 外同步:由外电路从SYNDET 输入同步信号强迫同步注意问题同步发送方式下,在程序置TXEN有效、且 为有效后,才能开始发送过程。发送过程开始以后,发送器先根据编程要求发送一个或者两个同步字符,然后发送数据块。在发送数据块时,发送器会根据编程要求对数据块中的每个数据加奇/偶校验位。当8251A正在发送数据而CPU却来不及提供新的数据给8251A时,8251A的发送器会
40、自动插入同步字符,这就满足了在同步发送时不允许数据之间存在间隙的要求。 8251A的接收和发送过程图8.31 8251A工作在同步方式时的数据传输格式 6.8251A的外部引脚8251A的对外信号分为两组:一组是8251A和CPU之间的连接信号一组是8251A和外部设备(或调制解调器)之间的连接信号。 图8.32 8251A与CPU及外部设备之间的连接关系 A08251A的引脚功能图8.29 (b) 8251A的外部引脚 (1)8251A和CPU之间的连接信号片选信号 :来自片外译码电路。数据信号D7D0:与系统的数据总线相连。 读/写控制信号 :读信号,低电平有效,用来通知8251A,CPU
41、当前正在从8251A读取数据或者状态信息。 :写信号,低电平有效,用来通知8251A,CPU当前正在往8251A写入数据或者控制信息。 :控制/数据信号,用来区分当前读/写的是数据还是控制/状态信息。 =0:读数据 读操作 =1:读状态 =0:写数据 写操作 =1:写命令8251读写操作表CSRDWRC/D操 作0010CPU读8251数据0100CPU向8251写数据0011CPU读8251状态字0101CPU向8251写控制字011*数据总线浮空1*8251未选中对C/D的说明 8251A只有两个端口地址:数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。
42、在8086系统中,利用地址线A0来区分奇地址端口和偶地址端口。于是A0为低电平时正好选中了偶地址端口,再与读写信号配合,便实现数据的读/写;A0为高电平时正好选中了奇地址端口,再与读写信号配合,便实现了状态信息的读取和控制信息的写入。收发联络信号 TXRDY发送器准备好信号,高电平有效。TXRDY用来告诉CPU,8251A已经准备好发送一个信号字符。TXE发送器空信号。高电平有效,用来表示此时8251A发送器中并行到串转换器空,它实际上指示了一个发送动作的完成。当8251A从CPU得到一个字符时TXE便成为低电平。 RXRDY接收器准备好信号,RXRDY用来表示当前8251A已经从外部设备或调
43、制解调器接收到一个字符,正等待CPU取走。SYNDET同步检测信号SYNDET只用于同步方式。SYNDET引脚既可以工作在输入状态,也可以工作在输出状态 。在内同步情况下,SYNDET作为输出端,会在CPU执行一次读操作后,变为低电平;在外同步情况下,SYNDET作为输入端,它的电平状况决定于外部信号。 (2)8251A与外部设备之间的连接信号 收发联络信号 数据终端准备好信号,是由8251A送往外设的,CPU通过命令可以使其变为低电平即有效电平,从而通知外部设备,CPU当前已经准备就绪。 数据设备准备好信号,是外设送往8251A的,低电平时有效,它用来表示当前外设已经准备好。当出现低电平时,
44、会在8251A的状态寄存器第7位上反映出来,所以,CPU通过对状态寄存器的读取操作,便可以实现对信号的检测。 请求发送信号是8251A送往外设的,低电平时有效,CPU可以通过编程命令使其变为有效电平,以表示CPU已经准备好发送。 清除请求发送信号是对的响应信号,它是由外设送往8251A的,当为低电平时,8251A才能执行发送操作。使用时,这些信号中只有 必须为低电平,其他3个信号引脚可以悬空起来不用。这就是说,即使CPU和外设之间不需要传递任何信号(比如无条件传递),也将使 端接地使它处于有效电平。例如一台PC 机与调制解调器相连,要向远方发送数据:当PC机作好了发送准备,就RTS信号通知调制
45、解调器;当调制解调器也作好发送数据的准备,就向PC机发出CTS 信号,RTS 和CTS 这对握手信号沟通后,就可以进行串行数据发送了。例如一台PC 机与调制解调器相连,要从远方接收数据:当PC机作好了接受准备,就发出DTR信号通知调制解调器;当调制解调器也作好接收数据的准备就向PC机发出DSR信号,DTR和DSR 这对握手信号沟通后,就可以进行串行数据接收了。数据信号TXD发送器数据信号端。TXD用来输出数据。CPU送往8251A的并行数据被转变为串行数据后,通过TXD送往外设。RXD接收器数据信号。RXD用来接收外设送来的串行数据,数据进入8251A后被转变为并行数据。 CLK-时钟,用来产
46、生8251A器件的内部时序。 要求CLK的频率在同步方式下大于接收数据或发送数据的波特率的30倍,在异步方式下则要大于数据波特率的4. 5倍。TxC-发送器时钟,控制发送字符的速度。 在同步方式下,TxC的频率等于字符传输的波特率,在异步方式下,TxC的频率可以为字符传输波特率的1倍、16倍或者64倍,具体倍数决定于8251A编程时指定的波特率因子。RxC-接收时钟,控制接收字符的速度。 和TxC一样,在同步方式下, RxC的频率等于字符传输的波特率,在异步方式下,则可为波特率的1倍、16倍或者64倍。 说明:在实际使用时,RxC和TxC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频
47、率较高的外部时钟来提供。Vcc-+5V工作电压。GND-接地端。对RXD线的采样情况见图8.33。图8.33 串行异步接收时对RXD线的采样情况 数据输入寄存器 数据输出寄存器 可访问 方式选择寄存器(模式寄存器)的寄存器 操作命令寄存器(控制寄存器) 状态寄存器。 同步字符寄存器 方式选择控制字两种控制字 操作命令控制字7. 8251A的编程 (1)8251A的控制字和状态字8251A编程包括两部分:规定工作方式:用来设定8251A的一般工作特性(如异步方式或同步方式、字符格式、传输率等等),它是通过CPU向8251A输出“方式选择控制字”来实现的;发出操作命令: 操作命令即是用来指定825
48、1A的具体操作(如发送器允许、接收器允许、请求发送等),它是通过CPU向8251A输出“操作命令字”来实现的。 方式选择控制字 必须跟在复位操作之后由CPU写入模式寄存器。8251A方式选择控制字的格式如图8.34所示。 01 异步110 异步1611 异步6400 字符长度为5位01 字符长度为6位10 字符长度为7位11 字符长度为8位 0 无奇偶校验位01 奇校验11 偶校验无效 001个停止位 011.5个停止位 102个停止位 11 S2S1EPPENL2L1B2B1异步方式L1与异步方式相同1 SYND为输入(外同步)0 SYND为输出(内同步)1 单字符同步0 双字符同步SCSE
49、SDEPPENL2 0 0 同步方式L1操作命令控制字格式EHIRRSTERSBRKRxEDTRTxEN使DTR引脚为低电平1 启动搜索同步字符1 允许发送0 禁止发送1 允许接收0 禁止接收1 使TxD线变低,发送空白字符0 正常工作1 内部复位,使8251回到方式选择格式1 使RST引脚输出低电平1 使错误标志PE,OE,FE复位状态字格式TxRDY(2)8251A的编程步骤 复位操作输出方式字传送完输出第一个同步字符输出第二个同步字符输出命令字传送数据输入状态字同步方式双同步复位YNYYYNNN(3)8251A的编程举例异步方式下的初始化编程举例方式选择控制字的设定例如,设定8251A工作于异步方式,波特率因子为64,每字符7个数据位,偶校验,2位停止位,则方式选择控制字为:11111011B操作命令控制字的设定例如,使8251A的发送器允许,接收器允许,使状态寄存器中的3个错误标志位复位,使数据终端准备好信号输出低电平(有效),则操作命令控制字为:00010111B “方式选择控制字”和“操作命令控制字”应使用同一个端口地址(即控制口地址)按先后次序写入8251A之中。若将8251A的输入端接地址总线的A0位,则CPU需用奇地址访问控制口(A0 =1),用偶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年睡觉安全幼儿园课件
- 2026年业务员安全操作规程
- 2026年旅游规划与策划全真案例分享
- 2026年方便面目标群体分析
- 2026年奶茶店新店活动方案策划书
- 2026年新学期初中数学教学计划
- 2026年云南省楚雄州中考英语一模试卷(含详细答案解析)
- 2026年幼儿园晨运活动目标
- 2026年小学生秋季消防安全教育
- 电动车含车牌过户协议书
- 应急防汛知识讲座
- MSOP(测量标准作业规范)测量SOP
- 2023年福建省中考物理试题(原卷版)
- 行政管理课件-外部性及其矫正
- 2023黑龙江省林业卫生学校工作人员招聘考试真题
- 电机正反转控制原理
- 山西幼儿园教师师德档案
- GB/T 77-2007内六角平端紧定螺钉
- GB/T 33084-2016大型合金结构钢锻件技术条件
- GB/T 17261-2011钢制球形储罐型式与基本参数
- 湿法磷酸生产原理
评论
0/150
提交评论