1、第 7 章7.17.27.3微机原理与接口技术1.1.什么是接口:什么是接口:把外部设备同计算机连接起 来实现数据传送的控制电路数据传送的控制电路称为 I/O接口电路,简称 I/O接口。7.1 概述(1)转换信息格式(2)提供联络信号(3)协调定时差异(4)进行译码选址(5)实现电平转换(6)时序控制2.2.I/OI/O接口接口 的功能的功能7.2.1 7.2.1 接口信号接口信号 1.1.反映外设的工作状态,如输入装置否已准否已准备好备好(ready),输出装置是否忙是否忙(busy)指CPU向接口内部控制寄存器发出的各种控制命令,用于改变接口的工作方式及功能,如选通信号、启停信号选通信号、
2、启停信号等。7.2 CPU与IO接口之间的接口信号 这三类信息的性质是不同的,这三类信息的性质是不同的,必须分别传送。必须分别传送。通常是采用分配不同的端口地址的方法进行区别,所以一个外设往往要占几个端口地址。数据信息用一个端口。状态信息和控制信息往往只有一位或二位,故状态和控制信息常常共用一个端口地址。I/O接口示意图说明:说明:不论不论数据信息、状态信息、还是控制信息都走数据线数据信息、状态信息、还是控制信息都走数据线,对对状态信息是状态信息是输入(读操作输入(读操作),),对对控制信息是控制信息是输出(写操作)输出(写操作)7.2 CPU与IO接口之间的接口信号7.2.1 7.2.1 接
3、口信号接口信号 7.3.1无条件传送方式无条件传送方式 又称“同步传送方式”。CPU不管外设的状态,在需要和外设交换信息的时候,在需要和外设交换信息的时候,就用输入或输出指令和外设交换信息。就用输入或输出指令和外设交换信息。在这种方式下,CPU和外设之间只有数据信息的只有数据信息的传送,没有状态信息的传送。传送,没有状态信息的传送。无条件传送不等于不需要接口电路,只是接口无条件传送不等于不需要接口电路,只是接口电路可以比较简单,电路可以比较简单,因为只有数据的通道(输出锁因为只有数据的通道(输出锁存器和输入缓冲器),不需要有握手信号。存器和输入缓冲器),不需要有握手信号。7.3CPU和外设之间
4、的数据传送方式 CPU与IO接口之间的接口信号四种:1.无条件传送方式;2.查询传送方式;3.中断传送方式;4.DMA传送方式。例7-1采用无条件传送方式控制的电路,输入接口中自带有数据缓冲器(680H),输出接口中自带有锁存器(681H),K0K2打开则Q0Q2亮,否则灭。DON:MOV DX,680H IN AL,DX;读输入口 NOT AL MOV DX,681H OUT DX,AL ;写输出口 JMP DON+5VK 0K 1K 20Q 1Q 2 输入接口输出接口QDB+5V7.3 CPU和外设之间的数据传送方式 CPU与IO接口之间的接口信号7.3.1 无条件传送方式无条件传送方式“
5、先查询,后传送先查询,后传送”,只有在外设已经是在“准备好”状态,才开始传送数据。查询式传送的一般流程:先从状态口读入状态字;如果状态是“准备好”,开始传送;如果状态是“没有准备好”,则继续查询,直到“准备好”,开始传送。7.3 CPU和外设之间的数据传送方式 CPU与IO接口之间的接口信号7.3.2 查询传查询传送送方式(异步传送方式)方式(异步传送方式)查询方式流程图例7-2 查询输入接口查询输入接口:8位锁存器与8位三态缓冲器构成数据寄存器,状态寄存器由D触发器和1位三态缓冲器构成。CPU可通过D7访问该状态口。D7=1为准备好。7.3 CPU和外设之间的数据传送方式 CPU与IO接口之
6、间的接口信号7.3.2 查询传查询传送送方式(异步传送方式)方式(异步传送方式)MOV DX,STATUS_PORT CHX:IN AL,DX;读状态口 TEST ALTEST AL,80H80H;测试状态标志位D7 JZJZ CHX CHX ;D7=0,未准备好 MOV DX,DATA_PORT IN AL,DX ;读数据口 RET例例7-3 查询输出查询输出接口:接口:8位锁存器作为数据寄存器,状态寄存器由D触发器和1位三态缓冲器构成,CPU则可利用数据线D0输入该状态口的信息。试编写查询输出控制程序。7.3 CPU和外设之间的数据传送方式 CPU与IO接口之间的接口信号7.3.2 查询传
7、查询传送送方式(异步传送方式)方式(异步传送方式)MOV DX,STATUS_PORT CHX:IN AL,DX ;读状态口 TEST AL,01H ;测试状态标志位D0,JNZ CHX ;D00,继续查询 MOV DX,DATA_PORT MOV AL,BUF ;取数据 OUT DX,AL;向外设输出数据 RET例7-4 将48000H为首地址的顺序100个单元的数据利用查询方式输出到外设。数据口地址00F0H 控制口地址00F1H,D0=0为忙,D0=1为不忙,可以传送数据7.3 CPU和外设之间的数据传送方式 CPU与IO接口之间的接口信号7.3.2 查询传查询传送送方式(异步传送方式)
8、方式(异步传送方式)START:MOV AX,4000H ;段地址 MOV DS,AX MOV SI,8000H ;偏移地址 MOV CX,100 GOON:MOV DX,00F1H WAIT:IN AL,DX ;读状态口 AND AL,01H ;测试D0位 JZ WAIT ;为0等待 MOV AL,SI ;不为0输出数据 MOV DX,00F0H OUT DX,AL ;输出数据 INC SI ;准备传下一个数 LOOP GOON ;个数不为0,继续查询传送 RET7.3 CPU和外设之间的数据传送方式 CPU与IO接口之间的接口信号7.3.2 查询传查询传送送方式(异步传送方式)方式(异步传
9、送方式)优点:CPU和外设之间可以很好地配合工作。缺点:CPU要长期地查询外设的状态,会影响CPU的工作效率。7.3.3 7.3.3 中断传送方式:中断传送方式:当外设准备好后,外设接口便主动向外设接口便主动向CPUCPU发发“中断请求中断请求”信号信号。CPU响应这样这一请求,则暂停正在执行的程序,而转入与外设操作有关的中断服务程序。在中断服务程序中完成数据的输入或输出,中断服务程序执行完毕,CPU返回到原来程序的断点继续执行。优点:不要求CPU等待或查询,可以大大地提高CPU工作效率。缺点:对于大批量的数据传送,因中断需要多次保护和恢复断点,影响速度。7.3 CPU和外设之间的数据传送方式
10、 CPU与IO接口之间的接口信号7.3.4 7.3.4 DMADMA传送方式传送方式 在存储器和外设之间建立起直接的数据传送通路,即不经由CPU,而由专门的DMA控制器实现存储器和外设之间的数据传送存储器和外设之间的数据传送。优点:减轻了CPU的负担,特别适合高速适合高速度大批量数据传送的场合度大批量数据传送的场合。缺点:硬件电路比前两种方式更为复杂,要增设DMA控制器7.3 CPU和外设之间的数据传送方式 CPU与IO接口之间的接口信号 执行过程(1)DRQ(2)HRQ(3)HLDA,DMAC接管总线(4)DACK(5)存储器和I/O传送数据。(6)DMA传送结束,释放总线 1.CPU与外设间的信号 数据信息 状态信息 控制信号 2.传送方式 无条件传送 查询传送(难点)中断传送 DMA传送本章重点 7-4作业