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

下载本文档

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

文档简介

第5章 微机与外设的数据传输,微机中接口的基本概念 接口的功能 接口电路的基本结构 端口的概念 I/O端口的编址方式 CPU与输入/输出设备之间的信号 CPU和外设之间的数据传送方式 无条件传送方式 查询方式 中断方式,5.1 I/O接口概述,5.1.1 使用接口电路的原因 接口可起到CPU与不同外设进行串行、并行信息的转换作用 接口可起到模/数与数/模的转换作用 非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种A/D,D/A转换是通过接口来完成的。 接口对I/O过程起到缓冲和联络作用 解决外设存取速度和CPU速度不匹配的问题,输入输出(I/O)接口:是把外部设备与微型计算机连接起来实现数据传送的控制电路。,外设必须通过接口电路与微机系统总线相连接,5.1.2 接口电路的分类,按通用性分类,通用接口:可供多种外部设备使用的标准接口,目的是使微机正常工作。 通常制造成集成电路芯片,也称为接口芯片。 最初的IBM-PC使用的接口芯片:8284、8288、8255、8259、8237、8253 后来的微机将这些芯片集成为大规模集成电路芯片,称为芯片组。 专用接口:为某种用途或某类外设而专门设计的接口电路,目的在于扩充微机系统的功能。 通常制造成接口卡,插在主板总线插槽上使用 通用接口和专用接口的界限并不严格。,接口电路的分类,按可编程性分类,简单的输入/输出接口芯片 如锁存器74LS373、单向缓冲器74LS244、双向缓冲器(数据收发器)74LS245等。 可编程接口芯片:其功能可以由软件来选用控制。 如并行输入输出接口8255、定时器/计数器8253、中断控制器8259、DMA控制器8237等。,5.1.3 接口电路的功能,简单地说,一个接口的基本功能是在系统总线和I/O设备之间传输信号,提供缓冲作用,以满足接口两边的时序要求。接口的功能概括如下: 寻址功能 输入/输出功能 数据转换功能 联络功能 中断管理功能 可编程功能 复位功能 错误检测功能,*对于一个具体的接口来说,未必全部具备这些功能,但必定具备其中的几个功能。,5.1.4 接口电路的基本结构,接口与端口,接口是每个外设或每种外设与微处理器相连时使用的电路。 一般在接口的内部除了与外设打交道的工作电路外,还包含一组程序可访问的寄存器,这些寄存器可以具有相互独立的地址,也可以几个一组,共用一个地址。这样的寄存器或寄存器组称为输入/输出端口(I/O port)。 CPU以访问端口的形式来访问接口。进而CPU通过这些端口与该接口所连接的外部设备进行信息交换。 为传递的数据提供缓冲、锁存等功能的称为数据端口。 用来保存设备和接口的状态信息,供CPU查询的称为状态端口。 用来保存CPU发出的命令,以控制接口与外部设备的执行动作的称为控制(或命令)端口。,接口与端口,接口上可以包含唯一的端口,也可以包含几个端口。 对CPU程序来说,接口仅是一个笼统的概念,而接口中的各个端口寄存器是CPU程序与接口打交道的具体对象。 端口的地址和端口的数据是程序唯一可见的内容,而接口和外设在程序中是无法直接反映出来的。 端口一般分为数据端口、状态端口和控制端口。,5.1.5 I/O端口的编址方式,端口有两种编址方式:统一编址和独立编址。,统一编址:把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。利用对存储器的读写操作完成数据的输入和输出。,优点 可使用全部对存储器操作指令,指令多,方便灵活; 访问控制信号统一。 缺点 内存可用地址空间减小; 寻址地址线数多,译码复杂。,I/O端口的编址方式,独立编址:计算机单独给外设端口编址,外设地址空间和内存地址空间相互独立。 PC系列机采用I/O端口独立编址方式 优点:内存地址空间不受I/O编址的影响;I/O空间较存储器空间小,地址线少,译码电路简单。 缺点:要有专门输入输出指令; I/O指令功能较弱,寻址方式少,不灵活。,5.1.6 8086 的I/O编址,把端口地址放在DX寄存器中,对该端口进行读写,可寻址的端口号为065535(FFFFH) IN AL, DX OUT DX, AL,端口地址小于或等于FFH(255),可以用立即数表示端口地址。 IN AL, 42H OUT 43H, AL,5.2 CPU与输入/输出设备之间的信号,CPU和I/O设备之间的信号分类 数据信息 数字量 模拟量 开关量 状态信息:对于输入设备来说,用READY信号来标明待输入的数据是否准备就绪。对于输出设备来说,用BUSY信号来表示输出设备是否处于空闲状态。 控制信息:如外设的启动信号和停止信号就是常见的控制信息。,5.3 CPU和外设之间的数据传送方式,接口电路控制数据信号的传送,这种传送操作是在CPU的监控下实现的。对于CPU而言,数据传送就是输入输出操作,控制接口的传送操作有三种方式: 程序方式 无条件传送方式 条件传送方式(查询方式传送) 中断方式 DMA方式(DMA控制I/O方式),5.3.1 程序方式,程序方式传送是指在程序控制下进行信息传送,又可分为无条件传送和条件传送方式。 无条件传送方式 若程序员能够确信一个外设已经准备就绪,就不必查询外设的状态而进行信息传输,这称为无条件传送方式。 在无条件传送方式下,程序设计较简单。,无条件传送输入的例子:,MOV DX, 160H IN AL, DX,无条件传送输出的例子:,MOV DX, 160H MOV AL, BX OUT DX, AL,条件传送方式(查询方式),CPU通过执行程序不断读取并测试外设的状态,根据外设的工作状态控制外设的输入/输出,即查询方式。 在此传送方式下,一个数据传送到接口,其过程由3个环节组成: CPU从接口中读取状态字 CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步读取状态字。 如执行输入方式时状态字表明外设已处于“就绪”状态,则传送数据。执行输出方式时状态字表明外设已处于“空闲”状态,则传送数据。,查询式传送输入的例子:,电路原理分析: 启动ADC以后,转换结束时产生EOC信号,把转换结果锁存至锁存器,把状态触发器置为1,表示数据已经准备好。,控制端口写164H端口,译码器输出和IOW信号同时有效,启动ADC转换。 状态端口读162H端口,译码器输出和IOR信号同时有效,打开通过D0读取状态信息。 数据端口读160H端口,译码器输出和IOR信号同时有效,打开三态缓冲器,从D7D0读入数据,同时清除状态信息。,程序示例:从ADC读取一个数据到AL。,READ : MOV DX, 160H IN AL, DX ;清状态 MOV DX, 164H OUT DX, AL ;启动ADC READ1: MOV DX, 162H IN AL, DX ;查询状态 TEST AL, 1 ;同01H进行与运算 JZ READ1 MOV DX, 160H IN AL, DX ;读取数据 RET,查询式传送输出的例子:,电路原理说明:,写到164H端口,产生一个负脉冲来启动外设开始工作。 写数据到160H端口,CPU输出数据到锁存器,同时置“1”状态触发器,为外设提供状态信息:“数据已准备好”。 读取162H端口,CPU查询状态,看外设是否取走数据。(外设取走数据,则将发出ACK信号,清除状态触发器),程序示例:将AL中的数据输出。,WRITE : MOV DX, 164H OUT DX, AL ;启动外设 MOV DX, 160H OUT DX, AL ;输出数据 MOV DX, 162H WRITE1: IN AL, DX ;查询状态 TEST AL, 1 JNZ WRITE1 RET,查询方式特点,通过查询实现CPU与外设间的同步联络 CPU和外设串行工作 接口电路简单 CPU使用率不高,用CPU的等待实现与外设的同步,5.3.2 中断方式,中断方式:当外设做好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,提高了CPU的利用率。 每条指令完成后,CPU均可响应中断,因此当设备准备好时,可及时与CPU交换数据,提高了实时性。 被外界中断时,程序中下一条指令所在处称为断点。 中断传送方式就是外部设备中断CPU的工作,使CPU停止执行当前程序,而去执行一个数据输入/输出的程序(该程序称为中断处理子程序或中断服务子程序)。中断子程序执行完毕后,CPU又返回来执行原来的程序。,中断I/O的一般过程,中断优先级解决办法(1),软件查询方式:借助于简单的硬件电路。 优点:省硬件,不需要有判断优先级的硬件排队电路,而是用程序的优先级来确定设备的优先级。 缺点:由设备发出中断请求信号到CPU转入相应的服务程序入口的时间较长,特别是在中断源较多时,查询程序段较长,转入服务程序所花的时间较长。,中断优先级解决办法(2),简单硬件方式菊花链法,菊花链逻辑电路,中断优先级解决办法(3),专用硬件方式 在微机系统中解决中断优先级管理的常用办法是采用可编程的中断控制器。在8086系统中多用8259A。 可编程中断控制器中的中断类型寄存器、屏蔽寄存器都是可编程的,当前中断服务寄存器也可以用软件进行控制,中断优先级管理电路的优先级排列方式也是通过指令来设置的,用起来灵活方便。,8086的中断过程,接口部件发中断请求信号IRQ 当前指令执行完后,CPU进行中断回答INTA 接口部件将中断类型号n送到CPU CPU将FLAGS,CS,IP推入堆栈 CPU清除TF,IF CPU将n乘4,到中断向量表中查找中断服务程序的入口地址,并将该地址放入CS,IP CPU进入中断服务子程序,进行保护现场的工作 开中断,允许更高一级中断打断当前的服务程序 执行服务操作及进行恢复现场 执行IRET指令 CPU将IP、CS、FLAGS出栈,恢复原来的程序执行,5.3.3 DMA方式(DMA控制I/O方式),DMA:Direct Memory Access直接存储器访问 DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设与外设之间、外设与内存之间直接进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC。,原理示意图,DMAC的功能,接收外设向DMAC发出的DMA申请DREQ 向CPU提出DMA申请HOLDREQ 接收CPU回发的总线控制权响应信号HOLDA,接管系统总线。 内部具有地址寄存器,在DMA传输时将地址寄存器的内容送到系统地址总线上,并在一次传送后变更地址。 内部具有字节计数寄存器,控制DMA传送的字符个数,每传送一个字符后字节计数寄存器减1,减到0时发出传送完毕信号。 内部具有读写控制机构,在DMA传送时,向存储器发出MEMR、MEMW控制信号,向I/O端口发出IOR、IOW信号。 在DMA一次传送完成后能撤消HOLDREQ信号,使CPU能重新掌握系统总线控制权,继续系统的工作。,小结:三种传送方式比较,在查询方式下,通过程

温馨提示

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

最新文档

评论

0/150

提交评论