《微机原理 第8章 微型计算机输入输出接口技术》由会员分享,可在线阅读,更多相关《微机原理 第8章 微型计算机输入输出接口技术(53页珍藏版)》请在金锄头文库上搜索。
1、1,第八章 微型计算机输入/输出接口技术,在不同的微机系统中,为了实现人机对话,人们使用了大量的输入/输出设备,如键盘、鼠标、显示器等,在某些控制场合,还用到了模/数转换器和数/模转换器。由于这些外部设备和装置的工作原理、驱动方式、信息格式和数据处理速度等各不相同,必须经过中间电路才能与CPU相连,这部分中间电路就是所谓的输入/输出接口,简称I/O接口。 本章主要讨论输入/输出接口和系统中的数据传送机制,其内容包括:I/O接口、I/O接口的基本结构和功能、I/O端口寻址方式、CPU与外设之间的数据传送方式等。,2,8.1 概述,8.1.1 输入/输出接口的概念与功能,一、概念 接口 是位于系统
2、与外设间,协助完成数据传送的电路。 接口技术 是研究CPU如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。,研究内容涉及到硬件接口电路和软件接口程序两部分,3,二、I/O接口与系统和外设的连接,与CPU相连的系统总线包括数据线、地址线和控制线 与外设相连的I/O总线包括数据线、控制线和状态线,4,外设是用来实现人机交互的一些机电设备。不能直接挂在总线上,必须通过接口和系统相连,因为存在下列不匹配:,三、采用I/O接口的必要性,1、速度的不匹配:CPU速度很快,而外设的速度要慢得多 2、信号电平不匹配:CPU所使用的信号多是TT
3、L电平 ,而外设大多是复杂的机电设备,往往不能用TTL电平驱动,必须有自己的电源系统和信号电平。 3、信号格式不匹配:CPU系统总线上传送的并行数据,而外设使用的信号格式各不相同 4、时序不匹配:各种外设都有定时和控制逻辑,与CPU的时序不一致,5,四、I/O接口的功能,1、设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异; 2、进行信息格式的转换,如串行和并行的转换; 3、协调CPU与外设在信息类型和电平上的差异,如电平转换驱动器、数/模和模/数转换器等; 4、协调时序差异,同步CPU与外设的工作; 5、地址译码和设备选择功能,使CPU在某一时刻只能选中一个I/O端口; 6、提供联
4、络信号,承担CPU与外设之间的联络工作,联络的具体信息有控制信息、状态信息和请求信号等,如外设的“Ready”、“Busy”等状态; 7、设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下,产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。,6,五、I/O接口的类型,I/O接口可按以下几种方式进行分类: 1、按数据传送方式分为并行接口与串行接口两类 主机侧的内部接口,数据在接口与主机之间总是通过系统总线按字节或字或多字进行并行传输;外设侧的外部接口,数据在接口与外设之间有串行和并行两种传送方式。 2、按功能选择的灵活性分为可编程接口与不可编程接口两类 3
5、、按通用性分为通用接口与专用接口 4、按数据传送的控制方式分为程序式接口与DMA式接口 5、按设备的连接方式分为点对点接口与多点接口,7,8.1.2 CPU与外设之间的接口信息,CPU与外设之间的接口信息主要包括数据信息、状态信息和控制信息,8,接口和端口的区别: 端口:是指接口电路中能被CPU直接访问的寄存器或某些特定的器件,分别用来存放数据信息,控制信息和状态信息,相应的端口就是数据端口、控制端口和状态端口。CPU通过这些端口来发送命令、读取状态和传送数据。 接口:若干个端口加上相应的控制逻辑才能组成。,数据信息:通常包括数字量、模拟量和开关量三种基本形式 状态信息:主要用来指示输入/输出
6、设备当前的状态,CPU根据这些状态信息适时准确地进行有效的数据传送。 控制信息:主要是用来控制输入/输出设备的一类接口信息,它能控制设备的启动与停止,9,8.1.3 I/O端口的编址方法 1、端口与存储器统一编址 (存储器映射方式),特点: I/O端口相当于内存的一部分, 使内存容量减小 对I/O端口的读/写与对存储器的读/写相同, 所有可对内存操作的指令对I/O端口均可使用,指令多。 指令系统中不专设I/O指令,寻址速度慢,10,特点: 端口与存储器分别独立编址 端口不占用内存空间 设有专门的 I/O指令对端口进行读写,指令执行速度快 对内存操作的指令不能用于I/O端口,2、端口与存储器独立
7、编址(I/O映射方式),例 MOV 10H, AL 对内存操作 IN 10H, AL 对端口操作,11,可寻址220= 1M个内存单元 内存范围00000 FFFFFh 内存单元的地址有5种寻址 可寻址216= 64 K个I/O端口 I/O端口范围0000 FFFFH I/O端口的地址由 一个8位二进制数直接寻址 或DX寄存器间接寻址 外部数据总线为16位,因此I/O口可以为8位(64K)或16位(32K),12,可寻址220= 1M个内存单元 内存范围00000 FFFFFh 内存单元的地址有5种寻址 可寻址216= 64 K个I/O端口 I/O端口范围0000 FFFFH I/O端口的地址
8、由 一个8位二进制数直接寻址 或DX寄存器间接寻址 外部数据总线为8位,因此I/O口只能为8位,13,14,例 (1) IN AL,28H 若 (28H端口) = 1010 1111B 执行后 (AL) = (28H端口) = 0AFH (2) IN AX,28H 若 (28H端口)= 1010 1111B (29H端口)= 0101 0000B 执行后 (AL) = (28H端口) = 0AFH (AH) = (29H端口) = 50H (3) MOV DX,300H IN AL,DX 若 (300H端口)= 69H 执行后 (AL) = (300H端口) = 69H,15,16,17,(2
9、)端口地址可由直接方式或间接方式给出,当端口号在0-FFH,即0-255时, 可在指令中直接指定端口号 例 IN AL, 21H OUT 20H, AL,18,当端口号在0-FFH,即0-255时, 可在指令中直接指定端口号,称长格式指令 当端口号FFH,即255时, 需把端口号放在DX寄存器中,称短格式指令 原因是使用直接端口方式的指令机器码相对长 例 指令 机器码 IN AL, 21H E421 ;两个字节 OUT 20H, AL E620 IN AL, DX EC ;一个字节 OUT DX, AL EE,19,(3) 可进行字节或字传送 由指令中AL或AX的类型决定,(4) 注意端口地址
10、与端口内容的区别 IN AL, 21H 不等于(AL) 21H OUT DX, AL 不等于 (DX) (AL),IN AL, 20H ;字节传送 IN AX, 20H ;字传送 IN AL, DX ;字节传送 IN AX, DX ;字传送,OUT 20H, AL ;字节传送 OUT 20H, AX ;字传送 OUT DX, AL ;字节传送 OUT DX, AX ;字传送,20,8.1.4 I/O端口的地址分配,不同的微型计算机对I/O端口地址的分配是不同的。8088系列微型计算机系统支持的端口数目是1024个。其端口地址空间为000H3FFH,由地址线A9A0进行译码。PC系列微型计算机中
11、的I/O端口地址分为两部分,即1024个端口的前256个端口(000H0FFH)专供I/O接口芯片使用,后768个端口(100H3FFH)专供I/O扩展槽上的接口控制卡使用。具体见课本。,8.1.5 I/O端口的译码,1、地址译码电路的作用,就是将CPU执行IN/OUT指令发出的地址信号,翻译成欲操作端口的选通信号,此信号常常作为I/O接口内三态门或锁存器的控制信号,接通或断开接口数据线与CPU的连接。,21,22,设计译码电路时: 1. 端口的选通信号通常为低电平有效 2. 除端口的地址信号参加译码外,控制信号WR、RD (IO/M、 DEN也可参加译码),23,24,注意译码电路中:由于高
12、位地址线A15-A10未参与译码, 即:地址A15-A0为: 10 0001 1000均能输出0, 所以该电路使:一个端口对应多个地址,共26=64个 218,618, A18,E18等等,25,26,27,219H 21AH 21BH 21CH 21DH 21EH 21FH,218H,74LS138 3-8译码器,A Y0 B Y1 C Y2 E3 Y3 Y4 E1 Y5 Y6 E2 Y7,0 1 1 0 0 0 0 1 0 0,&,&,端口 译码电路,A0 A1 A2 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,思考2: 将A0与A2位置互换, Y0 - Y7译出的地
13、址各是多少?,28,29,概述 1。无条件传送(CPU与外设同步工作): 外部控制过程各种动作时间是固定的,而且是已知的。 2。查询方式(CPU与外设不同步工作): 传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。 3。中断方式: 外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与CPU串行工作。 4。DMA方式(高速I/O及成组交换数据): CPU不干予,由硬件实现存储器与外设之间交换数据,称直接存取存储器。,30,31,32,33,查询传送方式,编程流程:,34,35,36,37,38,39,40,41,42,使
14、用中断方式时: 外设准备数据,CPU执行程序, CPU与外设并行工作; 一旦外设准备就绪,外设向CPU发中断申请, CPU暂停原程序执行,响应中断,进行数据传输。此时,CPU与外设是串行工作。 中断传送方式的特点: 1. CPU和外设大部分时间处在并行工作状态, 只在CPU响应外设的中断申请后,进入数据传送的过程 2. 中断传送方式提高了CPU的效率,43,中断方式 输入接口:,某位未屏蔽, 中断屏蔽触发器 置0,Q=0,44,(1)当外设数据准备好,外设向接口电路发出选通信号: 将数据打入锁存器;同时将中断请求触发器置“1”, (2)若此时,中断请求屏蔽触发器置“0”, =1,Q=0, 允许
15、本接口发出中断,接口电路向CPU发出中断请求信号 INTR=1; (3)CPU在运行程序时不断访问INTR,若查到INTR=1信号, 且CPU内部中断允许标志IF=1,则CPU在现行指令执行完后,暂停程序的执行,向接口电路发出中断响应信号 。 (4)外设把中断类型号送上数据总线; (4N)=(IP),(4 (N+2)=(CS) (5)CPU转入中断服务程序,执行IN指令,读入数据; 清除中断请求标志。当中断处理完后,返回原程序。,45,46,DMA传送方式的特点: 1. 外设和内存之间,直接进行数据传送,不通过CPU, 传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。
16、 2. 电路结构复杂,硬件开销较大。,47,8.3 I/O接口的基本结构及读写技术,8.3.1 I/O接口的内部结构,8.3.2 I/O接口的读写技术,48,8.3.1 I/O接口的内部结构,49,一、寄存器,1、数据寄存器 数据输入寄存器接收外设送来的数据信息,然后CPU用输入指令将其取走。 数据输出寄存器存放CPU送往外设的数据信息,以便外设取走。 2、控制寄存器用于存放CPU发来的控制命令,以确定接口电路的工作方式和功能 3、状态寄存器用于保存外设当前的工作状态信息,寄存器是I/O接口电路中的核心部分,在较复杂的I/O接口电路中还包括数据总线缓冲器/驱动器、地址总线缓冲器及译码电路、联络控制逻辑等部分。,50,8.3.2 I/O接口的读写技术,在一些普通应用场合可以使用简单输入/输出接口,即输入时使