3章 接口概念

上传人:豆浆 文档编号:19583913 上传时间:2017-09-08 格式:PDF 页数:55 大小:1.18MB
返回 下载 相关 举报
3章 接口概念_第1页
第1页 / 共55页
3章 接口概念_第2页
第2页 / 共55页
3章 接口概念_第3页
第3页 / 共55页
3章 接口概念_第4页
第4页 / 共55页
3章 接口概念_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《3章 接口概念》由会员分享,可在线阅读,更多相关《3章 接口概念(55页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口第3章接口概念和原理教师:苏曙光华中科技大学软件学院第1节接口/端口的定义第1节接口定义l接口定义n接口是一组特殊控制电路,介于CPU与内存、CPU与外设之间。桥梁作用n任何两电路或设备间的连接电路都可称接口。CPU 接口电路外设/内存数据数据数据 数据1. 接口定义(续)l各种外设都必须通过接口才能和CPU(或总线)相连n寻址:确定设备的地址,区分不同的设备;n缓冲:适配外设与CPU的工作速度;n转换:适配外设与CPU的信息格式、类型、幅度;n时序:外设与CPU的工作时序。CPU系统存储器接口 I/O接口 I/O设备ABDBCB存储器1. 接口定义(续)l接口电路的组成:由多类

2、/多个寄存器构成n数据寄存器,暂存数据n状态寄存器,暂存状态。n命令寄存器,暂存命令。CPU数据寄存器状态寄存器命令寄存器外设CBDBAB数据状态信息控制信息接口电路定义:端口:寄存器的另一称呼。1. 接口定义(续)l接口电路的组成:由多类/多个端口构成n数据端口,暂存数据n状态端口,暂存状态。n命令端口,暂存命令。CPU数据端口状态端口命令端口外设CBDBAB数据状态信息控制信息接口电路1. 接口定义(续)l端口【PORT】n端口就是接口中的寄存器n端口:可寻址(即端口地址),CPU 与外设信息交换场所n接口一般含有一个或多个端口。CPU数据端口状态端口命令端口外设CBDBAB数据状态信息控

3、制信息接口电路微机的端口n 16根I/O线:地址空间216 = 64Kl IBM:A09线有效,地址空间210 = 1K:000H 3FFH;l PC系统IO端口的分配n前256个端口:000h-0FFh,系统外设占用n后768个端口:100h-3FFh,常规外设占用。微机的端口l微机的端口分配04005FH06006FH07007FH0F00FFH定时器并行接口芯片RT/COMS RAM协处理器02003FH0A00BFH中断控制器1中断控制器200001FH0C00DFH08009FHDMA控制器1DMA控制器2DMA页面寄存器端口地址I/O芯片名称表1 系统I/O芯片的端口地址37037

4、FH27027FH并行口控制卡1并行口控制卡220020FH游戏控制卡端口地址I/O接口名称表2 扩展卡的端口地址串行口控制卡1串行口控制卡13F83FFH2F02FFH原型插件板 30031FH同步通信卡1同步通信卡23A03AFH38038FH单显MDA彩显CGA彩显EGA/VGA3B03BFH3D03DFH3C0 3CF硬驱控制卡软驱控制卡1F01FFH3F03F7HPC网卡 36036FH第2节端口访问指令2. 端口的访问l端口访问n端口地址(000h 3FFh)n端口属性:只写,只读,可读可写n端口操作:写(OUT指令),读(IN指令)l访问指令n写(输出):OUTu把寄存器(AL/

5、AX)的信息送往指定端口。n读(输入):INu从指定端口取信息送入寄存器(AL/AX)。2. 端口的访问(续)l读(输入)指令:INn四种形式【PORT指端口地址,DX寄存器】uIN AL,PORT ;数据是单字节;端口地址单字节uIN AX,PORT ;数据是双字节;端口地址单字节uIN AL,DX ;数据是单字节;端口地址双字节uIN AX,DX ;数据是双字节;端口地址双字节n例子uIN AL, 60H ;60H为系统板8255的PA端口地址uMOV DX, 300H ;300H为扩展板8255的PA端口地址IN AL, DX2. 端口的访问(续)l写(输出)指令:OUTn四种形式【PO

6、RT指端口地址,DX寄存器】uOUT PORT , AL ;数据是单字节;端口地址单字节uOUT PORT , AX ;数据是双字节;端口地址单字节uOUT DX , AL ;数据是单字节;端口地址双字节uOUT DX , AX ;数据是双字节;端口地址双字节n例子uOUT 61H, AL ;61H为系统板8255的PB端口地址uMOV DX,301H ;301H为扩展板8255的PB端口地址OUT DX, AL说明:所有的I/O指令执行的结果都不影响标志位F。2. 端口的访问(续)l端口访问和输入/输出两个概念的区别n对端口的访问仅仅指CPU对端口的读/写n输入输出一般指以内存RAM为传输目

7、标n输入输出都会包括端口的访问。l输入的例子:MOV DX, 300H ; I/O端口IN AL, DX ; 从端口读数据到ALMOV DI, AL ; 将数据从AL输入到存储器第3节接口/端口地址设计端口地址编址方式l两种编址方式n独立编址(I/O映射方式)u端口地址单独编址而不和存储器空间合在一起n统一编址(存储器映射方式)u端口地址和存储器地址统一编址l两种编址方式IO端口使用端口地址编址方式(续)l独立编址的端口访问原理n根据指令(IN/OUT|MOV)区分内存和端口。CPU内存接口 I/O接口控制逻辑内存空间CB20I/O空间16MEMRMEMWIORIOWAB16220=1M216

8、=64KABDB DB端口地址编址方式(续)l统一编址的端口访问原理n根据地址区分内存和端口。CPU 内存与I/O接口控制逻辑I/O端口内存单元CB1620MEMRMEMWABDB1M64Byte端口地址编址方式(续)l独立编址系统的特点n专用指令:IN指令和OUT指令。n程序中I/O操作和存储器操作清晰可辨,程序可读性强。n I/O端口的读、写操作由IOR和IOW来控制n微机和大型计算机通常采用这种方式。端口地址设计l概念:给某个端口(接口/设备)设计特定的地址。n即设计端口译码电路:u输入:AB(考虑IO/M,WR,RD,AEN等信号)u输出:仅当AB上出现端口地址时,输出低电平。端口地址

9、设计l设计地址译码电路三个前提n有效I/O地址线10位:A90n端口读写属性(只读/只写/可读可写)n考虑DMA操作:地址允许信号AEN(DMAC信号)uAEN=0,即非DMA操作时,端口可以访问;uAEN=1,即是DMA操作时,端口不能访问;译码接口电路的设计例子l使用门电路设计端口地址2F8H的只读地址译码电路。A9A8A7A6A5A4A3A2A1A0AENIOR&低电平有效选中端口2F8接口电路常用基本门和数字芯片l常用门电路和符号n与门,非门,与非门n或门l常用门芯片n 74LS00与非门(四2)n74LS02或非门(四2)n 74LS04非门(6)n 74LS20与非门(4)n 74

10、LS30与非门(8)n 74LS133与非门(13)n74LS32或门(四2)l138译码器n 74LS138与门 与非门非门 或门译码接口电路的设计例子l使用门电路设计端口地址2F8H的只读地址译码电路。l分析n若要译码电路选中2F8H地址,亦即仅当地址总线输入2F8H时其输出有效低电平,而其它输入产生高电平。地址线 0 0 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0十六进制 2 F 8 二进制 0 0 1 0 1 1 1 1 1 0 0 0 端口地址译码A9A8A7A6A5A4A3A2A1A0地址线 0 0 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0十六进制

11、 2 F 8二进制 0 0 1 0 1 1 1 1 1 0 0 0AENIOR&F低电平有效F = A9A8A7A6A5A4A3A2A1A0F = A9A8A7A6A5A4A3A2A1A0.AEN.IOR端口地址译码l采用芯片设计2F8Hn74LS04非门(6),74LS20与非门(二4)n74LS30与非门(8),74LS32是或门(四2)A9A8A7A6A5A4A3A2A1A0&AENIOR&ORFF = (A9A8A7A6A5A4A3A2 )+(A1A0.AEN.IOR)74LS04芯片74LS30芯片74LS20芯片74LS32芯片F = A9A8A7A6A5A4A3A2A1A0.AE

12、N.IORl通过程序分析端口2F8H的访问;执行下面的程序,:MOV DX, 2F8HIN AL, DX 执行下面的程序,能选中2F8端口吗?MOV DX, 2F8HOUT DX, AL;F = 0,对应端口被选中端口地址译码(续)l含有多个端口的接口地址译码n例子:某接口有4个端口:384H387H 。u1)画出地址译码电路n步骤u第1步:选中接口(接口译码)u第2步:选中接口中的某个端口(端口译码)l第1步:选中接口384H387H n仅当A9-0 = 11 1000 01XX时译码电路输出低电平。A9A8A7A6A5A4A3A2A1A0&FAEN(低电平)11 1000 01XX注意:选

