第7章与外设的数据传输_第1页
第7章与外设的数据传输_第2页
第7章与外设的数据传输_第3页
第7章与外设的数据传输_第4页
第7章与外设的数据传输_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、第7章 微机与外设间的数据传送主 要 内 容q 接口电路的作用q 微处理器与外设之间传送的信息q 接口电路的一般结构及特性q 微处理器与外设间的数据传送机制接口电路:接口电路: 是位于微机与外设之间用来协助完成数据和控制任务传送的电路,是微机和外设之间传送信息的部件。接口技术:接口技术: 是专门研究CPU和外设之间的数据传输方式、接口电路的工作原理和使用方法的技术。7.1 接口电路的作用接口电路的作用4 外设所使用的信息形式可能不同5 在同一时刻微处理器通常只与一个外设交换信息6 各外设的工作速度有差异1 外设功能多样2 每类外设可能存在多种具有不同工作原理的具体设备3 外设所使用的信号形式可

2、能不同接口电路在微机中存在的意义及其作用:接口电路在微机中存在的意义及其作用:外设为什么一定要通过接口电路与系统总线相连?外设为什么一定要通过接口电路与系统总线相连?数据信息-微处理器与外设间传送的基本信息。数据信息又包含3种类型,即数字量、模拟量和开关量。控制信息-是微处理器通过接口传送给外设的,用于控制外设的工作(随外设的具体工作原理不同而含义有所不同)。状态信息-是由外设通过接口传给微处理器的,可以反映当前外设所处的工作状态。三类信息三类信息: :7.2 微处理器与外设之间传送的信息微处理器与外设之间传送的信息7.3.1 接口电路的内部结构7.3.2 接口电路的外部特性7.3.3 接口电

3、路芯片的分类7.3.4 接口电路的可编程性7.3 接口电路的一般结构及特性接口电路的一般结构及特性7.3.1 接口电路的内部结构 接口电路内部结构中,包括一组寄存器,微处理器与外设之间传送的各类信息会进入接口电路中不同的寄存器,这些寄存器被称为I/O端口(简称端口)。 为此也就有了对应三种类型信息的三类端口,即数据端口、状态端口、控制/命令端口。 其中,数据端口又包括数据输入端口和数据输出端口。外设通过接口和系统的连接 接口电路的外部特性外部特性是由其对外的引脚信号体现的。 接口的引脚信号根据其连接的对象分为面向CPU一侧的信号和面向外设一侧的信号。面向面向CPU一一侧的信号-需弄清面向的是什

4、么样的CPU。面向外设面向外设一一侧的信号-需在清楚外设工作原理与工作特点的基础上真正理解某些信号的含义。7.3.2 接口电路的外部特性接口电路按功能分为两类:接口电路按功能分为两类:输入输出接口电路输入输出接口电路利用这类接口电路,微处理器可以接收外设送来的信息或将信息发送给外设。辅助接口电路辅助接口电路是使微处理器正常工作所需的接口电路,通过这类接口电路,使处理器得到所需要的时钟信号或接收外部的多个中断请求等。7.3.3 接口电路芯片的分类接口芯片按功能分为两类:接口芯片按功能分为两类:通用接口芯片通用接口芯片: 支持通用的输入/输出及控制,它适用于大部分设备。面向微机系统的专用接口芯片面

5、向微机系统的专用接口芯片-与CPU和系统配套使用,以增强其总体性能。面向外设的专用接口芯片面向外设的专用接口芯片-一般针对某种外设而设计,仅用于某些特定的外设。专用接口芯片:专用接口芯片:I8255A-并行接口芯片I8251A-串行接口芯片I8259A-扩展系统中断能力的中断控制器I8237/8257-支持DMA数据高速传送的DMA控制器I8253/8254-用来为系统提供时钟信号的定时/计数器I8257-CRT控制器,可支持显示的接口芯片I8279-键盘接口芯片可编程性可编程性-是指接口芯片的功能和工作方式可以通过程序来设定。 为设定芯片工作方式而编写的程序段称为该接口芯片的初始化程序段初始

6、化程序段。可编程的芯片的优点:可编程的芯片的优点: 由于可编程的芯片具有多种工作方式和内部资源,可以通过编程设置和选用,且可以在系统运行过程中随时改变,因而大大简化了接口的设计,同时为灵活运用接口开辟了很大的空间。7.3.4 接口电路的可编程性程序控制下的数据传送程序控制下的数据传送1. 程序传送方式:无条件传送方式-传送前CPU无需了解接口的状态,直接传送数据。条件传送方式-传送前CPU先查询接口的状态,接口“就绪”后传送数据。2. 中断传送方式: 外设提出传送请求,CPU视情况响应后调用预先安排好的中断处理子程序来完成数据传送。DMA方式方式 传送请求由外设向DMAC提出,DMAC向CPU

