微机原理与接口技术-第六章.ppt_第1页
微机原理与接口技术-第六章.ppt_第2页
微机原理与接口技术-第六章.ppt_第3页
微机原理与接口技术-第六章.ppt_第4页
微机原理与接口技术-第六章.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

,第5章数字量输入/输出接口,5.1概述,一、接口电路的分类和功能,外设必须通过接口电路与CPU相连接,数据总线,控制总线,地址总线,接口电路,外部设备,数据线,控制线,状态线,5.1.2I/O接口,接口电路的功能:1)缓冲锁存数据2)地址译码3)传递命令4)码制转换5)电平转换,接口电路按通用性分为两类:通用接口和专用接口通用接口:可供多种外部设备使用的标准接口,目的是使微机正常工作通用接口通常制造成集成电路芯片,称为接口芯片。最初的IBM-PC使用了6块接口芯片:8284、8288、8255、8259、8237、8253后来的微机将这些芯片集成为大规模集成电路芯片,称为芯片组。如82430TX芯片组,由两片芯片组成:北桥:82439TX南桥:82371AB,接口电路的基本结构,接口电路通常包含一组能够与处理器交换信息的寄存器,称为I/O端口寄存器,简称为I/O端口1)数据端口存放数据信息2)状态端口存放状态信息,(忙、空闲、准备好等机器状态)即反映外设当前工作状态的信息3)控制端口存放控制信息(启动、停止等动作),状态信息与控制信息可以广义地看作数据信息,因此可以通过数据总线传送,数据信息分数据量、模拟量和开关量三类。,接口电路组成,5.1.3I/O端口及其编址方式,一、IO端口和IO操作1.I/O端口端口(port)是接口电路中能被CPU直接访问的寄存器的地址。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据,因此,一个接口可以有几个端口,如命令口、状态口和数据口,分别对应于命令寄存器、状态寄存器和数据寄存器。,IO操作,通常所说的IO操作是指对IO端口的操作,而不是对IO设备的操作,即CPU所访问的是与I/O设备相关的端口,而不是I/O设备本身。,端口地址编址方式,对上述端口有两种编址方式:一种是端口地址和存储器地址统一编址,即存储器映射方式;另一种是I/O端口地址和存储器地址分开独立编址,即IO映射方式。,1.统一编址这种方式,是从存储器空间划出一部分地址空间给I/O设备,把IO接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令,有一部分对存储器使用的指令也可用于端口。2独立编址这种方式是接口中的端口地址单独编址而不和存储空间合在一起,大型计算机通常采用这种方式,,统一编址优点:1、由于对IO设备的访问是使用访问存储器的指令,所以指令类型多,功能齐全,这不仅使访问I/O端口可实现输入输出操作,而且还可对端口内容进行算术逻辑运算,移位等等;2、另外,能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的。这种方式的缺点是端口占用了存储器的地址空间,使存储器容量减小,另外指令长度比专门IO指令要长,因而执行速度较慢。,独立编址主要优点是:1、I/O端口地址不占用存储器空间;使用专门的IO指令对端口进行操作,I/O指令短,执行速度快。2、并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。3、同时,由于使用专门的I/O指令访问端口,并且I/O端口地址和存储器地址是分开的,故I/O端口地址和存储器地址可以重叠,而不会相互混淆。,I/O端口与存储单元统一编址(51单片机),I/O端口独立编址(INTEL86系列),独立编址方式的端口访问,1I/O指令中端口地址的宽度IBMPC系列采用I/O指令访问端口。实现数据的IO传送。在I/O指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作为端口地址,则最多可访问256个端口。是直接在指令中给出端口地址,其指令格式为INAL,PORT;输入OUTPORT,AL;输出这里,PORT是一个8位的字节地址。,若用双字节地址作为端口地址,则最多可寻址21664K个端口。采用双字节地址,并且是用寄存器间接给出端口地址,地址总是放在寄存器DX中。其指令格式为MOVDX,xxxxHINAL,DX;8位传送MOVDX,xxxxHOUTDX,AL;8位传送这里,xxxxH为16位的两字节地址。,I/O端口访问,所谓对端口的访问就是CPU对端口的读写。而通常所说的微处理器CPU从端口读数据或向端口写数据,仅仅是指I/O端口与CPU的累加器之间的数据传送,并未涉及数据是否传送到存储器(RAM)的问题。,例如:输入时MOVDX,300H;I/O端口INAL,DX;从端口读数据到ALMOVDI,AL;将数据从AL存储器输出时MOVDX,301H;I/O端口MOVAL,SI;从内存取数到ALOUTDX,AL;数据从Al送端口,IO端口地址分配,对于接口设计者来说,搞清楚系统I/O端口地址分配十分重等。因为要把新的I/O设备加入到系统中去就要在I/O地址空间中占一席之地。哪些地址已分配给了别的设备,哪些是计算机制造商为今后的开发而保留的,哪些地址是空闲的,了解了这些信息才能为我所用。下面以IBMPC系列为例来分析I/O端口地址分配情况。,不同的微机系统对I/O端口地址的分配是不同的。PC微机是根据上述IO接口的硬件分类,把I/O空间分成两部分。虽然,PC微机I/O地址线可有16根,对应的IO端口编址可达64K,但由于IBM公司当初设计微机主板及规划接口卡时,其端口地址译码是采用非完全译码方式,即只考虑了低10位地址线AOA9,而没有考虑高6位地址线A10A15,故其I/O端口地址范围是0000H03FFH,总共只有1024个端口,并且把前512个端口分配给了主板,后512个端口分配给了扩展槽上的常规外设。,I/O端口地址选用的原则,只要设计I/O接口电路,就必然要使用端口地址。为了避免端口地址发生冲突,在选用I/O端口地址时要注意:凡是被系统配置所占用了的地址一律不能使用;原则上讲,未被占用的地址,用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则,会发生IO端口地址重叠和冲突,造成用户开发的产品与系统不兼容而失去使用价值;一般,用户可使用30031FH地址,用户可以使用。但是,由于每个用户都可以使用,所以在用户可用的这段I/O地址范围内,为避免与其他用户开发的插板发生地址冲突,最好采用地址开关。,I/O端口地址译码,CPU为了对I/O端口进行读写操作,就需确定与自己交换信息的端口(寄存器),那么,是通过什么媒介把来自地址总线上的地址代码翻译成为所需要访问的端口(寄存器)的,这就是所谓的端口地址译码问题。这个“媒介”就是I/O地址译码电路。,5.1.4I/O的控制方式,1.程序传送方式2.中断传送方式3.DMA传送方式,无条件传送程序查询传送(条件传送),一、程序传送方式,(一)无条件传送,CPU与外设间的数据交换在程序控制下进行,不查询外设状态,认为外设已经准备就绪,直接与外设传送数据,外设准备就绪:对于输入设备,已经把数据放入接口电路的数据输入寄存器,CPU可以读取;对于输出设备,已经准备好接收数据(接口电路的数据输出寄存器已空),CPU可以向它输出数据,由于不查询外设状态,接口电路不需要状态寄存器,输入方式,输出方式,INAL,0A0H,OUT0A1H,AL,A1,例:采用同步传送系统,查询式输入接口电路,(二)条件传送,查询式输出接口电路,Poll:Inal,S_portTestal,80hJnzpollmoval,storeOutD_port,al,例:采用查询方式传送的数据采集系统,Start:movdl,0f8h;1111,1000启动A/D转换leadi,detor;输入数据存放地址Again:moval,dl;andal,0efh;1110,1111,AL=1110,1000out4,al;停止A/D转换,并选择模拟量A0calldelay;moval,dl;AL=1111,1000out4,al;启动A/D转换,poll:inal,2;输入状态信息shral,1;jncpoll;若未Ready,等待inal,3;否则,输入数据stosb;将数据存入内存incdl;取下一个模拟量jneagain;,状态端口,程序查询传送的小结,在执行输入输出前,要先查询接口中状态寄存器的状态。输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪输出时,状态寄存器的状态指示输出设备是否空闲,图1.6程序查询方式流程图,二、中断传送方式,使用查询方式,CPU必须检测接口电路的状态寄存器,如果设备未准备好,CPU就要不断地查询,降低了CPU的运行效率中断方式:当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,提高了CPU的利用率每条指令完成后,CPU均可响应中断,因此当设备准备好时,可及时与CPU交换数据,提高了实时性,查询式输入输出方式是通过对外设的状态查询,实现CPU与外设间的正确的输入输出操作,从而使不同工作速度的外设可以和CPU协调工作。由于查询过程中,CPU实际上处于等待状态,不能进行其它操作,降低了CPU的效率。特别是当外部设备输入输出速度较低时(如键盘、打印机等),CPU为了完成一次输入输出操作,用于查询的时间要比实际用于输入输出指令的执行时间要长得多,从而造成CPU的极大的浪费。因此,提出了中断传送方式。,中断输入输出方式的思想是:当CPU需要输入输出数据时,先执行启动外设工作的指令,然后CPU继续执行原程序。如果是输入操作,当输入数据已存入外设接口的输入寄存器中时;或是输出操作,当外设已经把前一个输出数据从接口寄存器中取走,就由外设向CPU发出中断请求,CPU在收到中断请求信号后,就暂时停止原来执行的程序(即实现中断),转去执行输入或输出处理程序。,三、DMA传送方式,对于高速外设(如磁盘、高速A/D),中断方式不能满足数据传输速度的要求。DMA=DirectMemoryAccess直接存储器访问DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设接口直接与内存进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC,中断输入输出方式可以大大提高CPU的效率,但仍需要CPU通过程序进行传送。每次中断处理需要保护断点、保护现场及恢复现场恢复断点,这些操作都要占用CPU的额外时间。这对于高速的外部设备在成批地交换数据时,这种中断传送方式,就显得太慢,因而不能满足高速交换数据的要求。DMA方式能摆脱CPU的直接干预,利用硬件控制设备DMA控制器(DMAC),实现外部设备与内存间的直接数据传送。,几种传送方式的比较:,1.无条件传送:只能用于外部设备与CPU动作同步时,否则出错。这种方式已较少使用。2.查询传送:接口简单,但在传送过程中,若外设数据没有准备好,则CPU一直在查询、等待,而不能做其他事情。CPU的效率低下。3.中断传送:只有当外设数据准备好时(向CPU发出请求),CPU才进行数据传送(

温馨提示

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

评论

0/150

提交评论