6.1-IO接口.ppt_第1页
6.1-IO接口.ppt_第2页
6.1-IO接口.ppt_第3页
6.1-IO接口.ppt_第4页
6.1-IO接口.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、微电脑原理和介面技术第5章I/O介面和并行介面筹码8255A,牙齿章节的主要内容:6.1 I/O介面6.2 8255A工作原理6.3 8255A应用示例、6.1 I/O介面、6.1.1 I/O接口功能6.1.2 I/O端口和寻址方法6.1.1内存芯片的访问速度与CPU的时钟频率(CPU)相同,数量级、内存本身具有数据缓冲功能,CPU和存储可以轻松交换数据,但是与外围设备交换数据的过程要复杂得多。计算机和外围设备之间的信息更换问题;1)速度不匹配CPU速度比外围设备快得多,并且每个外围设备的速度差异很大。2)信号电平不匹配的CPU都使用TTL电平,外围设备大多是复杂的机器设备,不能由TTL电平驱

2、动,并且有自己的电源系统和信号电平。3)信号格式不匹配的CPU通常传输8位、16位或32位并行数据,外围设备使用多种信息格式。模拟、数字或交换机杨怡。有电流量,电压量。有的采用串行方式,有的采用并行方式。4)定时不匹配外围设备具有与CPU定时不匹配的自定时和控制逻辑。因此,I/o设备不能直接连接到CPU的系统总线,必须在CPU和外围设备之间安装专用介面电路(Interface)来解决此问题。2 .介面功能,1)设置数据缓冲以解决速度不匹配问题,提前准备要传输的数据,并在需要时完成传输。经常使用锁和缓冲区,并通过适当的联系信号实现牙齿功能。2)级别转换电路设置解决计算机和外围设备之间的级别不匹配

3、问题(如串行通信)时,可以使用MAX232和MAX233等芯片执行级别转换。第9章介绍。3)设置信息转换逻辑,以满足每个格式要求,通过A/D将发送外围设备的模拟量转换为数字量,然后发送到计算机进行处理。通过计算机发送的数字信号D/A驱动模拟信号、部分外围设备操作。2 .介面功能,4)同步定时控制电路设置接收CPU和外围设备的工作介面电路接收CPU发送的命令或控制信号、定时信号、外围设备的控制和管理实施,外围设备的操作状态和响应信号也通过接口及时返回CPU,从而确保主机和外部I/o 5)提供地址解码电路由于每个外围设备需要与CPU交换多个茄子信息,因此介面电路内经常有I/O地址提供介面电路地址解

4、码电路6) I/O控制、读/写控制和中断控制等逻辑。如你所见,I/O介面电路是在外围设备和电脑之间传输信息的交接部,两者之间的合作作用是,每个外围设备可以通过介面电路连接到主机。随着VLSI技术的发展,出现了很多可以轻松配置介面电路的通用可编程介面芯片。牙齿章节首先介绍接口的基本知识,然后介绍可编程并行介面筹码8255A。下一章将重点介绍几种常用茄子其他可编程I/O介面芯片的工作原理、编程方法以及这些芯片如何连接到CPU和外围设备。6.1 I/O介面,6.1.1 I/O介面功能6.1.2 I/O通信端口和寻址方法6.1.3 CPU和外围设备之间的资料传输方法6.1.4 PC的I/O地址分配,6

5、.1介面电路中的牙齿信息分别以不同的寄存器进入。通常牙齿寄存器和它们的控制逻辑统称为I/o通信端口(Port),CPU可以直接读取和写入通信端口的信息。一般介面电路,1 .I/O通信端口,1)设置数据通信端口数据通信端口(Data Port)或数据通信端口,外围设备发送到CPU的数据存储,或CPU输出到外围设备的数据(通常为12字节)。数据端口主要用作数据缓冲。2)状态通信端口状态通信端口表示外围设备的当前状态。每个外围设备都有几个茄子状态位可供CPU读取。这使您可以测试或验证外围设备的状态,以确定节目过程。1 .I/O通信端口,状态端口上常用的状态位:如果是就绪位输入端口,则1表示端口上的数