13、中接口时,低位地址A1A0没有参与译码。F端口地址译码l第2步:选中特定端口n使用F信号和A1A0两根线继续寻址端口。A9A8A7A6A5A4A3A2A1A0AEN&11100001XX+ 384H+385H+ 386H+ 387H387HA1A0A1A0A1A0A1A000011011端口地址译码(续)l含有多个端口的接口地址译码n例子:某接口有4个端口:384H387H 。u1)画出地址译码电路【门电路】u2)用74LS04/20/30/32等芯片重新构成电路u3)用74LS138实现第2级译码(端口译码)端口地址译码l第2步:选中特定端口(138译码器)n使用F信号和A1A0两根线继续寻

14、址端口。FA9A8A7A6A5A4A3A2A1A0AEN& 384H385H387H386HA0A15V端口地址译码l接口地址的构成形式和实现方法n单端口u门电路直接译码n多端口u两级译码p门电路p译码器(简洁,可靠)n地址可变u通过跳线或编程改变端口的地址l通过跳线或编程改变端口的地址(2F8h/3F8h)2F8H变成3F8Hl选用I/O端口地址时要注意n已占用地址不能使用;n保留地址不要使用;n为避免地址冲突,最好采用地址开关。(地址可变)n用户一般可使用30031FH地址第4节数据传输方式l数据传送的控制方式n无条件传送方式n查询传送方式(条件传送)n中断传送方式nDMA控制方式l 1. 无条件传送(同步传送)n当需要输入或输出数据时,不查询外设状态,假定外设已经准备就绪,直接使用I/O指令(IN或OUT)与外设传送数据。n外设准备就绪u输入设备:数据已经放入数据端口,CPU可以读取数据;u输出设备:数据端口已空,CPU可以向它写入数据。n由于不查询外设状态,接口电路不需要状态端口n说明u通常接口在硬件上确保端口读/写操作能同步进行。无条件传送输入l IN AL, A0Hl缓冲器:例如74LS244/245输入地址:A0获得数据:DDD无条件传送输出l

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号