收藏 分销(赏)

基本的IO接口.doc

上传人:pc****0 文档编号:9211300 上传时间:2025-03-17 格式:DOC 页数:24 大小:645.50KB
下载 相关 举报
基本的IO接口.doc_第1页
第1页 / 共24页
基本的IO接口.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述
第3章 基本的IO接口 3.1 I/O概述 I/O接口基本概念 1.为什么要引入接口 •微机和I/O设备的信息类型和格式可能不一样。 •微机和I/O设备信号传输处理的速度可能不匹配。 •不用接口,I/O直接接CPU,随着外设增加,会大大降低CPU的效率。 •I/O直接接CPU,会使外设硬件结构过于依赖CPU,对外设本身发展不利。 2.接口的概念 3.I/O接口与I/O设备 不同I/O设备对应I/O接口不同。 I/O接口受CPU控制,I/O设备受I/O接口控制。 为增加通用性,I/O接口的接口电路一般均具有可编程功能。 微机的应用离不开与外部设备接口的设计、选用和连接。 4.I/O接口功能 .数据缓冲功能: 通过寄存器或锁存器实现。存放数据的寄存器或锁存器称之为数据口(输入、输出、双 向)。数据传送的方向以CPU/MPU为基准。 .接受和执行CPU命令功能: 存放CPU命令代码的寄存器称之为命令口,存放执行状态信息的寄存器称之为状态口。 一般,命令口为输出口,状态口为输入口。 .设备选择功能: CPU通过地址译码选择不同外设。即CPU通过地址译码选择不同I/O接口。 .信号转换功能: 协调总线信号与I/O设备信号。转换包括信号的逻辑关系、时序配合和电平转换。 .中断管理功能: 当外设需要及时得到CPU的服务,特别是在出现故障时,在接口中设置中断控制电路,为CPU处理有关中断事务(如发出中断请求、进行中断优先级排队、提供中断向量等),这样既做到微机系统对外界的实时响应,又使CPU与外设并行工作,提高了CPU的效率。 .数据宽度变换的功能 CPU能直接处理的是并行数据(8位、16位或32位等),而有的外设(如串行通信设备、 绘图仪、电传打字机等)只能处理串行数据,在这种情况下,接口就应具有数据"并-串"和"串-并"变换的能力。可以通过编程改变接口性能及工作方式的接口芯片称为通用接口芯片, 反之,称为专用接口芯片。 .可编程功能: 增加接口的灵活性和智能性。 5.I/O接口组成 接口由接口硬件和接口软件组成。 1.接口硬件 CPU侧引脚信号: 地址信号:选择I/O接口中的不同寄存器; 数据信号:根据命令类型,送到对应的寄存器中,或从寄存器中取得数据或状态; 控制信号:控制命令的执行、时序、信号同步和片选; 状态信号:外设工作状态送给接口的状态寄存器; 状态信号:接口的部分工作状态信号。 根据控制寄存器、状态寄存器、总线控制信号及外设状态信号控制I/O接口的工作。 外设侧引脚信号: 数据信号:接口缓冲寄存器与外设间的数据交换; 状态信号:外设工作状态送给接口的状态寄存器; 控制信号:接口的内部控制逻辑控制外设工作的控制信号和同步信号。 内部控制逻辑: 根据控制寄存器、状态寄存器、总线控制信号及外设状态信号控制I/O接口的工作。 2.接口软件(设备驱动程序) 初始化程序段:设置接口工作方式及初始条件。 传送方式处理程序段:CPU针对不同的I/O设备有不同的处理方式。 主控程序段:完成接口任务的程序。 程序终止与退出程序段:接口电路硬件保护及操作系统中数据恢复。 辅助程序段:提供人-机对话手段。 3.1.1 CPU与I/O之间的接口信号 1)数据信息 数字量、模拟量、开关量等。 2)状态信息 准备就绪信号、请求信号、忙/闲信号等。 3)控制信息 读写信号、响应信号等。 3.1.2 I/O端口及CPU对I/O端口的访问 1)I/O端口(PORT) I/O端口是供CPU直接存取访问的接口中的寄存器或电路。接口中的命令口、状态口和数据口均为I/O端口。 一般情况下,一个端口只能写入或读出一种信息,但是也可能几种信息共用一个端口,比如8255的一个命令口可以接收方式控制字和位控字这两种命令。甚至一个口地址对应多个端口的物理单元,由接口自行解决冲突。在实际应用中,接口芯片内部端口地址的设置有各种技术,比如跟随技术、预留技术、特征位技术、共用口地址技术等,与存储芯片内部地址的划分有很多不同之处。 2)I/O端口地址 对接口中的不同寄存器或电路的编号称为I/O端口地址。CPU通过向命令端口发命令来实现对接口最终对设备进行控制。访问设备实际上是访问相关的端口。 3)端口的类型:数据端口、状态端口、控制端口。 2.CPU对I/O端口的访问 读:I/O地址 à AB à I/O接口 READ信号 à CB à I/O接口 I/O数据 à DB à CPU 写:数据 à DB à I/O接口 I/O地址 à AB à I/O接口 WRITE信号 à CB à I/O接口 3.1.3 I/O端口的编址方式 1. 独立的I/O编址 I/O端口地址空间与存储器地址空间相互独立。 优点: MEM地址空间不受I/O端口地址空间影响; I/O端口数量不多,占用地址线少,地址译码简单,速度较快; 使用专用I/O命令(IN/OUT),与MEM访问命令(LOAD/STORE、MOV)有明显区别,便于理解和检查。 缺点: 专用I/O指令增加指令系统复杂性,且I/O指令类型少,程序设计灵活性较差; 要求处理器提供MEMR/MEMW和IOR/IOW两组控制信号,增加了控制逻辑的复杂性。 2. 存储器映象编址(统一编址) 一个I/O端口等同于一个存储器单元。存储单元和I/O端口统一编址。 优点: 对I/O端口的访问命令与对存储器单元访问相同,不必使用专用I/O指令;外设数目或 I/O 寄存器数几乎不受限制。 微机系统读写控制逻辑较简单。 缺点: I/O端口占用部分MEM空间,可用MEM空间减小; 对MEM访问指令较长,执行速度较慢; I/O端口地址译码时间较长。 3.现代微机的I/O编址 独立的I/O编址方式,I/O寻址空间为64 KB。 I/O指令采用直接寻址和间接寻址方式;直接寻址范围:00 – 0FFH,间接寻址范围:0000 – 0FFFFH。 3.1.5 Intel系列微机80X86的I/O指令 1)I/O端口与累加器间I/O指令——寄存器I/O指令 格式:IN、OUT。 结果:完成I/O端口和EAX、AX、AL之间的数据传送,可使用直接寻址和间接寻址方式。 举例:IN AL,DX (后送前) OUT E0H,AX 2)I/O端口与存储器间I/O指令——块I/O指令 格式:INSB/W/D、OUTSB/W/D。 参数:用DX指定I/O端口地址,输入/输出时的目的/源RAM地址用ES:DI(EDI)/DS:SI(ESI) 指定。 EFLAG寄存器中DF位来决定地址加和减。 结果:通过前缀REP在I/O端口和连续的存储器空间之间传送数据。 3.2 I/O数据传输方式 3.2.1 程序控制传输方式 1. 无条件传送方式 特点:输入时假设外设已准备好,输出时假设外设空闲。 要求:接口输入时加缓冲器,输出时加锁存器。CPU与外设一定要能保证非常准确的同步。 应用:对简单外设的操作。 无条件传送方式一般只需要数据端口。 接 口 数 据 寄 存 器 接 口 译 码 CPU 2.条件传送方式(查询方式) 工作原理:CPU查询外设已准备好后,才传送数据。 特点:CPU与外设间自然同步。 要求:需要增加表示外部设备状态的简单硬件电路。 应用:适用在CPU不太忙且传送速度要求不高时。 采用查询方式的接口一般需要两个端口,即数据端口和状态端口。 状态寄存器 数据寄存器 CPU 3.2.2 中断传送方式 特点:CPU与外设可同时工作。 要求:接口中需要中断控制逻辑支持。 应用:适用与非高速度大量数据传送时。 CPU INTR 中断寄存器 数据寄存器 3.2.3 直接存储器存取(DMA)方式 特点:数据的传送不经过CPU,I/O设备管理由CPU控制,简化CPU对I/O的控制。 要求:需要DMA控制器及相关逻辑支持。 应用:适用与高速度大量数据传送时。 DMAC 3.2.4 I/O处理机方式 特点:I/O处理机接管了CPU的各种I/O操作及I/O控制功能,CPU能与IO处理机并行工作。 要求:需要IO处理机支持。 应用:高速I/O归IO处理机管理,低速I/O设备归CPU管理。 3.3 I/O端口地址分配及地址译码 按照x86系列微机系统中I/O接口电路的复杂程度及应用形式,可以把I/O接口的硬件分为两大类: (1)系统板上的I/O接口芯片。这些芯片大多都是可编程的大规模集成电路,完成相应的接口操作,如定时器/计数器、中断控制器、并行接口等。在PC/AT微机中,这些接口芯片是由如8259、8237A等芯片组成。但随着PLD技术的发展,目前PC机系统主板上的所有I/O接口功能已集成在一片或几片大规模集成电路芯片中。   (2)扩展槽上的I / O接口控制卡。这些接口控制卡是由若干个集成电路按一定的逻辑功能组成的接口部件,如多功能卡、图形卡等。 3.3.1 PC机的I/O地址分配 PC系列I/O地址线有16根,对应64K空间;I/O端口译码只使用了A0-A9,共1024个端口,地址范围为0000H~03FFH。 不同的微机系统对I/O端口地址的分配不同。 初期:A9=0端口(512个)为系统板所用,其他端口(512个)为扩展槽所用。 系统板I/O接口芯片端口地址(0000H-00FFH): PC/AT:A8=A9=0端口(256个)为系统板所用,其他端口(768个)为扩展槽所用。 系统板上接口芯片的端口地址 扩展槽I/O接口卡端口地址(0100H-03FFH): 扩展槽上接口控制卡的端口地址 3.3.2 I/O端口地址译码电路的设计 1. I/O端口地址译码电路中地址线的分配 参与I/O地址译码的信号:地址信号和有关的控制信号 I/O端口地址译码的方法灵活多样,通常可由地址信号和控制信号的不同组合来选择端口地址。与存储器的地址单元类似,一般是把地址信号分为两部分:一部分是高位地址线与CPU或总线的控制信号组合,经过译码电路产生一个片选信号CS去选择某个I/O接口芯片, 从而实现接口芯片的片间选择;另一部分是低位地址线直接连到I/O接口芯片,经过接口芯片内部的地址译码电路选择该接口电路的某个寄存器端口,即实现接口芯片的片内寻址。 PC机I/O接口芯片片选信号: IOW/IOR信号(有效)、AEN信号(无效)和I/O端口地址高位经过译码得到。 PC机I/O接口芯片内部端口地址: 由I/O端口地址低位直接组成。 端口地址的使用方法; 1) 利用R/W信号访问同一端口地址的不同端口寄存器。 2) 利用传递数据中的某些特征位来区分不同的端口寄存器。 3) 由接口芯片按接收数据的先后顺序区分不同的端口寄存器。 等等。 用户I/O端口地址选用原则: 1)系统配置占用的端口地址一律不能用; 2)厂家声明保留的端口地址不要用; 3)其余端口地址可用,为避免冲突最好采用DIP。 2. I/O端口地址译码电路的两个设计原则 1)正确识别I/O周期。 2)减少译码电路的器件延时。 3.I/O端口地址译码电路设计 1)固定式端口地址译码 a)接口中只有一个端口时可采用门电路构成。 b)接口中有多个端口时一般采用译码器电路构成,常见的译码器有74LS138、74LS154等。 74LS138译码器: 工作条件:G1=1,G2A=G2B=0。 工作原理:将复合的输入信号变为枚举的输出信号。 74LS138真值表 2.可选式端口地址译码 (1)使用比较器+地址开关方法 74LS688比较器: 当P0~7≠Q0~7时, P=1,输出高电平。 当P0~7=Q0~7时, P=0,输出低电平。 比较器和地址开关产生一个信号参与片选。 (2)使用异或门+地址开关方法 用异或门代替比较器和地址开关比较。 如用3片74LS136代替74LS688。 74LS136: 逻辑: 3=1⊙2;6=4⊙5; 8=9⊙10;11=12⊙13; 连线:异或门的输入端分别接地址线和开关线。 片选:各异或门的输出“或”的结果。 (3) 用跳线改变输入的可选式译码电路 2.4.3 接口分析与设计基本方法 1.接口硬件设计方法 接主要完成数据、地址、控制总线与外设信号的转换和连接任务。 .分析接口两侧的情况: CPU侧: 应搞清楚是什么类型的系统总线,或者是什么类型的CPU,以及系统总线提供的数据总线、地址总线的宽度和控制总线的逻辑定义(如有效电平、有效脉冲沿、信号方向、是否为三态信号等)、时序关系的特点及要求。由于数据总线和地址总线比较规整,不同的系统总线或CPU其变化不大。而控制总线则因微机系统总线或CPU的类型不同,其信号线及有关时序的关系有较大,因此,对控制信号线的逻辑定义与时序分析至关重要。 外设侧:由于外设种类繁多,型号不一,所提供的信号线五花八门,其逻辑定义、时序关系、电平高低差异甚大,所以外设这一侧的情况更为复杂。一般来说,对外设一侧的分析重点应放在搞清有关外设的工作原理、性能特点及要连接的信号线的定义及时序,从而找出需要接口为它提供哪些信号和功能才能正常工作,它反馈给接口哪些状态信号来表明其工作进程,以达到与系统总线交换数据的目的。一般来说,不管外设如何复杂,只要将它们的工作原理及与接口相连接的信号线的含义及特性分析清楚,对接口电路的分析与设计也就不难了。 . 实现系统总线与外设之间的信号转换: 需要通过对接口两侧信号的分析,找出两者的差别之后,进行信号转换、改造与存储,使之协调及匹配。经过转换后的信号线,在功能定义、逻辑关系和时序配合上,能同时满足接口两侧的要求。 .选择合理外围接口芯片构成接口电路: 在接口电路设计中,往往不需要繁杂的电路参数计算,而是需要熟练地掌握和深入了解各类芯片的功能、特点、工作原理、时序关系、使用方法及编程技巧,以便根据设计要求和经济准则,合理选择芯片,把它们与微处理器或系统总线正确地连接,并编写相应的芯片初始 程序和驱动程序。 注意点: 资源冲突问题; 时序问题及缓冲、锁存措施; 负载与总线驱动问题。 抗干扰措施。 与数据总线相连的器件必须有三态功能。 接口卡插脚与I/O槽引角对应关系要正确。接口卡的几何尺寸要正确。 1. 接口软件设计方法 在接口设计中,接口硬件电路与接口驱动程序是紧密相联的,既要进行接口硬件分析与设计,还要对接口的软件进行分析和设计。通常,若接口硬件发生变化,接口的驱动程序也将随之变化。 直接对硬件编程: 设计者必须对接口硬件细节十分熟悉;尽可能用汇编语言编写程序。 间接对硬件编程: 调用标准接口驱动程序。BIOS调用、DOS调用、Win32 API、DirectX等
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 社会民生

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服