6、据寄存器数据已就绪,正在等待CPU读取。数据被删除时,牙齿位置清零。对于输出端口,位1表示端口的输出数据寄存器牙齿为空,可以侦听CPU上的以下数据:新数据到达后,牙齿分钟清理0。1 .I/O通信端口,忙位(Busy)指示输出设备是否可以接受数据。牙齿位为1时,外围设备正在进行I/O传输操作,CPU无法传输新数据。牙齿数据传输完成后,牙齿位0表示外围设备已空闲,CPU可以将以下数据发送到输出端口:如果在错误位(Error)资料传输过程中发生错误,可以将错误状态设置为1,以便CPU可以正确处理。您可以在系统中设置多个错误状态位,以指示不同属性(如奇偶错误、溢出错误等)的错误。1 .I/O通信端口,

7、3)命令通信端口命令通信端口也称为控制通信端口,它存储CPU在界面上执行的各种命令和控制词,并控制介面或设备的行为。一般命令信息位包括启动位、停止位、允许中断位等。通常,CPU与外围设备交换的数据以字节为单位,因此外围设备的数据端口包含8位。状态端口和命令端口只能包含1位或少数信息,因此徐璐其他外围设备的状态端口可以共享一个端口,命令端口也可以共享。d触发器和三状态缓冲区通常用于配置两个端口。2 .I/O通信端口寻址方法,1)存储映像寻址方法(Memory Mapped I/O)将系统中的每个I/O端口视为一个存储单元,可以使用与存储单元统一寻址、所有访问说明访问I/O端口,而无需设置专用I/

8、O端口。CPU脚本包含I/O操作命令多种类型的强大访问命令,使I/O设备操作方便灵活。缺点是I/o端口占用了大量存储单元的地址空间。Motorola的MC6800、MC68000和MC 6805等CPU使用此寻址方法。1 .统一寻址也称为存储映射寻址方法,它将每个端口视为一个存储单元(如图所示),I/o端口在与存储设备相同的地址空间中寻址。2。I/O通信端口寻址方法,2 .I/O通信端口寻址方法,2) I/O单个寻址方法单独寻址系统的I/O通信端口地址,通过专用IN/OUT命令访问,而不占用存储空间。优点:明确区分输入/输出命令和访问存储的命令,使程序清晰易读。I/O命令长度短,执行速度快。I

9、/O端口不占用内存空间,I/O地址解码电路更简单。缺点:命令系统必须有专用的IN和OUT命令,访问命令不强大。CPU必须提供硬件针信号,以区分访问内存和访问I/O。8086/8088系统均使用I/O寻址。6.1.1 I/O介面,6 . 1 . 1 I/O介面功能6.1.2 I/O通信端口和寻址方法6.1.3 CPU和外围设备之间的资料传输方法6.1.4 PC的I/O地址分配,6.1.2。中断(软件)外围设备发送中断请求,CPU响应后完成数据传输。3.DMA方法(硬件)DMA控制器通过CPU的地址、数据和控制总线临时接管启用批量数据传输。,1 .节目控制方法,1)无条件传输方法也称为同步传输模式

10、,是不询问外部设备准备情况的最简单的节目控制传输方法。当程序需要I/O时,为I/O操作指定端口。(所需硬件较少,软件设计操作相对简单,I/O操作完全取决于节目部署,对外围设备没有要求。)通常是在外围设备始终就绪的情况下执行的资料传输方法,适用于不经常传输数据的情况,例如交换机、数字显示器等简单外围设备的操作。主要用于操作简单的外围设备,所需的硬件和软件较少。对于这些外围设备,程序不需要检查外围设备的状态,因为输入时数据总是准备就绪,输出时数据已经处于接收状态。如果需要输入或输出操作,则可以直接执行输入和输出命令,并可以在发出I/O命令后立即执行资料传输操作。1)无条件传输方式,最简单的输入通信

11、端口:键开关的状态输入通信端口。交换机通过一个8位三状态缓冲区将数据总线,通过IN命令将交换机状态读取到缓冲区中。1-切断,0-封闭。交换机状态可以随时读取。图6.1,1)无条件传输方式,最简单的输出通信端口:LED灯和关闭控制。1个8位锁定内存,8个LED显示器,通过OUT命令向LED发送命令,1-开,0-关。您可以随时更改指示灯状态。图6.2,1。节目控制方法,2)条件传输也称为节目查询传输方法。CPU和外围设备之间数据交换的响应方式。CPU和外围设备之间的数据交换通常难以满足无条件传输的条件。开始传输之前,请确保外围设备已准备好传输数据。也就是说,您可以使用提交查询的方法。此时,CPU将