7、申请总线控制权,DMAC利用系统总线完成外设和存储器间的高速数据传送。采用采用I/O处理器进行数据的传送和处理。处理器进行数据的传送和处理。7.4 微处理器与外设的数据传送机制微处理器与外设的数据传送机制程序传送方式程序传送方式无条件传送方式无条件传送方式条件传送方式条件传送方式中断传送方式中断传送方式DMA方式方式中断传送方式的原理中断传送方式的原理中断优先级问题的解决中断优先级问题的解决该传送方式的提出该传送方式的提出DMAC功能及功能及DMA传送的原理传送的原理中断系统的作用与功能中断系统的作用与功能7.4.1 程序控制下的数据传送程序控制下的数据传送无条件传送方式:无条件传送方式: 无

8、条件传送方式是指,传送数据前微处理器无需了解接口的状态便直接传送数据的方式。 此种传送方式对外设要求的条件很严格,只适合那种与微处理器不频繁进行数据传送的外设场合,这样才有可能保证每次传送数据时外设都是就绪的。 无条件传送方式的工作原理端端口口译译码码器器输输入入缓缓冲冲器器输输出出锁锁存存器器发往发往 输输 出出 设设 备备来来 自自 输输 入入 设设 备备地址总线地址总线RDWRM / IOD7D0条件传送方式条件传送方式又称查询传送方式。查询传送方式。数据传送过程由三个环节组成:CPU从接口中读取状态字;CPU检测状态字的对应位是否满足就绪条件,若不满足,则回到前一步读取状态字;若满足,

9、则传送数据。-查询输入接口查询输入接口查询式输入的接口电路 输输入入设设备备地址地址译码译码锁锁存存器器数数据据缓缓冲冲器器三三态态缓缓冲冲器器RDQ选通选通5V数据数据数据数据CPUM/IOWRD7D0RD地址总线地址总线READYMOVDX, 8000H ; DX指向状态口指向状态口STATUS:INAL, DX ;读状态端口读状态端口TEST AL,01H ;测试标志位测试标志位D0JZSTATUS ;未就绪,继续查询未就绪,继续查询INCDX ;就绪,就绪, DX改指数据端口改指数据端口INAL, DX ;数据输入数据输入 设,数据端口地址为8001H;状态端口地址为8000H;D0位

10、表示READY状态。则,配合该接口电路工作的相应程序段为,-查询输出接口查询输出接口输输出出设设备备数数据据锁锁存存器器状状态态寄寄存存器器端口端口译码译码RQD5V数据数据数据总线数据总线选通信号选通信号ACKBUSYM/IORD地址总线地址总线WR查询式输出的接口电路 CPUMOVDX, 8000H ; DX指向状态端口指向状态端口STATUS:INAL, DX ;读状态端口读状态端口TEST AL,80H ;测试标志位测试标志位D7JZSTATUS ;未就绪,继续查询未就绪,继续查询INCDX ;就绪,就绪, DX改指数据端口改指数据端口MOVAL,BUF ; 变量变量BUF送送ALOU

11、T DX , AL ;数据输出数据输出 设,数据端口地址为8001H;状态端口地址为8000H; D7位表示BUSY状态。则,配合该接口电路工作的相应程序段为,测试数据是否准测试数据是否准备好?备好?初始化初始化输入一个字节或字到输入一个字节或字到CPU对数据进行处理对数据进行处理传送到内存缓冲区传送到内存缓冲区处理缓冲区中数据处理缓冲区中数据操作完成否?操作完成否?开始开始否否是是是是否否后续处理后续处理查询式输入过程的流程图查询式输入过程的流程图如果系统中有多个利用查询方式实现输入/输出的外设,该如何处理?通常用循环或轮流查询方式来检测接口的状态位。 设: 一个系统中有三个输入设备;状态寄

12、存器用标号STAT1, STAT2, STAT3来表示;三个执行输入操作的子程序用 PROC1, PROC2, PROC3表示;用D5位作为输入准备好标志位;程序中设置一个标志FLAG, 这是一个任选的内存单元,将它作为标志单元来用。问题:问题:INTREE: MOVFLAG, 0INPUT: INAL, STAT1TEST AL, 20HJZ DEV2CALLPROC1DEV2:IN AL, STAT2TEST AL, 20HJZ DEV3CALL PROC2DEV3:IN AL, STAT3TEST AL, 20HJZ NO_INPUTCALL PROC3NO_INPUT: CMP FLA

