




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章输入/输出技术本章重点:掌握8086/8088对数据输入/输出的控制方式掌握地址译码技术及I/O端口编址方法了解I/O接口电路的典型结构掌握DMA控制器8237A及其初始化编程本章难点:8086/8088对数据输入/输出的控制方式(程序控制、中断控制、DMA控制)地址译码技术及I/O端口编址方法DMA控制器8237A工作原理及应用6.1输入/输出接口电路及其典型结构
6.1.1为什么需要接口电路外设是一种种类繁多,信号类型复杂的设备。输入/输出设备统称为外设,基本外设是计算机系统必须配置的部件。因此,在微计算机主机与外设之间就必须设置一种电路,能使CPU和外设间的工作协调起来,达到信息交换的目的。这种电路是一种界面(Interface),被称为输入/输出接口电路。6.1.2接口电路的组成
接口电路的典型结构1.接向CPU一端的接口电路(1)总线驱动器:用来实现对CPU数据总线速度和驱动能力的匹配。(2)地址译码器:接收CPU地址总线信号,进行译码,实现对寄存器(端口)的寻址。(3)逻辑控制:接收CPU控制总线的读/写等控制,以实现对各寄存器(端口)的读/写操作和时序控制。2.接向外设一端的接口电路(1)数据寄存器(缓冲器):包括数据输入寄存器和输出寄存器。前者用来暂时存放从外设送来的数据,以便CPU读取;后者用来存放CPU送往外设的数据,以便外设取走。(2)控制寄存器:其作用是存放CPU发来的各种控制命令(或控制字)及其他信息。这些控制命令的作用包括设置接口的工作方式、工作速度、指定某些参数及功能。控制寄存器一般只能写入。(3)状态寄存器:其作用是保存外设的当前状态信息。例如,忙/闲状态。准备就绪状态等,以供CPU查询、判断。以上3类寄存器均可由程序进行读写,类似于存储器单元,所以又称它们为可编程的I/O端口,统称为端口(Port)。通常由系统给它们分配一个地址码,被称为端口地址。CPU访问外设就是通过寻址端口来实现的6.1.3接口电路的功能接口的基本功能是在CPU的系统总线和I/O设备之间传输信息、提供缓冲作用,以满足双方的时序需要。1.寻址功能接口首先应能对选择存储器M和I/O接口的信号做出相应判断;此外,还要对送来的片选信号进行识别,以断定当前接口是否被访问,并确定是接口中的哪个寄存器被访问。
2.输入/输出功能接口要根据送来的读/写信号决定当前进行的是输入操作还是输出操作,并能从总线上接收来自CPU的数据和控制信息,或将数据或状态信息送到总线上。3.数据转换功能接口不但要从外设输入数据或者将数据送往外设,并且要把CPU输出的并行数据转换成所连接外设可接收的数据格式(如串行格式);或者反过来,把从外设输入的信息转换成并行数据送往CPU。
4.复位功能接口应能接收复位信号,使接口本身及所连接的外设能够重新启动。
5.可编程功能接口应具有可编程功能,可以通过软件设置控制信号来使接口工作于不同的方式。6.1.4接口电路的分类
1.专用接口芯片这类芯片是为某类外设的专门功能而设计的专用控制芯片,如串行接口芯片、CRT控制器芯片、软/硬磁盘控制器芯片,SDLC协议控制器芯片、键盘/显示器接口芯片、网卡接口芯片,以及自行设计的其它专用芯片等。
2.通用接口芯片这类接口可作为多种外设的接口,其功能是通用的,即通过用户编程可指定接口的工作方式、工作状态和功能,以适应不同外设所提出的接口要求。因此,这类芯片被称为可编程通用接口芯片。如第8章所述的的各种接口芯片。6.280x86系列微机I/O端口地址分配及地址译码6.2.180x86CPU的I/O端口地址范围
80x86系列微处理器采用I/O端口独立编址方式,使用地址总线中的低16位A0~A15来寻址端口,因此,其I/O寻址空间最大为64KB。6.2.2IBMPC/XT微机的I/O端口地址分配
1.IBMPC/XT微机的I/O端口地址分配
IBMPC/XT及其兼容机使用低10位地址总线A0~A9寻址端口,因此其地址空间为000H~3FFH共计1024个字节端口。这些地址的分配如下:(1)系统板上基本I/O设备的接口:占用前512个端口地址;(2)I/O通道扩展槽上常规外设接口:占用后512个端口地址;
(3)用户作为扩展功能模块(插件板),在后512个端口地址中的300H~31FH地址范围中使用。IBMPC微机系统I/O端口地址分配表分类实用地址(十六进制)I/O设备接口映像地址(A4=1)系统板000~00F020~021040~043060~063080~0830AX0C×~1FF0E0~0EFDMA控制器8237A-5中断控制器8259A定时器/计数器8253A-5并行外围设备8255A-5DMA页面寄存器NMI屏蔽寄存器保留保留010~01F022~03F044~05F064~07F084~09F0A1~0AFI/O通道︵扩展槽︶200~20F210~21F220~24F270~27F2F0~2F72F8~2FF300~31F320~32F378~37F380~38F3A0~3AF3B0~3BF3C0~3CF3D0~3DF3E0~3EF3F0~3F73F8~3FF游戏接口扩展部件保留保留保留异步通信(COM2)实验板硬磁盘适配器并行打印机SDLC同步通信保留单色显示/打印机适配器保留彩色/图形显示适配器保留软磁盘适配器异步通信(COM1)2.I/O端口的地址译码系统中每接入一个新的接口电路,首先要为它分配对应于内部可编程寄存器的一个或多个端口地址,这要由相应的地址译码电路来完成。地址译码电路常用高位地址信号译码产生接口芯片的片选信号,而把低位地址信号直接接到接口芯片做端口地址选择用。注意:8088CPU的PC/XT微机的控制信号AEN,经反向后的作为译码电路的一个控制输入信号,这是任何I/O端口地址译码电路必须采用的,否则动态存储器的刷新操作会破坏有关I/O端口中的内容。例:以8088为CPU的某微处理器系统中,有一个I/O接口电路用到4个I/O端口地址。系统为其分配的地址为300H~303H。试采用组合逻辑门构成译码电路,产生接口电路的片选信号。解:根据题意,该译码电路应由地址总线的A9~A2驱动,AEN的反相信号作为控制信号,地位地址线A0~A1直接接到接口芯片的地址端,可选择00H~03H四个端口地址。I/O端口的译码电路300H-303H6.3输入/输出数据的控制方式
CPU与外设之间数据交换的控制方式有:程序控制方式、中断控制方式和直接存储器存取(DMA)方式。6.3.1程序控制方式程序控制方式就是依靠程序的控制来实现CPU和外设间的数据交换。它又分为:无条件传送方式和程序查询方式(条件传送方式)。1.无条件传送方式这种方式又称为同步传送方式。是一种最简单的输入输出方式,一般用于控制CPU与低速接口间的信息交换。其特点是靠程序控制CPU与外设之间实现同步而进行数据交换。无条件传送方式适用于操作时间为已知,且数据变化缓慢的外设。例如,开关、继电器和速度、温度等变送器和LED显示器。
例:用无条件传送方式将8位二进制开关设置的状态输入后,由8个发光二级管LED显示。其电路图如下图所示,其中输入缓冲器(74LS244)和输出锁存器(74LS373)均为三态。8位二进制开关控制LED显示的接口电路无条件传送工作方式下的程序如下:……CALLDELAY0;等待输入同步INAL,PORT0;从端口输入8位开关的状态……CALLDELAY1;等待输出同步OUTPORT1,AL;从端口输出,控制LED显示其状态程序中的DELAY0和DELAY1是用来实现同步的两个延时子程序。2.程序查询(即条件传送)方式条件传送方式的特点是:在传送数据之前,必须去查询一下外设的状态,当外设准备好了才传送,否则,CPU等待。从而较好的解决了CPU与外设的不同步问题。
条件传送方式的输入接口电路例:试用条件传送方式对A/D转换器的数据进行采集解:实现条件传递方式数据采集的程序段如下:START:MOVDL,0F8H;设置启动A/D转换的信号
MOVDI,OFFSETDSTOR;输入数据缓冲区的地址偏移量给DI;………………AGAIN:MOVAL,DLANDAL,0EFH;使D4=0OUT04H,AL;停止A/D转换;………………
CALLDELAY;等待停止A/D操作的完成
MOVAL,DLOUT04H,AL;启动A/D,且选择模拟量A0;…………POLL:INAL,03H;输入状态信息
SHLAL,1JNCPOLL;若未准备就绪,程序循环等待;…………INAL,02H;否则,输入数据
STOSB;存至数据区
JNCDL;修改多路开关控制信号指向下一路模拟量
JNEAGAIN;如8个模拟量未输入完,循环
……
;已完,执行别的程序段;…………DSTORDB8DUP(?);数据6.3.2中断控制方式中断控制方式的特点是,外设具有申请CPU服务的主动权。当输入设备已将数据准备好,或输出设备可以接收数据时,便可以向CPU发出中断请求,强迫CPU中断正在执行的程序和外设进行一次数据传输。待输入操作或输出操作完成后,CPU再恢复执行原来的程序。与查询工作方式不同的是,CPU不是主动查询等待,而是被动响应,CPU在两个输入或输出操作过程之间,可以去做别的处理。因此,采用中断传送,CPU和外设是处在并行工作的状态,这样就大大提高了CPU的效率。中断控制方式输入的接口电路CPU接收到中断请求后,如果CPU内部的中断允许触发器(8086CPU中为IF标志)状态为1,则在当前指令被执行完后,响应中断,并由CPU发回中断响应信号,将中断请求触发器复位,准备接收下一次的选通信号。CPU响应中断后,立即停止执行当前的程序,转去执行一个为外部设备的输入或输出服务程序,此程序称为中断处理子程序或中断服务程序。中断服务程序执行完后,CPU又返回到刚才的被中断的断点处,继续执行原来的程序。6.3.3直接存储器存取(DMA)控制方式在DMA(直接存储器存取)方式下,外设通过DMA的专门电路DMA控制器,向CPU提出接管总线控制权的要求,CPU在当前的总线周期结束后,响应DMA请求,把总线的控制权交给DMA控制器。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需要CPU干预。这样可以大大提高数据传送速度。实现DMA传送的基本操作如下:(1)外设通过DMA控制器向CPU发出DMA请求;(2)CPU响应DMA请求,系统转变为DMA工作方式,CPU被挂起,并把总线控制权交给DMA控制器;(3)由DMA控制器发送存储器地址,并决定传送数据块的长度;(4)执行DMA传送;(5)DMA操作结束,把总线控制权交还给CPU。DMA传送数据工作流程图由此可以看出,DMA之所以适用于大批量数据的快速传送是因为:一方面,传送数据内存地址的修改、计算等均由DMA控制器完成(而不是CPU指令);另一方面,CPU放弃对总线的控制权,其现场不受影响,无需进行保护和恢复。下一节将详细介绍Intel公司的8273A可编程DMA控制器。DMA传送方式的优点是以增加系统硬件的复杂性和成本为代价的。另外,DMA传送期间,CPU被挂起,部分或完全失去对系统总线的控制,这可能会影响CPU对中断请求的及时响应与处理。6.4DMA控制器8237A及其初始化编程
8237A是具有4个可独立编程的DMA通道(0通道、1通道、2通道、3通道),40脚双列直插式大规模集成芯片。经编程初始化后,可控制1个通道与1个外设以高达1.6MB/S的速度直接与存储器传送多达64KB的数据块6.4.18237A的内部结构及与外设的连接8237A的内部结构与外部的连接图1.地址寄存器址寄存器由基地址寄存器和当前地址寄存器组成,一次DMA可传送的最大地址数为216(64K)。2.字节计数器字节计数器由基本字节寄存器和当前字节计数器组成,一次DMA传送的字节数最大为64K。6.4.28237A的内部寄存器8237A内部寄存器除了前面已讲过的地址寄存器和字节计数器外,还有方式寄存器、控制寄存器、状态寄存器、请求寄存器和屏蔽寄存器。
1.方式寄存器8237A每个通道都有一个方式寄存器,控制本通道的工作方式选择。4个通道的方式寄存器共用1个I/O端口地址。方式寄存器的格式如图6-12所示。每个通道都有4种工作方式可供选择,是通过对第6、7位进行设置实现的。4种工作方式如下:(1)单字节传输方式该方式下,每次DREQ有效,8237A完成一个字节的传送,并将当前字节计数器减1,当前地址寄存器的值+1或-1,之后,8237A释放系统总线。(2)块传输方式在这种方式下,8237A一旦获得总线控制权,便以DMA方式传送整批数据,直到当前字节计数器减为0,在端输出1个负脉冲或由外设I/O接口强行中断DMA过程往送入一低电平脉冲时,8237A才释放总线,结束传输。8237A方式寄存器的格式(3)请求传输方式这种方式和块传输相似,只是8237A每传输1个字节后,都要对DREQ端进行测试,如果DREQ一直有效,8237A便传输整批数据直到当前字节计数器减为0,输出有效信号;如果测试到DREQ变为无效,暂停传输,但测试过程仍然继续;当测试DREQ又变为有效时,就在原来基础上继续DMA传输。(4)级联传输方式这种方式常用来扩展DMA通道。把几片8237A进行级联,构成主从式DMA系统。连接方法是把从片的HRQ和主片的DREQ端相连,从片的HLDA和主片的DACK端相连,主片的HRO和HLDA连接系统总线。2.控制寄存器8237A控制寄存器又称为命令寄存器,其格式如图所示。控制寄存器决定了整个8237A的总体特性,为4个通道共用,可由CPU写入进行初始化编程,复位信号将其清零。8237A控制寄存器的格式3.状态寄存器它的低4位用来指出4个通道计数结束状态,为1,表示计数结束。高4位用来表示当前4个通道是否有DMA请求,为1,表示有请求。状态寄存器只能被读取。4.请求寄存器和屏蔽寄存器从8237A内部结构图可知8237A每个通道都配备有1位DMA请求触发器和1位DMA屏蔽触发器,它们分别用来设置DMA请求标志和屏蔽标志。在物理上,4个请求触发器对应1个DMA请求寄存器,4个屏蔽触发器对应1个屏蔽寄存器。5.综合屏蔽标志寄存器与屏蔽寄存器不同,综合屏蔽标志寄存器可同时提供对4个通道的屏蔽操作,用综合屏蔽命令来设置。6.8237A各寄存器对应的端口地址DMA通道基本地址寄存器和当前地址寄存器基本地址寄存器和当前地址计数器通道0起始地址+0起始地址+1通道1起始地址+2起始地址+3通道2起始地址+4起始地址+5通道3起始地址+6起始地址+76.4.38237A的初始化编程8237A的编程包括初始化编程和数据传送程序两部分。初始化编程时,应包括对8237A的通道、操作类型、传输数据的地址和字节计数器等参数进行设置。例:试对PC微机的8237A在初始化编程。首先进行测试,设符号地址DMA为8237A端口地址的首址(00H)。测试程序对CH0~CH3的4个通道的8个16位寄存器先后写入全“1”,全“0”,再读出比较,看是否一致。若不一致则出错,停机。解:检测前,应禁止8237A工作,测试程序段如下:;………………检测前,禁止8237A工作………………MOVAL,04
;送命令字,禁止8237A工作
OUTDMA+08H,AL;命令字送控制寄存器
OUTDMA+0DH,AL;总清;………………做全“1”检测……………MOVAL,0FFH;全“1”→ALLOOP1:MOVBL,AL;保存AL到BX,以便比较
MOVBH,ALMOVCX,8;循环测试8个寄存器
MOVDX,DMA;FFH写入CH0~CH3通道的地址或字节数寄存器LOOP2:OUTDX,AL;写入低8位
OUTDX,AL;再写入高8位
MOVAL,01H;读前,破坏原内容
INAL,DX;读出刚写入的低8位
MOVAH,AL;保存到AHINAL,DX;再读出写入的高8位
CMPBX,AX;比较
JELOOP3;相等转入下一寄存器
HLT;否则,出错,停机LOOP3:JNCDX;指向下一个寄存器
LOOPLOOP2;未完,继续;……做全“0”检测……………
INCAL;使AL=0(FFH+1=00)
JELOOP1;循环,再做全“0”检测;……检测通过,开始设置命令字…………SUBAL,AL;命令字为00H即设DACK为低电平,DREQ为高电平
OUTDMA+08H.,AL;滞后写,固定优先级,正常时序,允许工作,禁止CH0
;地址保持,禁止M→M传送。;……各通道工作方式寄存器设置……………MOVAL,40H;设CH0为单字节方式,DMA校验
OUTDMA+0BH,ALMOVAL,41H;设CH1方式字
OUTDMA+0BH,ALMOVAL,42H;设CH2方式字
OUTDMA+0BH,ALMOVAL,43H;设CH3方式字
OUTDMA+0BH,AL
……6.5微机算机功能扩展及总线标准6.5.1微计算机功能扩展微计算机功能扩展是通过I/O扩展槽实现的。一个通用的微计算机系统对输入/输出的要求,除具有一般的扩展,如键盘、鼠标、显示器、打印机和磁盘外,还提供可供发展的I/O通道,即I/O扩展槽。扩展槽建立在微机内总线,即系统总线的基础上,为系统提供了插件板一级的接口。总线是联系微机内部各部分资源的高速公路体系。因此,总线结构性能的好坏、速度的高低和其优化合理程度都将直接影响到微机的功能。6.5.2总线标准
1.通用总线标准通用总线标准如S-100,STD,Multibus等总线。这类总线是由IEC(国际电工委员会)和IEEE(美国电气与电子工程师协会)制定的,其特点是通用性、兼容性、可扩展性和适应能力均很强,适用于各类CPU系统,得到世界上许多厂商的支持。但这类标准未照顾到各种CPU自身的特点,构成的系统成本高。在低成本的微机系统中应用有一些困难。2.国际总线标准该标准是国际性的大微机厂商IBM,Intel,Microsoft,Compaq,HP,Motorola,Apple等根据自己生产的微机和兼容机系统联合推出的总线标准。这些标准因相应使用的微机数量大而得到普及推广,并成为事实上的国际总线标准。许多外围设备提供商和兼容机生产厂商都遵循这些标准,视这些标准与国际标准有同等的效力。最典型的就是应用于80x86系列微机的IBMPC/XT总线、PC/AT/ISA总线、PCI总线等。6.5.3ISA总线ISA总线是经世界认可的工业标准结构,又称为PC/AT总线,向下兼容PC/XT总线。1.IBMPC/XT总线PC/XT总线是一种8位总线,它不仅具有8086/8088CPU的三总线信号,而且是重新驱动过的,具有多路处理、中断和DMA操作能力的增强性通道。该通道上的62条引线按照PC/XT总线标准规范排列、每条引线上的信号在电气性能上满足PC/XT的要求,微机主板上有8个这样的扩展槽。2.ISA总线
ISA总线是16位总线,是IBMPC/AT微机使用的总线。它是在PC/XT总线的62线扩展槽外,又增加一个36线的I/O扩展槽组成的一长一短的两个槽。增加的扩展槽主要用来扩充高位地址A20~A23和高位数据字节D8~D15,使系统可以通过它访问16MB的存储空间,并可以为外设和存储器提供8位和16位的数据总线。ISA总线又被称为IBMPC/XT(AT)总线。在IBMPC/AT微机主板上有8个62线的PC/XTI/O通道。(J1~J8),并有5个36线的扩展槽,(J11至J14和J16)。62线扩展槽和36线扩展槽排成一列,以便插入电路板。6.5.4PCI局部总线
PCI外围器件互连总线,是32位并能扩展至64位的总线。
1.PCI总线的特点PCI提供两种信号环境:5V和3.5V,并可进行两种环境的转换,扩大了它的适应范围。它对32位与64位总线的使用是透明的,允许32位与64位器件相互协作。PCI标准允许PCI局部总线扩展卡进行自动配置,提供了即插即用的能力。PCI总线独立于处理器,它的工作频率与CPU时钟无关,可支持多级系统及未来的处理器。它有良好的兼容性,保持与ISA、EISA、VESA、MCA等标准的兼容性,使高性能的PCI总线与大量已使用的传统总线技术特别是ISA总线并存。PCI总线性能的特点如下:;总线时钟33MHz,宽度32位,并可扩展到64位;存取延迟小,大大缩短了外围设备取得总线控制权所需时间;采用总线主控和同步操作;独立于CPU的结构,兼容性好;适应性广(台式机和便携机),预留了发展空间和考虑到技术发展的潜力,能将传输速率提高到264MB/s;具有自动配置功能,支持即插即用,因PCI接口包含一小块存储器,其中可存储允许自动配置PCI卡的信息;成本低、效率高,因为此总线一开始就采用优化的集成电路,引脚多数复用。6.5.5U
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肠系膜脂膜炎的影像学表现
- 知道智慧树房屋建筑学(山东联盟)满分测试答案
- 智能多机异构开放硬件平台建设需求
- 吉林省松原市前郭县2025~2026学年度上学期东北三省精准教学2026年8月高三联考 生物学 讲评
- 中国民贸一乡一品团体标准《苏家坨玉巴达杏》征求意见反馈表
- 稀有金属冶炼企业能源消耗分析与节能措施考核试卷
- 低温仓储设备安全监控系统升级策略考核试卷
- 历史建筑元素在住宅设计中的再现考核试卷
- 公证员在产品质量法律事务中的作用发挥考核试卷
- 印刷行业智能化生产设备维护保养自动化研究考核试卷
- 2025年数智供应链案例集-商务部
- T/CCS 025-2023煤矿防爆锂电池车辆动力电源充电安全技术要求
- 校园驿站快递配送创业项目计划书
- 2025农业银行笔试题目及答案
- 2024年广西百色干部学院招聘工作人员笔试真题
- 消防救援机构行政执法证件管理规定
- 2025年面料购销合同范本
- 2025医疗机构委托管理合同
- 《讲解员培训》课件
- 电气自动化合同协议
- 实验室行为规范
评论
0/150
提交评论