12、首先发出IN命令,从外围设备的状态端口读取当前状态。如果外围设备未准备或正在使用数据,则必须反复读取状态命令并检测外围设备状态,直到外围设备就绪或未使用为止。包含查询输入介面电路输入数据通信端口和状态端口。状态通信端口(有效)包括一个D触发器和一个三状态语句,输入数据通信端口(有效)包括一个8位锁定内存和一个8位缓冲区。运行IN命令选择状态端口时读取状态信息READY;运行IN命令以在选择数据端口时从缓冲区中读取数据信息。图6.3,操作过程:输入设备准备好数据后,在介面电路中选择通信号,将数据放入锁定内存,并设置D触发器Q端1。运行IN命令以读取状态端口并使其有效。q侧高平通过缓冲区发送到数据

13、行,作为READY信号读取累加器。发出CPU CREADY=1,IN命令以读取数据端口,有效打开数据缓冲区,使用数据总线和累加器锁定数据,并一次完成D触发器0的数据传输。然后开始下一次数据传输,直到所有数据传输完成。图6.3,查询输入数据的节目段:MOV BX,0;初始化地址指针MOV CX,count _ 1;传输字节数READ_S1: IN AL,port _ S1状态位测试al,01h导入数据准备好了吗?Jzread _ S1否,周期检测IN AL,port _ in准备,读取数据MOV BX,al;存储在内存缓冲区incbx中;地址指针loopread _ S1修改不完整,继续;发送完

14、成、查询输出电路和作业进程CPU准备数据输出时,首先执行IN命令打开状态通信端口3状态语句,然后从数据总线D1位中读取BUSY状态。BUSY=1,外围设备正在使用中。BUSY=0,CPU将数据输出到外围设备。外围设备不在使用中时,运行OUT命令选择数据端口。而且有效,门2输出低级选择通讯号码,锁定内存选择,资料传输到外围设备。同时,翻转D触发器,将Q设置为高电平,即将状态端口的BUSY位置设置为1,表示正在使用。输出设备删除数据后发送响应信号,并设置D触发器0(即BUSY=0),以便CPU可以传输以下数据:,图6.5,2)条件传输,查询输出数据的节目段:MOVCX,count _ 2;传送的字

15、节数READ_S2: IN AL,PORT _ S2;状态位TESTAL,02H忙着拿来吗?JNZREAD _ S2;忙碌,MOVAL的循环检测,等待数据输出;不忙OUTPORT_OUT,al;输出数据LOOP READ _ S2;未传递,循环;已发送,数据输出通信端口地址302H,状态通信端口地址304H,通过查询方法在数据输出端口上连续资料传输8字节,当前段内存起始单元1000H中存储的区域,下一子节目段:MOV BX,1000h;数据指针movcx,0008h初始化周期数值WLP:MOV DX,304H状态通信端口WLP1:IN AL,DX;读取状态单词TEST AL,02h确保BUSY

16、设置了“1”jnz WLP 1。设备使用中,继续查询MOV DX,302h准备指向数据输入通信端口MOV AL,bx。内存中的数据OUT DX,al;资料传输incbx数据指针loop WLP曹征;循环,准备下一字节ret传输;发送、返回、节目查询方式的优点是硬件结构比较简单,节目控制方便。缺点是CPU效率低、实时性差,并且对外部发生的异常事件没有实时响应。节目查询方法比无条件传输方法可靠,但在节目查询方法中,CPU处于活动位置,必须继续阅读状态单词以检测外围设备的状态。实际上,用于数据传输的时间实际上很短。大部分时间都在等待查询,CPU效率很低。特别是当系统具有多个外围设备时,需要逐个查看CPU,外围设备的运行速度各不相同。CPU已经知道必须使用节目查询传输方法连续读取和检测状态信息。如果状态消息指示外围设备未就绪,则必须等待CPU。结果,查询检测操作在CPU上花费的时间较长,CPU实际用于传输数据的时间相对有限。因为大多数外围设备的速度远远低于CPU的运行速度,所以查询传输就像CPU降低了有效的运行速度,并允许低得多的外部设备适应。此外,查询多个外围设备时,这些外围设备的运行速度通常不同。很明显,CPU不能最好地满足单个外围设备的I/o服务要求。可以使用中断传输方法提高CPU利用率并提高系统的实时性

温馨提示

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

评论

0/150

提交评论