微机和外设的数据传输.ppt_第1页
微机和外设的数据传输.ppt_第2页
微机和外设的数据传输.ppt_第3页
微机和外设的数据传输.ppt_第4页
微机和外设的数据传输.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

第 5 章 微型计算机和外设的数据传输微型计算机和外设的数据传输 本章重点: 接口电路的功能 接口部件和I/O端口的含义 CPU和外设之间的三种数据传输方式、各自优 缺点和使用场合 接口部件和多字节数据总线、地址总线的连接 第5章 微型计算机和外设的数据传输 n5.1 为什么要用接口电路 n5.2 CPU和输入输出设备之间的信号 n5.3 接口部件的I/O端口 n5.4 接口的功能以及在系统中的连接 n5.5 CPU和外设之间的数据传送方式 5.1 为什么要用接口电路 (1)接口电路按功能可分为两类: q使微处理器正常工作所需的辅助电路 q输入输出接口电路 (2)为什么要用接口电路? q模拟 数字 q串行 并行 q多个外设并口 q速度 5.1 为什么要用接口电路 n输入输出接口电路是为了解决计算机和外设 之间的信息变换和缓冲问题而提出来的。 n接口技术专门研究CPU和外设之间的数据传 送方式、接口电路的工作原理和使用方法。 5.2 CPU和输入输出设备之间的信 号 CPU和输入输出设备之间有以下几类信号 : (1)数据信息,又分为: n数字量:二进制形式的数据或以ASCII码表示的数 据及字符。 n模拟量:连续变化的物理量。 n开关量 (2)状态信息 q反映外设的工作状态;由外设通过接口送给CPU 5.2 CPU和输入输出设备之间的信 号 (3)控制信息 qCPU通过接口送给外设;控制外设工作 n数据信息、状态信息和控制信息都通过数据 总线来传送; n数据信息放在接口的数据缓冲器中; n控制信息送到接口的控制寄存器中; n状态信息放在接口的状态寄存器中; 5.3 接口部件的I/O端口 n接口部件中的寄存器称为I/O端口。 n每个端口分配一个端口地址。 n数据端口 n状态端口 n控制端口或命令端口 nI/O端口的两种编址方式:与存储器的统一编址、I/O端 口独立编址。 n微机系统中通常建立两个地址空间:内存地址空间、I/O 地址空间。 n输入/输出指令。 图5-1 外设通过接口和系统的连接 Cpu对外设进行输入输出操作对接口芯片中各端口进行读写操作 5.4 接口的功能以及在系统中的连接 接口的功能 接口与系统的连接 5.4.1 接口的功能 基本功能: 在系统总线和I/O设备之间传输信号,提供信号变换 和缓冲作用。 1. 寻址功能 n识别区分存储器和I/O的信号 n识别片选信号 n选择接口中的寄存器 2. 输入输出功能 n根据读写信号判断传输方向 n传输数据、控制和状态信息 3. 数据转换功能 n把CPU的并行数据转换成一些外设所需的串行数据 ; n把外设的串行信息转换成并行数据送往CPU。 4. 联络功能 n当数据传送完后,能发联络信号通知CPU。 5. 中断管理功能 n发送中断请求和接收中断响应 n发送中断类型号 n优先级管理功能 6. 复位功能 n能接收复位信号,使接口本身及所连外设重新启动 。 7. 可编程功能 可以用软件使其工作于不同的方式 用软件来设置控制信号 8. 错误检测功能 当前多数可编程接口芯片能检测下列两类错误: 传输错误:接口与设备之间的连线受到各种干扰 采用奇/偶校验对传输错误进行检测 发现错误后对状态寄存器中的相应位置位 覆盖错误:输入时,CPU还没有从数据输入寄存器 取走数据,输入寄存器又装上了新数据。 发现错误后对状态寄存器中的相应位置位。 接口芯片 n接口电路的核心功能常被集成在一块或数块大规 模集成电路芯片中,称为接口芯片。 q1)通用接口芯片:并行接口芯片8212、8255,串行 接口芯片8250、8251等 q2)面向微机的专用接口芯片:中断控制器8259、 DMA控制器8237、定时/计数器8253/8254等 q3)面向外设的专用接口芯片:CRT控制器MC6845、 键盘接口芯片8279等 5.4.2 接口与系统的连接 接口可分为两个部分: 和I/O设备相连 和系统总线相连 典型的典型的I/OI/O接口接口和外部连接和外部连接 逻辑 电路 联络信号控制信号 5.5 CPU和外设之间的数据传送方 式 解决定时问题的三种传送方式: n程序方式 n中断方式 nDMA方式 5.5.1 程序方式 程序方式指在程序控制下进行信息传送。 1. 无条件传送方式 n适用于总是处于准备好状态的外设。 n以下外设可采用无条件传送方式: q开关 q发光器件(如发光二极管、7段数码管、灯泡等) q继电器 q步进电机 n优点:软件及接口硬件简单 n缺点:只适用于简单外设,适应范围较窄 无条件传送方式工作原理: 2 . 条件传送方式(查询方式) (1)条件传送的概念 qCPU通过执行程序不断读取并测试外设的状态,如果外设处于 准备好状态(输入设备)或空闲状态(输出设备),则CPU执 行输入指令或输出指令与外设交换信息。 (2)条件传送的三个环节: nCPU从接口中读取状态字 nCPU检测状态字 n传送数据 查询式输入的接口电路 查询式输出的接口电路 举例: n假设从终端往缓冲区输入1个字符行,当遇到回 车符或者字符行超过80个字符时,输入结束,并 自动加上1个换行符。如果在输入81个字符中未 见回车符,则在终端上输出信息“BUFFER OVERFLOW” 。 q字符输入ASCII码,第7位用校验位(偶校验)。如果 校验出错,输出错误信息。如果没有出错,先清除校验 位,再传输到缓冲区。 q假设接口数据输入端口地址为0052H,数据输出端口地 址为0054H,状态端口地址为0056H。设定如果状态寄 存器中第1位为1,则表示输入缓冲器已经有1个字节准 备好,可以进行输入;第0位为1,表示输出缓冲器已 经腾空,cpu可以输出数据。 程序: DATA_SEG SEGMENT MESSAGE DB BUFFER OVERFLOW,0DH,0AH DATA_SEG ENDS COM_SEG SEGMENT BUFFER DB 82 DUP(?) COUNT DB ? COM_SEG ENDS 程序: CODE SEGMNET ASSUME DS:DATA_SEG,ES:COM_SEG,CS:CODE STAT: MOV AX,DATA_SEG MOV DS,AX MOV AX,COM_SEG MOV ES,AX MOV DI,OFFSET BUFFER MOV COUNT,DI MOV CX,81 CLD 程序: NEXT_IN: IN AL,56H TEST AL,02H JZ NEXT_IN IN AL,52H OR AL,0 JPE NO_ERROR JMP ERROR NO_ERROR: AND AL,7FH STOSB CMP AL,0DH LOOPNE NEXT_IN JNE OVERFLOW MOV AL,0AH STOSB SUB DI,COUNT MOV COUNT,DI OVERFLOW: MOV SI,OFFSET MESSAGE MOV CX,17 NEXT_OUT: IN AL,56H TEST AL,01H JZ NEXT_OUT LODSB OUT 54H,AL LOOP NEXT_OUT ERROR: 2 . 条件传送方式(查询方式) n系统中有多个利用查询方式实现输入输出的设备时: 采用轮流查询的方式来检测接口的状态位 例:假定一系统有3个输入设备 TREE_IN:MOV FLAG,0 INPUT: IN AL,STAT1 TEST AL,20H JZ DEV2 CALL PROC1 CMP FLAG,1 JNZ INPUT DEV2: IN AL,STAT2 TEST AL,20H JZ DEV3 CALL PROC2 CMP FLAG,1 JNZ INPUT DEV3: IN AL,STAT3 TEST AL,20H JZ NO_INPUT CALL PROC3 NO_INPUT: CMP FLAG,1 JNZ INPUT 通过标志通过标志FLAGFLAG,使三个设备优先级不同,使三个设备优先级不同 2 . 条件传送方式(查询方式) 循环查询法:设备处于完全相同的优先级 INTREE: MOV FLAG,0 INPUT: IN AL,STAT1 TEST AL,20H JZ DEV2 CALL PROC1 DEV2: IN AL,STAT2 TEST AL,20H JZ DEV3 CALL PROC2 DEV3: IN AL,STAT3 TEST AL,20H JZ NO_INPUT CALL PROC3 NO_INPUT: CMP FLAG,1 JNZ INPUT 2 . 条件传送方式(查询方式) n适用于外设并不总是准备好,而且对传送速率、传 送效率要求不高的场合。 n对外设的要求:应提供设备状态信息 n对接口的要求:需要提供状态端口 n优点:软件比较简单。 n缺点:CPU效率低; 数据传送的实时性差; 速度较慢。 5.5.2 中断方式 1. 中断传送方式的原理 nCPU无需循环查询外设状态,而是外部设备在需 要进行数据传送时才中断CPU正在进行的工作, 让CPU来为其服务。即CPU在没有外设请求时可 以去做更重要的事情,有请求时才去传输数据, 从而大大提高了CPU的利用率。 n优点:CPU效率高,实时性好,速度快。 n缺点:程序编制较为复杂。 中断方式输入接口电路: 2.中断优先级问题的解决 n多个中断源产生中断,CPU首先为谁服务? 中断优先级排队问题。 (1) 解决中断优先级的三种办法: q软件查询方式 q简单硬件方式菊花链法 q专用硬件方式 (2) 三种方法的原理 q软件查询方式: 利用带优先级的查询程序 n n 优点优点硬件电路简单;硬件电路简单; n n 缺点缺点转入服务程序花费时间较长。转入服务程序花费时间较长。 q简单硬件方式菊花链法:在每个外设对应的 接口上连接一个逻辑电路,这些逻辑电路构成一 个菊花链。 2.中断优先级问题的解决 中断优先级菊花链及其逻辑电路 (a) 菊花链线路图 接口在链中的位置决定了它们的优先级接口在链中的位置决定了它们的优先级 (b) 菊花链逻辑电路线路图 p专用硬件方式:可编程中断控制器 典典 型型 的的 可可 编编 程程 中中 断断 控控 制制 器器 2.中断优先级问题的解决 5.5.3 DMA方式 1. DMA传送方式的提出 n前面三种I/O方式都需要CPU作为中介: 外设 CPU 内存 两个含义: 1)软件:外设与内存之间的数据传送是通过CPU执行程序来 完成的(PIO方式); 2)硬件:I/O接口和存储器的读写控制信号、地址信号都是 由CPU发出的(总线由CPU控制)。 n缺点:程序的执行速度限定了传送的最大速度(约 为几十KB/秒)解决:DMA传输 1. DMA传送方式的提出 nDMA传输: 外设 内存 q外设直接与存储器进行数据交换 ,CPU不再担当数 据传输的中介者; q数据的传输速度基本上取决于外设和存储器的速度; q总线由DMA控制器(DMAC)进行控制(CPU要放 弃总线控制权),内存/外设的地址和读写控制信号 均由DMAC提供。 n优点:数据传输由DMA硬件来控制,数据直接在内存和外 设之间交换,可以达到很高的传输速率(可达几MB/秒) 2 . DMA控制器的功能和原理 nDMA控制器的功能: q 向CPU发总线请求信号 q 实行对总线的控制 q 修改所用的存储器或接口的地址指针 q 发读写控制信号 q 存放数据长度 q 交还总线控制权 5. 5.5.3 DMA5.3 DMA方式方式 2 . DMA控制器的功能和原理 nDMA的三种传输方式: q连续传送(块传送) n n DMACDMAC申请到总线后,将一块数据传送完后才释放总线。申请到总线后,将一块数据传送完后才释放总线。 q单次传送(每次传送一个字节) n n 每个每个DMADMA周期只传送一个字节就立即释放总线周期只传送一个字节就立即释放总线。 q按需传送(猝发传送) n n 只要只要I/OI/O接口的数据缓冲可用,就进行传送。接口的数据缓冲可用,就进行传送。 DMA传输数据的原理 DMA控制器的内部最小配置和接口要求 DMA传输对接口的要求: 控制寄存器有1位指出数据传输方向 控制寄存器有1位用来启动I/O操作 状态寄存器有1位指出设备当前是否处于 忙状态 DMA传输对DMA控制器的要求: 控制寄存器有1位作为DMA允许位 控制寄存器有1位用来确定DMA方向 控制寄存器有1位决定进行一次传输后放 弃还是维持对总线的控制权 状态寄存器有1位表示数据块传输是否结 束 对DMA控制器和接口部件预置的信息 : 往DMA控制器的字节计数器设置初值 往DMA控制器的地址寄存器中设置地址初 值 对DMA控制器设置控制字并启动DMA操作 对接口部件设置控制字并启动I/O操作 启动数据块输入举例 nINTSTAT 接口状态寄存器 nINTCON 接口控制寄存器 nDMACON DMAC控制寄存器 nBYTE_REG / ADD_REG DMAC的字节计数器和地址寄存 器 INTSTAT第2位I/O设备的忙位 INTCON第0位数据传输方向 INTCON第2位I/O操作允许位 DMACON第0位传输方向控制位 DMACON第3位DMA控制器允许位 DMACON第6位放弃总线控制权位 启动数据块输入初始化程序 IDLE:IN AL, INTSTAT ;检测设备是否处于忙状 态 TEST AL, 04 JNZ IDLE MOV AX, COUNT ;设置计数 OUT BYTE_REG, AX LEA AX, BUFFER ;设置地址初值 OUT ADD_REG, AX IN AL, DMACON ;取原DMA控制字 OR AL, 49H ;设置方向、块传输和允许标志 OUT DMACON, AL ;置DMA控制字 IN AL, INTCON ;设置接口的传输方向及允许标 志 OR AL, 05H OUT INTCON, AL ;设置接口的控制字 3. DMA控制器的工作特点 n是一个接口电路 n能够控制系统总线 n操纵外设和存储器之间的数据传输 5.5.4 输入输出过程中涉及的几个 问题 1. 系统和接口的联系方式 n系统如何知道接口已准备好数据等待CPU 提取或者准备接收CPU的数据? q查询方式通过程序检测状态寄存器中的“准备 好”位; q中断方式接口向CPU发中断请求; qDMA方式接口向DMA控制器发DMA请求; 5.5.4 输入输出过程中提出的几个问 题 2. 优先级 n 当系统中有几个设备处于同一种传输方式之 下、而且同时发传输请求时,系统到底先响应 哪个请求? q软件方式简单、灵活、速度慢; q硬件方式速度快、开销大; 5.5.5 接口部件和多字节数据总线的 连接

温馨提示

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

最新文档

评论

0/150

提交评论