第5章输入输出接口_第1页
第5章输入输出接口_第2页
第5章输入输出接口_第3页
第5章输入输出接口_第4页
第5章输入输出接口_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

输入 输出接口 第五章输入输出接口 主要内容输入输出接口CPU与外设之间数据传送方式 要求着重理解接口基本结构的特点掌握CPU与外设之间数据的传送方式与控制方式 外设种类繁多 机械式 电动式 电子式 电磁式信号类型复杂 数字量 模拟量 开关量处理信息速率相差甚远 如手动键盘输入和磁盘输入外设数据传递方式 并行 串行 基本概念 第5 1节基本概念外设输入 输出设备是外部设备 简称外设 微机与外设之间的信息交换称为输入和输出 接口接口 外设与总线之间的中间环节 是计算机与外设交换信息的控制电路 端口 接口电路中可以被寻址访问的存储单元 可分为数据端口 状态端口 控制端口 接口功能 接口的功能数据缓冲 外设数据输入到总线时需要缓冲 数据锁存 总线数据输出到外设时的锁存 解决CPU与外设速度不匹配问题 传输控制命令和状态信息 计算机与外设有时需使用硬件握手 例如 计算机利用查询输出到打印机 信息转换 串并转换 数模转换 电平格式转换 I O端口的编址 I O端口的编址方式I O端口与存储器统一编址把一个外设端口看作存储器的一个单元 占用存储器的地址空间 利用对存储器的读写操作完成数据的输入和输出 优点不需要专门的输入输出指令可使用全部对存储器操作的指令 指令数量多端口数量多缺点占用存储器空间寻址时地址线数多 译码复杂 I O端口的编址 I O端口独立编址计算机单独给外设端口编址 I O端口具有独立的地址空间 计算机需用控制信号区分存储器空间和I O端口空间 例8086CPU的M IO 优点I O空间较存储器空间小 地址线少 译码电路相对简单 不占用存储器空间缺点要有专门输入输出指令 寻址方式少 不灵活 8086I O空间 8086I O空间8086系统使用16根地址线 A15 A0 寻址I O端口 可寻址64KB个I O端口 偶地址端口数据使用低8位数据总线传送 奇地址端口数据使用高8位数据总线传送 奇 偶地址端口的数据传送由BHE和A0控制 I O端口的读 写选通信号为IOR和IOW 注 IBMPC XT机实际只使用低10位数据线寻址I O端口 寻址1KB个端口 8086I O空间 计算机系统中 多使用8位端口 8086系统的8位端口使用数据线的低8位传送信息 所以端口地址的编址多为偶地址 现代的计算机体系中 通过转换电路8位端口地址可以连续编址 8086输入 输出指令输入指令INAL PORTINAX PORTINAL DXINAX DX输出指令OUTPORT ALOUTPORT AXOUTDX ALOUTDX AX CPU对外设的输入输出操作类似于存储器的读写操作 但有外设与存储器有很多不同 CPU与外设的连接 第5 2节CPU与外设的连接CPU与外设的一般接口电路 一 端口数据口 用于完成数据的输入或输出 包括 数字量如用ASCII码表示的数和字符模拟量如经DAC转换输出的电流开关量如以一位二进制表示的量 CPU与外设的连接 控制口控制口为一个输出接口 用于控制外设的启动 START 停止 STOP 或数据的选通 STB 等 具体由外设的要求而定 状态口CPU通过状态口了解外设状态 如 输入外设是否准备好 READY 转换是否结束 EOC 输出装置是否忙 BUSY 控制信息和状态信息一般也由数据总线传送 CPU MEM I O电路 I O设备 AB CB 控制线 状态线数据线 DB CPU与I O设备的连接示意图 CPU和主存 外存设备接口 显示 声音设备接口 工业控制接口 通信设备接口 输入设备控制器 输出设备控制器 硬盘 磁盘 磁带 光盘 显示器 数 模 模 数转换器 调制解调器 网卡 键盘 鼠标 光笔 激光打印机 针式打印机 计算机I O系统结构图 接口电路基本结构接口电路基本结构同传送信息种类有关 可分为 数据信息 状态信息 控制信息 CPU I O 数据I O缓冲器 状态寄存器 命令控制寄存器 中断控制逻辑 接口 AB DB M IO RD WR INTR DATA STATUS CONTROL 端口地址 1 3种性质不同信息 经不同端口分别传送 每个端口都有自己的端口地址 用不同的端口地址来区分不同信息 2 用输入输出指令寻址外设时 外设状态作为一种输入数据 而CPU控制命令 是作为一种输出数据 从而可通过数据总线分别传送 3 端口地址由CPU地址总线的低8位或低16位地址信息来确定 CPU根据I O指令提供的端口地址来寻址端口 数据信息1 数字量 由键盘 磁盘等读入的信息 或主机送给打印机 显示器等的信息2 模拟量 计算机用于检测 数据采集或控制时 现场信息是连续变化的物理量 温度 压力等 需A D转换 3 开关量 两个状态 如开关的闭合 断开等用一位0或1二进制数表示 2 状态信息外设当前所处工作状态信息 CPU与外设间可靠交换数据条件 输入时 告知CPU有关输入设备数据是否准备好 Ready 1 输出时 告知CPU输出设备是否空闲 Busy 0 CPU通过接口电路掌握输入输出设备的状态 以决定可否输入或输出数据 3 控制信息用于控制外设的启动或停止 CPU与外设的数据传送方式 直接程序控制方式无条件程控传送方式有条件程控传送方式 查询方式 中断控制方式直接存储器存取 DMA 控制方式 程序传送CPU与外设间的数据交换在程序控制下进行 即IN或OUT指令控制 无条件程控传送方式有条件程控传送方式 查询方式 无条件传送又称同步传送 这种传送方式在传送数据之前不查询简单外设 如开关 继电器 7段显示器 机械式传感器等 状态 而只对其在规定的时间直接用IN或OUT指令来进行信息的输入或输出 在这种方式下 外设总是处于 待命 状态 可跟进其固定的时序或已知的时序 将IN或OUT指令插在程序中 当程序执行到该条指令时 就开始输入或输出数据 显然 这种传送方式的实质是用程序来定时同步传送数据 端口译码器 数据输入缓冲器端口 数据输出锁存器端口 输入数据 输出数据 AB M IO RD WR DB 输入数据时 由于数据保持时间相对于CPU处理时间长得多 故输入端可直接用输入缓冲器与CPU的数据总线相连 输出数据时 一般都需要锁存器将要输出的数据保持一段时间 其长短和外设的动作相适应 锁存时 锁存允许段无效 DB新数据不能进入锁存器 CPU与外设的数据传送方式 一 无条件传送传送数据之前 CPU不需要检测外设是否准备就绪 程序中直接使用IN和OUT命令来完成输入和输出 也叫注入式或命令式 无条件输入 MOVDX 0160HINAL DX I O读周期时序 T1 T2 T3 T4 T1 地址 数据 CLK A BHE D IOR 7 0 15 0 CPU与外设的数据传送方式 无条件输出 MOVDX 0160HMOVAL BX OUTDX AL BX 中存放需要输出到I O接口的内容 T1 T2 T3 T4 T1 地址 数据 CLK M IO BHE AD ALE WR DT R DEN READY 15 0 I O写周期时序 CPU与外设的数据传送方式 无条件输出 T1 T2 T3 T4 T1 地址 数据 CLK M IO BHE AD ALE WR DT R DEN READY 15 0 I O写周期时序 CPU DB 10H 11H 8位 缓冲寄存器 M IO RD 11H 20H 8 M IO WR 20H 8 8 8位 4位数字电压表 K7 K1 K0 输入数据 模拟量 8 缓冲寄存器 P7 P1 P0 M IO WR 10H MOVDX 0100H 01H DH 置吸合第1个继电器代码 LEABX DSTOR XORAL ALMOVAL DLOUT20H ALCALLNEARDELAY1MOVAL DHOUT20H ALCALL NEARDELAY2INAX 10HMOV BX AXINCBXINCBXRCLDH 1JNCAGAIN 00H DL 置断开所有继电器代码 置输入数据缓冲器的地址指针 清AL及进位位CF 断开所有继电器线圈 模拟继电器触点的释放时间 先使P吸合 模拟继电器触点的释放时间 输入 存入内存 DH左移 大循环 1位 为下一个触点吸合做准备 8位都输入完了吗 没有 则循环 输入已完 则执行别的程序段 START AGAIN DONE CPU与外设的数据传送方式 二 查询传送传送数据之前 CPU需要检测外设的状态 即握手信号的联络 只有外设条件满足时才传送数据 否则继续检测 直到满足 通常接口电路中用状态端口的某一位或某几位表示外设的状态 也叫问答式 如果外设工作情况无法预先知道或无规律 一般采用查询或中断工作方式 优点 可解决速度匹配问题 电路和程序都比较简单 缺点 CPU检查外设状态 需要占用大量CPU时间 影响系统效率 查询传送方式 二 查询传送方式CPU不断检测外设状态 外设满足条件时才传送数据 特点 电路和程序简单 但占CPU时间 效率较低 常用一位或几位表示外设状态1 查询输入 开始 查询外设状态 是否满足条件 输入数据 结束 是 否 MOVDX 164HOUTDX AL 启动ADC MOVDX 162HINAL DX 读状态 TESTAL 1 判断状态位JZREAD1 MOVDX 160HINAL DX 读取数据 CPU与外设的数据传送方式 电路说明控制口 口地址为0164H 只完成ADC的启动 不用传递其他控制信息 0164H IOW状态口 ADC转换结束后 由EOC产生负脉冲 把ADC输出数据锁存到锁存器中 并置状态触发器为 1 表示数据已准备好 状态信息由数据线D0传送 口地址为0162H 0162H IOR 数据口 查询状态 条件具备 则选中数据口输入数据 同时清状态 表示数据已读走 防重读 数据口地址为0160H 0160H IOR数据与状态必须由不同端口输入至CPU数据总线 读入数据命令使状态信息清0 为下次输入新数据做准备 程序查询输入的数据和状态信息读入数据是8位 而读入的状态信息往往是1位 因此不同的外设其状态信息可使用同一个端口 只要使用不同的位即可 D7 D0 D7 8位 READY 1位 状态 STATUS 端口1 位 输入 状态 DATA 端口 8位 输入 查询式输入程序流程图 输入状态信息 READY 1 输入数据 N Y POLL INAL STATUS PORT TESTAL 80HJNEPOLLINAL DATAPORT 读状态端口信息 设 准备就绪 READY 信息在D7位 未 准备就绪 则循环再查 已 准备就绪 READY 1 则读入数据 CPU与外设的数据传送方式 从ADC读取一个数据子程序 数据存放在AL中 READPROCMOVDX 0160HINAL DX 清状态MOVDX 0164HOUTDX AL 启动READ1 MOVDX 0162HINAL DX 查询状态TESTAL 01HJZREAD1MOVDX 160HINAL DX 读取数据RETREADENDP CPU与外设的数据传送方式 查询输出 CPU与外设的数据传送方式 电路说明控制口 由输出口164H产生一个负脉冲启动外设工作 数据口 地址160H CPU输出数据到锁存器 同时置 1 状态触发器 通知外设数据已准备好 状态口 地址0162H CPU查询状态 看外设是否取走数据 若外设取走数据 则发ACK信号 清除状态触发器 8位 数据 状态 1位 D7 BUSY 数据端口 输出 状态端口 输入 查询式输出程序流程图 输入状态信息 BUSY 1 输出数据 N Y 查询输出部分程序 POLL INAL STATUS PORT TESTAL 80HJNEPOLLMOVAL STOREOUTDATAPORT AL 查状态端口中的状态信息D7 D7 1即忙线 1 则循环再查 否则 外设空闲 则由内存读取数据 输出到DATA地址端口单元 一个采用查询方式的数据采集系统8个模拟量输入的数据采集系统 用查询方式与CPU传送信息 电路如图 CPU 数据总线D7 D0 3 2 M IO RD 3 A D转化器 多路开关 M IO RD 2 4 8位 M IO WR 4 D0 D4 D2 UA0 UA7 8位数据 1位状态D READY 启动 1个模拟量 8个输入模拟量 CPU与外设的数据传送方式 输出一个数据子程序 输出数据在AL中 WRITEPROCMOVDX 0164HOUTDX AL 启动外设MOVDX 0160HOUTDX AL 输出数据MOVDX 0162HWRITE1 INAL DX 查询状态TESTAL 01HJNZWRITE1RETWRITEENDP CPU与外设的数据传送方式 三 中断传送方式外设 准备好 后 向CPU发中断请求CPU响应请求 停止正在运行的程序 去执行请求处理处理完请求后 回到断点处继续执行数据交换在中断服务程序中完成优点 CPU主动查询变为被动中断 提高了系统效率缺点 需要专门的中断申请电路 程序设计复杂 不适合对大量数据的传输 CPU与外设的数据传送方式 四 DMA方式 DirectMemoryAccess 传统方式 DMA方式 DMA方式适合大量数据高速传输 例如 DRAM刷新等优点 速度高 不需要CPU参与 缺点 硬件接口复杂 DMAC价格高 DMA控制器或DMA通道一般是8237芯片一片8237有4个通道 两片级连有7个通道 输入 输出实例 第5 3节输入 输出实例例1设计一个输出接口 控制8个发光二极管 每隔1秒钟点亮一只 只有一只亮 从上到下循环往复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论