欢迎来到天天文库
浏览记录
ID:38471085
大小:420.05 KB
页数:43页
时间:2019-06-13
《输入输出接口和总线》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章输入/输出接口和总线本章内容基本概念I/O端口的编址输入输出的基本方法:1、程序控制的输入/输出方法(又分为:无条件传送和查询式传送或有条件传送)2、中断方式传送3、DMA方式传送中断中断基本概念DMA*DMA的基本概念6.1输入/输出接口(I/O接口)6.1.1概述什么是I/O接口?把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。I/O接口要解决的问题速度匹配(Buffer)信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关
2、系)总线隔离(三态门)I/O接口的功能I/O地址译码与设备选择把选中的端口与总线相接,未选中的与总线隔离(高阻态)数据的缓冲与暂存缓解接口与CPU工作速度的差异对外设进行监测、控制与管理,中断处理信号电平与类型的转换形式、格式、电平、功率、码制等6.1.2I/O接口的编址方式I/O端口:I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号——称为端口地址(或端口号)。端口有两种编址方式:
3、统一编址和独立编址。1.统一编址把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。优点指令统一,灵活;访问控制信号统一,使用同一组的地址/控制信号。缺点内存可用地址空间减小0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H2.独立编址外设地址空间和内存地址空间相互独立。优点:内存地址空间不受I/O编址的影响缺点:I/O指令功能较弱,使用不同的读写控制信号00000H内存地址空间内存空间(1MB)I/O空间(64KB)FFFFHFFFFFHI/O地址空间0000H
4、例如:8088/8086系统8086总线A19-A0A9-A0MEMR、MEMWIOR、IOW、AEN存储器访问I/O访问8088/8086CPU的I/O编址方式采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用(8088)来区分:时为I/O地址I/O操作只使用20根地址线中的16根:A15~A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0~FFFFHIBMPC只使用了1024个I/O地址(0~3FFH)6.1.3I/O端口地址的译码、、A15~A0OUT指令将使总线的信号有效IN指令将使
5、总线的信号有效当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。例如:某外设接口有4个端口,地址为2F0H~2F3H,则其基地址为2F0H,由A15~A2译码得到,而A1、A0用来确定4个端口中的某一个。6.1.4I/O数据的传送方式并行一个数据单位(通常为字节)的各位同时传送速度快、距离短、成本高例:PC机的并行接口(通常用于连接打印机)串行数据按位进行传送速度慢、距离远、成本低例:PC机
6、的串行接口(通常用于串行通信)6.2.1接口电路的基本结构6.2简单接口电路数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑接外设接主机数据输入/输出寄存器——暂存输入/输出的数据命令寄存器——存放控制命令,用来设定接口功能、工作参数和工作方式。状态寄存器——保存外设当前状态,以供CPU读取。简单接口电路数据输入接口必须具有三态输出能力,以便与总线挂接外设有数据保持能力时—可用三态门实现外设无数据保持能力时—用三态输出的锁存器实现数据输出接
7、口常用锁存器实现三态门:高电平、低电平、高阻态通常一个器件中包含8个三态门常用芯片:74LS244(见241页)应用例子:开关接口工作波形图如下:A0~A15IOR#译码输出D0~D7开关状态地址有效简单的输入接口举例接口电路图如下:83FCH~83FFH译码器锁存器:由D触发器构成通常一个器件包含8个D触发器常用芯片:(教材图6.3)74LS373(具有三态输出的锁存器,内部结构见图6.3)应用例子:发光二极管接口简单的输出接口举例译码器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15
8、IOW#74LS373RGND/OE输入/输出接口综合应用例子根据开关状态在7段数码管上显示数字或符号用74LS273作为输出接口,把数据送到7段数码管74LS273的端口地址假设为F0H用74LS244作为输入口,读入开关K0~K3的状态74LS244的端口地址假设为F1H当开关的状态分别为0000~
此文档下载收益归作者所有