微机原理与接口技术,第6章

第6章微型计算机接口 本章主要内容接口电路中的信息微型计算机接口及其组成计算机与外设交换数据的方式 接口电路中的信息 接口电路中通常包括3种信息 即 数据信息 状态信息和控制信息1 数据信息CPU与外设交换的基本信息就是数据数据信息一般分为3种类型 即数字量 模拟量 开关量 数字量数字量是以二进制形式表示的数或以ASCII码表示的数据和字符 接口电路中的信息 模拟量当微机系统用于过程控制时 大量的现场物理量 如温度 压力 流量等 经过传感器转换为连续变化的电量 经过放大后就是模拟的电压或电流它们必须经过A D转换 变成数字量才能送入计算机反过来当执行机构需要用模拟量控制时 计算机输出的数字量也必须经过D A转换 接口电路中的信息 开关量开关量就是一些表示两种状态的量 如 开关的开闭 二极管的截止与导通等 接口电路中的信息 2 状态信息状态信息是反映外设当前工作状态的信息3 控制信息控制信息是CPU通过接口传送给外设的控制信息 它是用来控制外设工作的信息 微型计算机接口及其组成 微机与外界要进行数据传送必须通过外部设备进行 微机的外部设备多种多样 工作原理 驱动方式 信息格式 以及工作速度方面彼此差别很大 外部设备不能和CPU直接相连 所以必须使用I O接口电路 什么是I O接口 I O接口是位于系统与外设之间 用来协助完成数据传送和控制I O任务的逻辑电路PC机系统板的可编程接口芯片 I O总线槽的电路板 适配器 都是接口电路 I O接口的主要功能 对输入输出数据进行缓冲和锁存输出接口有锁存环节输入接口有缓冲环节对信号的形式和数据格式进行变换微机直接处理 数字量 开关量 脉冲量对I O端口进行寻址把选中的外设与总线相接 并将未选中的设备与总线隔离 高阻态 与CPU和I O设备进行联络 I O端口的编址 I O端口有两种编址方式1 I O端口与存储器统一编址方式外设端口地址和存储器单元地址共占存储器的访问空间 即一个外设端口占用一个存储单元地址如 R6502 M6800等采用此种方式 示意图见下页 I O端口与存储器统一编址方式示意 I O端口与存储器共享一个地址空间外设端口作为存储器的一个单元 对外设的操作可使用全部的存储器指令 I O端口与存储器统一编址方式示意 优点 不需要专门的I O指令I O数据存取与存储器数据存取一样灵活缺点 I O口地址占用内存单元号 将减少内存容量程序不易阅读 不易区别访主存或访问外设 I O端口的编址 2 I O端口独立编址方式这种编址方式是I O端口地址和存储器单元分别建立两个地址空间 独立编址 CPU用专门的I O指令去访问I O端口如 8086 8088 Z80等采用此种方式示意图见下页 I O地址空间独立于存储地址空间CPU有专门的I O操作指令优点 控制和译码电路相对简单专门的I O指令使程序清晰易读指令简单 速度快缺点 增加硬件开销I O指令没有存储器指令丰富 I O端口独立编址方式 输入输出指令 在第3章已经介绍 IBMPC XT的I O端口地址 在PC机中 仅用A9 A0表示I O口地址 形成1KB端口 000H 1FFH 分配给系统板上的I O芯片使用200H 3FFH 分配给扩展槽的I O的地址 I O端口地址译码方法 I O地址的译码方法与存储器译码的方法基本一样 方法也有多种 这里举一个例子 4个端口 地址300 303H 这是一种局部译码方法 按照系统分配给某接口的地址区域 对地址总线的某些位进行译码 产生对该接口包含的寄存器 端口 的组选信号 再由低位地址线对组内寄存器 端口 译码寻址 从而确定与CPU通信的外部设备例如IBMPC系统板上的接口地址译码就是采用此种译码寻址方式 CPU与外设信息交换控制方式 本节主要内容无条件传送方式查询方式 条件传送方式 中断控制方式直接存储器存取 DMA 控制方式 1 无条件传送控制方式在CPU与慢速变化的设备交换数据时 可以认为他们总是处于 就绪 状态 随时可以进行数据传送 称为无条件传送 或称为立即传送 同步传送适用于简单设备 如LED数码管 按键或按钮等无条件传送的接口和操作均十分简单 1 无条件传送控制方式 这种传送有一个前提 就是 外设必须随时就绪 外部控制过程的各种动作时间是固定的且是已知的情况其输入输出原理如下页图所示 无条件传送控制I O原理示意 2 条件传送控制方式 条件传送又称为查询传送 它是在传送数据前 CPU需要了解 查询 外设的工作状态 然后在外设可以交换信息的情况下 就绪 状态 实现数据的输入输出 若外设未准备好 CPU就要等待 对多个外设的情况下 CPU将按一定的顺序依次查询每个设备 轮询 先查询的外设将优先进行数据交换查询传送的特点是 工作可靠 适用面宽 缺点是传送效率低 就绪 Ready 的意义 在输入场合 就绪 说明输入接口已准备好送往CPU的数据 等着CPU来读取该状态也可以用接口中数据缓冲器已 满 来描述 就绪 Ready 的意义 在输出场合 就绪 说明输出接口已做好准备 等待接收CPU输出的数据该状态也可以用接口中数据缓冲器已 空 或者用外设 闲 或不 忙 BUSY 来描述 查询传送的两个环节 查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询 直至就绪 查询传送的两个环节 传送环节寻址数据口是输入 通过输入指令从数据端口读入数据是输出 通过输出指令从数据端口输出数据 查询输入 输入时的数据和状态信息 程序流程图 查询输入的程序实现 LTEST INAL STATUS PORT 从状态口读入信息ANDAL 80H 检查ready 1 JZLTEST ready不等于1 循环INAL DATA PORT ready 1 从数据口读入数据 查询输入方式 输入数据必须经过三个步骤 CPU从状态口读取状态字CPU用指令查询状态是否满足条件 不满足再读状态字 否则进入下一步CPU从数据口读取数据 查询输入方式小结 查询输出 省略 3 中断控制方式 无条件传送方式 需要已知定时时间 因此可靠性差 但硬件 软件简单查询传送方式 CPU需要花大量的时间去读状态字 效率低 多个外设操作采用轮询机制 因此实时性差中断控制方式适用于多个外设及实时系统 1 中断控制方式过程 CPU若采用中断控制方式与外设交换数据 其过程是 CUP启动外设工作后 就去作自己的工作 这时外设和CPU是并行工作的 即外设准备数据 CPU执行程序 当外设准备就绪 向CPU发出中断请求一旦CPU响应请求 就暂停原程序的执行 而转去执行一段预先安排好的中断服务程序 1 中断控制方式过程 在中断服务程序中 进行数据传输 此时CPU和外设是串行工作的服务结束后 CPU又返回原来的断点 继续执行原来的程序 2 中断传送方式进行数据输入时的基本电路 中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的 在每一个指令的最后一个时钟周期采样中断请求输入引脚但是每传送一次数据 就要中断一次不适用大数据量传送有关8086 8088的中断系统 详见第7章 中断控制方式小结 4 直接存储器存取 DMA 控制方式 用于高速的I O及成组交换数据 希望克服程序控制传送的不足 外设 CPU 存储器外设存储器外设 存储器CPU释放总线 I O操作完全由DMA控制器管理 DMA控制的基本原理 DMA控制的基本原理如下图所示 DMA控制的基本原理 DMA的工作过程如下 外围设备向DMA控制器发出DMA传送请求 DMA控制器向CPU发出的总线请求信号 HOLD CPU执行完现行总线周期后 向DMA控制器发出响应信号 HLDA DMA控制原理的基本原理 CUP将CB AB及DB让出 由DMA控制器进行控制 DMA控制器向外围设备发出DMA请求信号的回答信号 进行DMA传送 DMA传送完毕 DMA控制器撤消对CPU的总线请求 总线控制权还给CPU 恢复正常运行 无条件传送 慢速外设需要与CPU保持同步查询传送 简单实用 效率极低中断传送 外设主动 可以与CPU并行工作 但每次传送需要大量额外时间开销DMA传送 DMAC控制 外设直接和存储器进行数据传送 适合大量 快速数据传送 小结 DMA控制器8237A及其应用内容不要求 作业 P1646 3 6 4 看懂例6 16 3题程序段如下 LP1 INAL 60HANDAL 80HJZLP1INAL 61H 6 4题程序段如下 LEASI BUFFERMOVCX 400HLP1 INAL 86HTESTAL 80HJNZLP1MOVAL SI OUT85H ALINCSILOOPLP1HLT