1、第六章 输入输出技术,6.1 I/O接口概述6.2 I/O端口的编址方式6.3 I/O传送方式,6.1 I/O接口概述,I/O接口 :指CPU与外围设备或外围设备与系统设备之间进行数据交换和通信的连接电路,是CPU与外界进行信息交换的中转站。I/O接口技术 :是研究CPU如何与外设进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。,速度匹配 光电隔离驱动外设 信号特性匹配 时序匹配 数据缓冲与锁存 信息格式转换 设备选择 中断控制,一、I/O接口的功能,二、CPU与I/O设备之间的信息类型,1、数据信息 通常包括数字量、模拟量和开关量3种信息
2、数字量 以二进制形式或是以ASCII码表示的数或字符。模拟量 指在计算机控制系统中,某些现场信息经传感器转换为电信号,再通过放大得到模拟电压或电流。开关量 指只含两种状态的量,如开关的断开与闭合,电路的通与断等,故只需用一位二进制数即可描述一个开关量。2、状态信息 状态信息作为一种CPU与I/O之间的接口信号,主要用来反映I/O设备当前的状态。 3、控制信息 控制信息是CPU通过I/O接口传送给外设的,专门用来控制I/O设备的操作,是向外设传送的控制命令。,三、I/O接口的基本结构,数据信息、状态信息和控制信息作为CPU与I/O设备间的接口信号,在接口电路中,将这3种信息分别存放在不同的寄存器
3、中,这些寄存器称为接口电路的I/O端口。,接口电路有3种端口:数据端口,状态端口和控制端口。 数据端口:数据端口可分为数据输入端口和数据输出端 口两类。在输入时,由数据输入端口保存外设发往CPU或内存的数据;在输出时,由数据输出端口保存CPU或内存发往外设的数据。 状态端口:状态端口用来保存I/O设备或接口部件本身的工作状态信息,让微处理器了解数据传送过程中正在发生或最近已发生的状态。 控制端口:控制端口用来存放处理器发来的控制命令与其他信息,确定接口电路的工作方式和功能,便于控制接口电路和I/O设备的动作。,CPU和外部设备之间进行数据传输时,各类信息在接口中将进入不同的寄存器,一般称这些寄
4、存器为I/O端口;每个端口分配一个地址号,称之为端口地址,CPU通过指令对它们进行访问;I/O端口分:数据端口、状态端口和命令端口。 8086CPU最大可用地址总线的低16位作为对8位I/O端口的寻址线,相邻的两个8位端口可以组成一个16位端口,所以8086CPU可访问的8位I/O端口有64K个,16位I/O端口有32K个。,6.2 I/O端口的编址方式,一、I/O端口与存储器统一编址,优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间寻址速度比专用的I/O指令慢,二、I/O端口独立编址,优点:I/O端口的地址空间独立,不占用内存空间指令
5、的执行速度快缺点:I/O指令没有存储器指令丰富,指令功能比较弱,1、门电路地址译码(与门、非门、或门、与非门、或非门),三、I/O端口地址的译码,2、译码器地址译码,常用的译码器有74LS139 、 74LS138 、 74LS154等,一、直接程序控制方式(程序方式)无条件传送方式 外部控制过程的各种动作在时间上是固定的,而且是已知的。条件传送方式(查询方式) 传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。,6.3 I/O传送方式,1、无条件传送方式,输入时外设必须已准备好数据,输出时接口锁存器必须为空。即接口和I/O设备在无条件传送时必须要保持“就绪”状态。,Example
6、 1,Example 2,外设是简单的发光二极管。 此外设的接口用锁存器(273)来实现。锁存器在打入脉冲CP上升沿将输入端D的数据锁存在它的输出Q端。,MOV AL,81H MOV DX,0000H OUT DX,AL,N,Y,从状态端口读入状态信息,从数据端口传送一个数据,外设准备好否?,2、条件传送方式,举例 单一外设的查询工作,数据输出口和状态输入口共用一个地址00FFH。 前者是只写的,而后者是只读的。 现欲将48000H为首地址的顺序100单元的数据,利用查询方式输出到此外设。,举例 单一外设的查询工作,START:MOV AX,4000H MOV DS,AX MOV SI,800
7、0H MOV CX,100 MOV DX,00FFHGOON : IN AL,DX AND AL,01H JZ GOON MOV AL,SI OUT DX,AL INC SI LOOP GOON RET,多个外设查询方式工作,条件传送方式优点: 接口简单缺点: CPU不断查询外设状态,降低了CPU的利用率。 为了提高CPU的效率以及使系统具有实时性,通常采用中断方式传送数据。,二、中断传送方式 中断传送方式是指由于某些随机事件的产生,使CPU暂停当前正在执行的程序,而转去处理相应的外部事件,执行一个为外设服务的I/O程序,执行完毕后,CPU返回原来程序的断点处继续执行。,中断传送方式优点: C
8、PU和外设大部分时间处在并行工作状态,只在CPU响应外设的中断申请后,进入数据传送的过程,提高了CPU的效率。缺点: 利用中断方式传送数据,为了可靠的进行数据传送,必须花费一定的时间进行断点的保护和恢复,现场的保护和恢复等工作,占用了CPU很多时间。 因此中断方式一般适合传送少量的数据及中低速外设,对于大量的输入/输出数据,应采用高速的直接存储器存取方式DMA.,三、DMA控制方式(直接存储器存取方式)实现方法: 1、由专用接口芯片DMA控制器 (称DMAC) 控制 传送过程; 2、当外设需传送数据时,通过DMAC向CPU发出 总线请求; 3、CPU发出总线响应信号,释放总线; 4、DMAC接
9、管总线,控制外设、内存之间直接数 据传送; 5、DMA操作结束,将总线控制权交还给CPU。,DMA传送方式优点: 传送速度快缺点: 需用DMA控制器进行控制,硬件连接也比较复杂,简单接口举例LED数码管 LED数码管分为共阳和共阴两种结构。在封装上有将一位、二位或更多位封装在一起的。由于篇幅限制,只介绍一位共阴封装的LED数码管,如图所示。,9,LED数码管及按钮的一种接口电路,下面一段程序可判断按钮的状态。当K闭合时,显示3,当K断开时显示6。 START:MOV DX,00F1H IN AL,DX TEST AL,01H JNZ KOPEN MOV DX,00F0H MOV AL,4FH OUT DX,AL JMP START KOPEN:MOV DX,00F0H MOV AL,7DH OUT DX,AL JMP START,