13、G, 1JNZ INPUT 循循 环环 查查 询询 法法-等同等同TREE_IN:MOVFLAG, 0 DEV3: IN AL, STAT3INPUT: INAL, STAT1 TEST AL, 20HTESTAL, 20H JZ NO_INPUTJZDEV2 CALL PROC3CALLPROC1 NO_INPUT: CMP FLAG, 1CMPFLAG, 1 JNZ INPUTJNZINPUT DEV2: INAL, STAT2TESTAL, 20HJZDEV3CALLPROC2CMPFLAG, 1JNZINPUT 轮流查询法轮流查询法- - -有优先级有优先级1. 中断方式的提出中断方式

14、的提出 非数据传输占用了CPU大量的工作时间,降低了CPU的工作效率;不具备实时性。2. 中断方式的优点中断方式的优点 提高了CPU的效率;具有实时性。3. 中断方式下基本接口电路的工作原理中断方式下基本接口电路的工作原理 现以利用中断方式进行数据输入为例,说明基本接口电路的工作原理。 输输入入设设备备三三态态缓缓冲冲器器DQ输输入入锁锁存存器器端口端口译码译码中断中断请求请求中断中断屏蔽屏蔽触发器触发器Q数据数据地址总线地址总线D7D05VINTAINTRD中断方式输入的接口电路选通选通中断处理过程 请求中断 中断响应 保护现场 关闭中断 中断源识别 进一步保护现场 中断服务/处理 进一步恢

15、复现场 中断返回 以8086系统为例的中断处理过程,具体如下: IPCSPSWCPU和总线和总线 控制逻辑控制逻辑接口接口STIIRET旧(旧(CS)旧(旧(IP)旧(旧(PSW)新(新(IP)新(新(CS)内存内存中断向量中断向量堆栈堆栈接口发中断请求信号接口发中断请求信号当前指令执行完后,当前指令执行完后,CPU进行中断回答进行中断回答中断类型号中断类型号N 送送CPU当前的当前的PSW、CS和和IP推入堆栈推入堆栈清除清除IF和和TF(4*N)作为作为IP (4*N+2)作为作为CS中断子程序执行中断子程序执行开中断开中断IRET指令使指令使IP、 CS和和PSW 弹出堆栈弹出堆栈返回被

16、中断的程序返回被中断的程序被中断的程序被中断的程序中断子程序中断子程序地址总线地址总线控制总线控制总线数据总线数据总线可屏蔽中断的响应和执行中断优先级判优中断优先级判优 1. 软件查询方式软件查询方式2. 菊花菊花链链法法3. 专用硬件方式专用硬件方式基本原理:基本原理: 当CPU接收到中断请求信号后,便执行优先级判优的查询程序,逐个检测外设中断请求标志位的状态,检测顺序按优先级的高低顺序来进行 。优点:优点: 省硬件,不需要有判断优先级的硬件排队电路。缺点:缺点: 由设备发出中断请求信号到CPU转入相应的服务程序入口的时间较长。软件查询方式 菊花链逻辑电路菊花链逻辑电路中断回答中断回答INT

17、RINTA中断请求中断请求(a)菊花链逻辑电路INTA+设备设备1接口接口1菊花链菊花链逻辑电路逻辑电路设备设备2接口接口2设备设备3接口接口3(b)菊花链CPU以及以及 总线总线控制逻辑控制逻辑INTAINTR中断请求中断请求中断回答中断回答总线控制逻辑总线控制逻辑当前中当前中断服务断服务寄存器寄存器优先管理逻辑优先管理逻辑中断中断请求请求锁存器锁存器中断屏蔽寄存器中断屏蔽寄存器中断优先级管理部件中断优先级管理部件中断类型寄存器中断类型寄存器由中断请求引脚编号决定由中断请求引脚编号决定IR0IR1IR7地址总线地址总线数据总线数据总线控制总线控制总线8086控制总线控制总线INTAINTR地

18、址地址 / 数据总线数据总线典型的可编程中断控制器中断系统的作用中断系统的作用 系统故障检测和自动处理。 实时信息处理。 并行操作。 分时处理。 中断系统的功能中断系统的功能 设置中断源。 中断源识别。 中断源判优。 中断处理与返回。 7.4.2 DMA传送方式1 . DMA传送方式的提出传送方式的提出 外设要与存储器进行直接高速数据交换 传送是以数据块方式进行 使用DMA方式,可支持外设-存储器的高速直接传送;变通后,还可支持存储器-存储器、外设-外设的高速直接传送。 为能进行数据块的传送,DMAC应具有修改地址指针、统计传送次数、判断传送是否结束等多项功能。1)能接收从外设发出的DMA请求

19、,并向CPU发总线请求信号。2)在CPU响应请求且发出响应信号后,能接管对总线的控制。3)得到总线控制权后,能发出地址信号,并能自动修改所用的存储器(或接口)的地址指针。4)在DMA传送期间,能发出读/写控制信号。5)能确定传送数据的字节(或字)数,判断传送是否结束。6)过程结束时能向CPU发出DMA操作的结束信号。2. DMAC的功能的功能3. DMA的传送过程的传送过程 对CPU而言,DMAC是一个接口,CPU必须针对某输入/输出设备将有关参数预先写入DMAC的内部寄存器中。 一旦输入/输出设备有传送要求,便将向DMAC发送“DMA请求”,该信号维持到DMAC响应为止。 DMAC接收到外设

