资源描述
信息工程学院 接口 CPU 与外设之间的一种缓冲电 路,是CPU 与外设之间信息交 换的中转站。6.1.1 什么是接口与接口技术 图6.1 微机控制各类接口框图内存内存接口CPU智能仪器接口通信接口过程控制接口输入接口输出接口外存接口数字化存储示波器,数字化万用表终端调制解调器 电传机A/D转换器开关量输入D/A转换器开关量输出键盘 数字化仪光笔 图形输入 声音输入 扫描仪点阵打印 CRT 显示激光打印 液晶显示喷墨打印 绘图仪X-Y记录仪硬盘 软盘光盘 磁带 接口技术 采用硬件与软件相结合的方法,研究CPU 与外设之间如何实现高效、可靠的信息交换的一门技术。 (1)数字量 由键盘、光电输入机等输入的信息,通常是以二进制表示的数或以 ASCII 码表示的数或字符。1. 数据信息(DATA)CPU与外设交换的数据本身:CPU 外设 (2)模拟量非电量信息传感器电量信号处理U/I A/D CPU(P/T/Q) (3)开关量两个状态的量 ,可以用“0”、“1”表示,例如电机的启与停,开关的合与开等。 例如 输入时,输入设备是否准备好? 准备就绪信号READY输出时,输出设备是否空闲? 忙信号BUSY2. 状态信息(STATUS)例如控制I/O 设备启动或停止等。3. 控制信息(CONTROL)反映外设当前工作状态的信息: CPU 外设CPU控制外设工作所发送的一种信息: CPU 外设 1. 接口电路的组成图6.2 接口的组成CPU I/O设备I/O接口DRSRCRABDBCB DATASTATUSCONTROL总线驱动地址译码控制逻辑DR:数据寄存器SR:状态寄存器CR:控制寄存器 2. I/O端口访问方法端口地址与存储器地址统一编址。译码器8086CPU AB存储器I/O端口IOM/RDWR 图6.3 统一编址方式硬件框图 (1)统一编址方式 优点:指令丰富,电路简单。缺点:外设占用存储器空间,内存 容量减小。 图6.4 独立编址方式硬件框图 译码器8086CPU AB存储器I/O端口IOM/译码器 存储器和外设都有自己的地址译码器,地址空间独立,互不影响。用专用的I/O 指令访问I/O 端口。 (1)汇编语言的I/O 指令输入指令: IN AL, n ; n 为8位立即地址IN AL, DX ; 16位地址用DX间址输出指令: OUT n, ALOUT DX, AL 例:IN AL, 20HMOV DX, 2F0HOUT DX, AL (2)C 语言中的端口读写函数Turbo C 中的(1) unsigned inportb (int port)(2) void outportb (int port, unsigned value)# include dos.hmain ( ) unsigned c; c = inportb (0 x2f0); printf (data = %0 x, c); outportb (0 x360, c); 从解决CPU 与外设在连接时存在的矛盾这个角度看,接口应有以下功能: 设置“ 数据口”,解决CPU 高速与外设相对低速的矛盾,并为主机与外设的批量数据传输创造条件。1. 数据缓冲功能 设置“ 命令口”,对CPU 发出的代码形式的控制命令识别、分析并执行。CPU与外设之间信号在逻辑关系上的转换、数据格式的转换(串 并)、以及时序配合、电平匹配等。2. 接收与执行CPU命令的功能3. 信号转换功能 设置地址译码电路对外设寻址。设置中断控制器,处理有关中断事务(中断请求、中断优先权排队等)。4. 设备选择功能5. 中断管理功能使用可编程芯片实现。使用户在不改动硬件的条件下,只修改驱动程序就可改变接口的工作方式。6. 可编程功能 查询方式 中断方式 DMA方式输入外设状态准备好?数据输入/输出No Yes1. 查询方式 (1)查询式输入 图6.5 查询式输入接口电路 LOOP1: IN AL, STATUS_PORTTEST AL, 80H ;JE LOOP1IN AL, DATA_PORT D7位表示状态信息D71 准备好 (2)查询式输出 图6.6 查询式输出接口电路 LOOP2: IN AL, STATUS_PORTTEST AL, 40H ;JNE LOOP2MOV AL, DATAOUT DATA_PORT, AL假设D6为状态信息D61 表示忙 查询方式的数据采集系统CPU 3 2 4A/D转换8位数据1个模拟量数据READY1位状态启动 输入数据8位模拟量.8位数据总线4 2 1 0IO/M.RD.3 IO/M.RD.2 IO/M.RD.4 8个输入模拟量,经过多路开关-它由端口4输出的3位二进制码(D2D1D0)控制(000-相应于A0输入),每次送出一个模拟量到A/D转换器;同时A/D转换器由端口4输出的D4位控制启动与停止。A/D转换器的READY信号由端口2的D0输送到CPU数据总线,经A/D转换后的数据由端口3传送到数据总线。 START:MOV DL,0F8H LEA DI,DSTORAGAIN:MOV AL,DL AND AL,0EFH OUT 4,AL CALL DELAY MOV AL,DL OUT 4,ALPOLL:IN AL,2 SHR AL,1 JNC POLL IN AL,3 STOSB INC DL AGAIN 数据I/OCPU 执行程序CPU 中断允许外设准备数据(外设准备好,请求中断) 图6.7 中断传送方式的接口电路 DMA (Direct Memory Access) 是存储器与外设或存储器之间进行大量数据传送的方法,是在DMA 控制器的控制下进行的。3. DMA方式 DMA 请求DMA 响应送存储器地址传送数据DMA 结束传送结束?Yes修改地址指针No图6.8 DMA 工作流程图 能向CPU 发出DMA 请求信号。 CPU 响应后,接管对总线控制,进入DMA 方式。 发出读、写控制信号。 决定数据传送的地址和数据传送的长度。 判断DMA 操作的结束,撤消总线请求信号, 使CPU 恢复正常工作。 (3)DMA 方式与中断方式的比较中断方式特点DMA方式控制数据传送CPU 状态响应适用性由DMA控制器控制I/O 存储器不破坏CPU 内部寄存器状态请求响应,级别高于中断适用于高速I/O设备和成组数据交换由CPU程序控制I/O CPU 存储器请求响应,级别比DMA方式低适用于慢速 I/O设备,实时处理破坏CPU内部寄存器状态 I/O 端口地址译码一般由地址信号和控制信号的不同组合实现。其原则是:(2)低位地址线直接连接到 I/O 接口芯片,实现片内寻址。1. I/O端口地址译码电路设计原则(1)高位地址与CPU 的控制信号组合,经译 码电路产生 I/O 接口芯片的片选信号CS, 实现片间寻址。 (1)固定式端口地址译码 使用门电路的译码电路图6.9 2F8H读操作端口译码或门 图6.10 2E2H 读/写操作端口译码 使用译码器的译码电路图6.11 PC/XT 系统板上的地址译码电路 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0产生片选信号片内寻址0 0 0 0 1 0 0 0 0 01 1 1 1 18259Y1有效选中因此8259的端口地址范围 02003FH。 (2)开关式可选端口地址译码 用比较器组成的可选式译码电路图6.12 74LS688 为8位比较器。当 P07 Q07时,P 0P07 Q07时,P1 使用跳线的可选式译码电路图6.13 跳线开关可选 式译码电路 (3)使用可编程逻辑器件译码 1.分析接口两侧的情况2.实现系统总线与外设之间的信号转换3.合理选用接口芯片4.接口驱动程序分析与设计
展开阅读全文