《微型计算机系统原理及应用 教学课件 ppt 作者 贺建民 第7章 并行接口》由会员分享,可在线阅读,更多相关《微型计算机系统原理及应用 教学课件 ppt 作者 贺建民 第7章 并行接口(57页珍藏版)》请在金锄头文库上搜索。
1、第7章 并行接口,7.1 并行接口基本概念 7.2 可编程并行输入/输出接口芯片8255A 7.3 8255A的应用举例,7.1 并行接口基本概念,1. 并行接口的定义 并行接口,至少应该有两条或者两条以上连接线用于传递数据。 并行接口的“并行”是指接口与I/O设备一侧的并行数据线,并不是指接口与系统总线之间的并行数据线而言 相比串行接口,并行接口在相同的数据传送速率下,可以更快地传输数据。 但是随着速度迅速提高,并行接口上导线之间数据同步和互相干扰成为一个很难处理的难题,导致并行接口在接口速度竞赛中逐渐被淘汰,7.1 并行接口基本概念,2. 并行接口的特点 (1)通常适用于传输距离较短的场合
2、。随着通信距离的增加,传输介质(此处指电缆)开销会越来越大。所以,并行接口适合传输距离较短的场合。 (2)传输格式比较自由。并行通信可以分为同步通信与异步通信两大类。 并行接口有硬件连线接口与可编程接口之分。目前普遍使用的是可编程并行接口,接口电路的工作方式和功能能够通过软件编程进行控制。,7.1 并行接口基本概念,3. 并行接口的任务 (1)数据的锁存与缓冲 (2)状态收集功能 (3)控制功能,3. 并行接口的任务,(1)数据的锁存与缓冲 锁存,是指输出端的状态不会随输入端的状态变化而变化,仅在有锁存信号时输入端的状态才被保存到输出端,直到下一个锁存信号到来时才改变。 缓冲器是缓冲寄存器的简
3、称。它分输入缓冲器和输出缓冲器两种。前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据。 通过对数据的锁存与缓冲,实现了高速的CPU与低速外部设备之间的速度匹配,同时也实现了数据输入与输出之间的隔离作用。,7.1 并行接口基本概念,(2)状态收集功能 接口电路还应能够正确地收集外部设备的状态信息。给CPU与外部设备之间进行数据传输提供了操作的依据。 各个设备的状态信息可以是分散存放也可以是集中存放的。 通常状态信息被收集并暂存在一个状态寄存器中,供CPU查询。,7.1 并行接口基本概念,(3)控制功能 控制功能是指被CPU控制 实现的方法通常
4、是由CPU把各种要求以控制命令和参数的形式写入到接口电路中,接口电路中的控制寄存器暂时存放控制这些命令和参数,并由相应的控制电路解释和执行命令,完成其控制功能,7.1 并行接口基本概念,4. 并行接口电路的组成,CPU,输 出 设 备,输 入 设 备,数据总线,读控信号,写控信号,复位信号,中断响应信号,中断请求信号,译码 逻辑,片选,输出缓冲寄存器,输入缓冲寄存器,控制寄存器,状态寄存器,中断逻辑,输出准备好,输出应答,输入准备好,输入应答,地址,并行输出数据,并行输入数据,7.2 可编程并行输入/输出接口芯片8255A,7.2.1 8255A的结构及功能 8255A-5是通用的可编程并行输
5、入输出接口器件 在8086微型计算机系统中,主要用于开机时读取系统配置开关的状态; 在正常工作时,系统通过8255A-5读取键盘输入扫描码; 通过8255A-5输出若干系统内部控制信号。,7.2.1 8255A的结构及功能,1. 8255A的基本性能 (1) 双列直插式封装,40引脚; (2) 输入与输出电平与TTL兼容,+5V电源供电; (3) 分为A、B和C三个8位的并行端口,其中C端口又分为高4位和低4位并行输入输出端口,其他16条引脚用于与系统总线连接; (4) 接口信号与Intel系列微处理器完全相容,在非Intel系列微处理器或者数字集成电路(例如DSP或者FPGA中的软核CPU)
6、也能正常使用8255A-5; (5)内部由控制寄存器、状态寄存器和数据寄存器组成,所谓的可编程控制就是对这三类寄存器的使用。,7.2.1 8255A的结构及功能,8255A的外部引脚结构,7.2.1 8255A的结构及功能,8255A的内部逻辑结构,7.2.1 8255A的结构及功能,2. 8255A的内部逻辑与外部引脚 数据端口 8255A-5中的A口、B口、C口通常称其为数据端口。 其中: 端口A:8位数据输出锁存器/缓冲器和8位数据输入锁存 端口B:8位数据输入/输出锁存器/缓冲器和8位数据输入缓冲器 端口C:8位数据输出锁存器/缓冲器和8位数据输入缓冲器(不带锁存),2. 8255A的
7、内部逻辑与外部引脚,数据端口 A口、B口、C口三个端口分成两个组即A组和B组: A组由PA0PA7、PC4PC7组成。 B组由PB0PB7、PC0PC3组成,2. 8255A的内部逻辑与外部引脚,数据总线缓冲器 数据总线缓冲器是由三态双向8位缓冲器组成,它是8255A-5与CPU系统数据总线的接口,完成所有数据的发送和接收。 读/写控制逻辑 读/写控制逻辑负责管理所有内部和外部信号的传送。它接收来自CPU地址控制信号,然后向A组、B组发出控制命令。 A、B组控制逻辑 根据控制字,直接控制各个端口的工作方式。,2. 8255A的内部逻辑与外部引脚,(2) 8255A-5的引脚功能 8255A-5
8、的40条引脚分成两部分 8255A-5与CPU(系统总线) 8255A-5与外部设备相连接,(2) 8255A-5的引脚功能,与CPU 相连的引脚 RESET:复位信号,高电平有效。当RESET=“1”时,清除控制寄存器,同时对A、B、C各端口置成输入方式。 D0D7 : 双向数据总线。 CS :片选信号,低电平有效。 RD :读控制信号,低电平有效 WR :写控制信号,低电平有效。 A0A1:地址线,与系统地址总线的低位相连,其编码实现芯片内部端口选择。,(2) 8255A-5的引脚功能,与外设相连的引脚 PA0PA7:A端口数据输入输出线 PB0PB7:B端口数据输入输出线 PC0PC7:
9、C端口数据输入输出线 这24条线实现与I/O设备之间的连接,通过它们能够传递各种各样的数字量或开关量信息。,(2) 8255A-5的引脚功能,其他引脚 VCC:电源线(接+5V) GND:地线。,7.2.2 8255A的控制命令字,8255A-5控制命令字分为两类 一类是芯片各端口的工作方式选择控制字,它可以使8255A的三个数据端口工作在不同的工作方式,通常该控制字把三个端口分为两组即A组和B组 另一类是C端口按置l置0控制字,它把C口中的任意一位进行置位或复位。,7.2.2 8255A的控制命令字,7.2.2 8255A的控制命令字,1工作方式选择控制命令字 D7:控制命令字功能标志位 D
10、7 = “0”时,该字用来对C端口的各位进行置位、复位操作 D7 = “1”时,该字为控制命令字,7.2.2 8255A的控制命令字,1工作方式选择控制命令字 其中,D6、D5:确定A端口的工作方式 D6 D5 A端口的工作方式 0 0 设定工作方式0 0 1 设定工作方式1 1 X 设定工作方式2,7.2.2 8255A的控制命令字,1工作方式选择控制命令字 D4:设置A端口的输入或输出方式 D4 = “0”时,设置A端口为输出 D4 = “1”时,设置A端口为输入 D3:设置C端口高4位的输入或输出方式 D3 = “0”时,设置C端口的高4位为输出端口 D3 = “1”时,设置C端口的高4
11、位为输入端口,7.2.2 8255A的控制命令字,1工作方式选择控制命令字 D2:确定B端口的工作方式 D2 = “0”时,设定工作方式0 D2 = “1”时,设定工作方式1 Dl:设置B端口的输入或输出方式 Dl = “0”时,设置B端口为输出方式 D1 = “l”时,设置B端口为输入方式,7.2.2 8255A的控制命令字,1工作方式选择控制命令字 D0:设置C端口的低4位输入或输出 D0 = “0”时,设置C端口的低4位为输出端口 D0 = “1”时,设置C端口的低4位为输入端口,7.2.2 8255A的控制命令字,2位设置控制命令字 8255A-5的C端口除了具有方式0以外,还有按位置
12、位复位的功能。,7.2.2 8255A的控制命令字,2位设置控制命令字 D7:控制命令字功能标志位 D7 = “0”时,表示对C端口的各位进行置位、复位操作 D6D4:未用 D3D1:该3位的编码与C端口的8位相对应,对指定位进行何种操作,由D0位决定。 D0:对C端口指定位置位或复位选择 D0 = “0”时,选择对C端口指定位进行复位操作 D0 = “1”时,选择对C端口指定位进行置位操作,7.2.3 8255A的工作方式,8255A-5的工作方式: 方式0:无条件I/O方式(某些资料称为基本I/O方式); 方式1:选通I/O方式; 方式2:双向I/O方式。,7.2.3 8255A的工作方式
13、,1方式0:无条件I/O方式 8255A-5的工作方式0: A端口、B端口、C端口的高4位和C端口的低4位都可以独立地设置为输入端口或输出端口。 四个端口的输入或输出可以有16种组合方式。 在工作方式0模式下,输出数据被锁存输入数据则不被锁存。 如将C口的高4位和低4位分别与外部设备的控制和状态端口相连接,CPU就能够通过对C端口的读写操作而实现查询工作方式。,7.2.3 8255A的工作方式,2方式1:选通I/O方式 方式1特点: 所有端口可以分为两个组(A组和B组); 每个组包括一个8位的数据端口和一个4位的控制/数据端口; 其中的8位数据端口既可以是输入或者是输出,而且都是带锁存功能的;
14、 其中的4位用来传输8位数据接口的控制和状态信息。,7.2.3 8255A的工作方式,(1)1方式输入(外设到CPU),7.2.3 8255A的工作方式,方式1输入联络信号功能: INTR为中断请求信号,高电平有效。当有一输入设备请求服务时,8255A-5就用INTR输出高电平,向CPU提出中断请求。 IBF为输入缓冲器满指示信号,高电平有效。这是8255A-5输出的状态信号,有效时,表明数据输入至锁存器。IBF信号在STB信号是低电平时置位,在RD信号的上升沿被复位。 STB为选通输入信号,低电平有效。这是外设提供的输入信号。当其有效时,将由输入设备送来的数据选通到输入锁存器。 INTE为中
15、断允许信号。A端口和B端口中的lNTEA与INTEB,是由C端口中的PC4和PC2的位操作,使其置位复位的控制。,7.2.3 8255A的工作方式,A组:PA7PA0为数据端口,PC5PC3作为联络端口。其中PC3连接INTRA、PC4连接STBA、PC5连接IBFA信号。 B组:PB7PB0为数据端口,PC2PC0作为联络端口。其中PC0连接INTRB、PC2连接STBB、PC1连接IBFA信号。,7.2.3 8255A的工作方式,1方式输入工作过程: 在该方式下,当外部设备准备好数据以后,在其输出数据的同时,输出STB信号选通信号。此时,8255A-5的数据端口的数据锁存器在STB下降沿的
16、控制作用下将输出数据锁存。8255A-5向外部设备输出高电平的IBF信号,通知外设锁存数据完成并暂时不要再送数据。当PC4为高电平时(即被置位),这时的INTR则变为高电平输出,向CPU发出中断请求信号。,7.2.3 8255A的工作方式,(2)1方式输出(CPU到外设),7.2.3 8255A的工作方式,1方式输出联络信号功能: ACK为响应信号,低电平有效。来自外设的信号,告诉CPU输出给8255A-5的数据已经由外设接收。 OBF为输出缓冲器满指示信号,低电平有效。这是8255A-5输出给外设的一个控制信号。有效时,表示CPU已经将数据输出到指定的端口,外设可以将该数据取走。该信号在WR信号的上升沿置位,在ACK信号为低电平时被复位。 INTR为中断请求信号。,7.2.3 8255A的工作方式,A组:PA7PA0为数据端口,PC7、PC5、PC3作为联络端口。其中PC3连接INTRA、PC5连接ACKA、PC7连接OBFA信号。 B组:PB7P