20、发来的DMA请求后,转而向CPU发出总线保持请求信号。 DMAC向输入/输出设备发送读/写控制信号,同时向存储器发送存储单元地址和写/读控制信号,完成一个字节的传送。 DMAC具有自动增减内部地址和字节计数功能,据此判断DMA传送任务是否完成。 如果传送任务尚未完成,返回到继续传送;如果传送任务已完成,则使发向CPU的总线保持请求信号无效,在CPU收回总线控制权后重新接管对总线的控制。存储器存储器CPU外设接口外设接口DAMCHOLDDMA REQHLDADMA ACK4. 两种两种DMA方式方式两种DMA方式: 单个数据传送 数据块传送当用DMA方式完成向外设输出一个数据块时,输出单个数据的

21、过程如下:其中的即表达了DMA方式输出单个数据的完整过程。 内存内存接口接口DMA控制器控制器I / O设备设备 8086和总线和总线控制逻辑控制逻辑HOLDHLDA接口准备就绪,接口准备就绪, 发发DMA请求请求发总线请求发总线请求总线允许总线允许DMA控制器把地址送地址总线控制器把地址送地址总线DMA请求请求 得到确认得到确认内存把数据送数据总线内存把数据送数据总线接口锁存数据接口锁存数据撤消总线请求撤消总线请求8086 收回总线控制权收回总线控制权控制总线控制总线地址总线地址总线用DMA方式传输单个数据(输出过程 )数据总线数据总线 D2 D0 状态寄存器状态寄存器 D2数据输入寄存器数

22、据输入寄存器数据输出寄存器数据输出寄存器字节计数器字节计数器地址寄存器地址寄存器D6 控制寄存器控制寄存器 D3 D0状态寄存器状态寄存器至至I / O设备设备地址总线地址总线数据总线数据总线控制总线控制总线中断请求中断请求数据总线数据总线控制总线控制总线地址总线地址总线总线允许总线允许总线请求总线请求中断请求中断请求DMA请求请求DMA回答回答数据传输方向数据传输方向输入输入/输出允许输出允许设备是否忙设备是否忙DMA方向方向DMA允许允许块传输是否完成块传输是否完成DMA控制器控制器指出指出DMA过程是否继续过程是否继续I / O接口接口DMA控制器的内部最小配置和接口要求启动外设的动作启

23、动外设的动作控制是否确认控制是否确认DMA请求请求0输出输出1输入输入0输出输出1输入输入控制寄存器控制寄存器INTSTAT的的D2位位-I/O设备的忙位设备的忙位INTCON的的D0位位-数据传输方向:数据传输方向: 1输入;输入;0输出输出INTCON的的D2位位-接口允许位:接口允许位: 1启动启动I/O操作操作DMACON的的D0位位-传输方向控制:传输方向控制: 1输入;输入;0输出输出DMACON的的D3位位-DMAC允许位:允许位: 1可接收可接收DMA请求请求DMACON的的D6位位-0两次两次DMA传输之间传输之间DMAC放弃对总线的控制;放弃对总线的控制; 1不放弃对总线的

24、控制不放弃对总线的控制5. DMA控制器的内部最小配置和接口要求例,启动数据块输入的程序段例,启动数据块输入的程序段设标号含义如下:设标号含义如下:INTSTAT-接口的状态寄存器接口的状态寄存器INTCON-接口的控制寄存器接口的控制寄存器 INTC-原接口控制字原接口控制字DMACON-DMA控制器中的控制寄存器控制器中的控制寄存器 DMAC-原原DMA控制字控制字BYTE_REG-DMAC的字节计数器的字节计数器ADD_REG-DMAC的地址寄存器的地址寄存器IDLE:INAL, INTSTATTESTAL, 04H JNZIDLEMOVAX, COUNTOUTBYTE_REG, AXLEAAX, BUFFEROUTADD_REG, AXMOVAL, DMACORAL, 49HOUTDMACON, ALMOVAL, INTCORAL, 05HOUTINTCON, AL6. DMAC的工作特点(1)DMAC是一个特殊的接口是一个特殊的接口 DMAC本身是一个接口电路,也有I/O端口地址,CPU可以通过端口地址对DMAC进行读/写操作; DMAC在获得总线控制权后成为总线主模块,可以控制系统总线,操纵外设与存储器之间的直接数据传送。(2)DMAC在传

温馨提示

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

评论

0/150

提交评论