微机原理与接口技术ppt 第6章 输入输出系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

同济大学电信学院第6章输入输出方式6.1概述6.2I/O端口译码6.3CPU与外设数据传送方式6.4DMA控制器同济大学电信学院掌握端口的编址方式掌握端口的译码方式掌握数据输入输出的三种方式掌握DMA(Intel8237)控制器使用主要知识点同济大学电信学院6.1.1端口的编址外设端口的编址可以有两种方式:(1)统一编址方式(2)独立编址方式同济大学电信学院1.统一编址方式这种方式也称为存储器映射编址,在这种方式中,将外设端口地址和存储器编址在一个地址空间中。6.1.1端口的编址同济大学电信学院6.1.1端口的编址同济大学电信学院优点:(1)CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便。如可对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等。(2)内存和外设的地址分布图是同一个。(3)不需要专门的输入输出指令以及区分是存储器还是I/O操作的控制信号。6.1.1端口的编址同济大学电信学院缺点:(1)外设占用了内存单元,使内存容量减小。(2)程序不易读。6.1.1端口的编址同济大学电信学院2.独立编制方式在这种工作方式中,内存地址和I/O地址分开编址。6.1.1端口的编址同济大学电信学院优点:(1)CPU对外设的操作要通过专用的I/O指令。(2)程序易读。(3)不占用内存空间。缺点:(1)编程灵活性差。(2)需要专用的I/O指令。6.1.1端口的编址同济大学电信学院6.1.2CPU与I/O设备接口信息CPU与一个外设之间交换的信息,如图所示。同济大学电信学院1.数据(Data)在微型计算机中,数据通常为8位、16位或32位。它大致可以分为三种基本类型:(1)数字量由键盘等输入的信息是以二进制形式表示的数或以ASCII码表示的数或字符。6.1.2CPU与I/O设备接口信息同济大学电信学院(2)模拟量当计算机用于控制时,大量的现场信息经过传感器把非电量(例如温度、压力、流量、位移等)转换为电量,并经放大即得到模拟电压或电流。这些模拟量必须先经过A/D转换才能输入计算机;计算机的控制输出也必须先经过D/A转换才能去控制执行机构。6.1.2CPU与I/O设备接口信息同济大学电信学院(3)开关量开关量是两个状态的量,如电机的运转与停止,开关的闭合与断开,阀门的打开和关闭等。这些量只要用一位二进制数即可表示,故字长8位的机器一次输入或输出可以控制8个这样的开关量。6.1.2CPU与I/O设备接口信息同济大学电信学院2.状态信息(Status)在输入时,有输入设备的状态信息是否准备好(Ready);在输出时,有输出设备的状态信息是否有空(Empty),若输出设备正在输出信息,则以忙(Busy)指示等。3.控制信息(Control)例如控制输入输出设备启动或停止等信息。6.1.2CPU与I/O设备接口信息同济大学电信学院状态信息和控制信息与数据是不同性质的信息,必须要分别传送。但在大部分微型计算机中(8086也如此),只有通用的输入IN和输出OUT指令,因此,外设的状态也必须作为一种数据输入;而CPU的控制命令,也必须作为一种数据输出。为了使它们之间相互能够区分开,它们必须有自己不同的端口地址,如图所示。6.1.2CPU与I/O设备接口信息同济大学电信学院6.1.2CPU与I/O设备接口信息同济大学电信学院6.1.3I/O端口地址译码每一个端口都要分配一个唯一I/O地址,这I/O地址是通过接口中的译码电路来实现,实现的方法有几种。1.用门电路实现端口译码同济大学电信学院6.1.3I/O端口地址译码同济大学电信学院6.1.3I/O端口地址译码同济大学电信学院6.1.3I/O端口地址译码2.用译码器实现端口译码同济大学电信学院6.1.3I/O端口地址译码3.用比较器实现端口译码同济大学电信学院6.1.3I/O端口地址译码4.PROM实现端口译码同济大学电信学院6.1.4接口的形式CPU与外设的信息交换称为通信(Communication)。基本的通信方式有两种:并行通信——数据的各位同时传送;串行通信——数据一位一位顺序传送。并行通信与串行通信方式,如图所示。同济大学电信学院6.2.1查询传送方式1.查询式输入CPU与I/O设备的工作往往是异步的,很难保证,当CPU执行输入操作时,外设已把要输入的信息准备好了;所以,通常在程序控制下的传送方式,在传送前,必须要查询外设的状态,当外设准备就绪了才传送;若未准备好,则CPU等待。同济大学电信学院6.2.1查询传送方式同济大学电信学院同济大学电信学院查询部分的程序如下:POLL:INAL,STATUS_PORT;从状态端口输入状态信息TESTAL,80H;检查READY是否为1JEPOLL;未READY,循环INAL,DATA_PORT;READY,从数据端口输入数据6.2.1查询传送方式同济大学电信学院2.查询式输出在输出时,CPU也必须了解外设的状态,看外设是否有空(即外设不正处在输出状态,或外设的数据寄存器是空的,可以接收CPU输出的信息),若有空,则CPU执行输出指令,否则就等待。6.2.1查询传送方式同济大学电信学院同济大学电信学院6.2.1查询传送方式同济大学电信学院查询部分的程序为:POLL:INAL,STATUS_PORT;从状态端口输入状态信息TESTAL,80H;检查BUSY位JNEPOLL;BUSY则循环等待MOVAL,STORE;否则,从缓冲区取数据OUTDATA_PORT,AL;从数据端口输出6.2.1查询传送方式同济大学电信学院3.举例(1)一个采用查询方式的数据采集系统一个有8个模拟量输入的数据采集系统,用查询的方式与CPU传送信息,其电路如图所示。6.2.1查询传送方式同济大学电信学院8个输入模拟量,经过多路开关—它由端口4输出的3位二进制码(D0、D1、D2)控制(000——相应于A0输入),每次送出一个模拟量至A/D转换器;同时A/D转换器由端口4输出的D4位控制启动与停止。1)逻辑图6.2.1查询传送方式同济大学电信学院同济大学电信学院2)实现数据采集过程的程序:START:MOVDL,0F8H;设置启动A/D转换的信号LEADI,DSTOR;存放输入数据缓冲区的地址偏移量→DIAGAIN:MOVAL,DLANDAL,0EFH;使D4=0OUT4,AL;停止A/D转换CALLDELAY;等待停止A/D操作的完成MOVAL,DLOUT4,AL;启动A/D,且选择模拟量A06.2.1查询传送方式同济大学电信学院POLL:INAL,2;输入状态信息SHRAL,1JNCPOLL;若未READY,程序循环等待INAL,3;否则,输入数据STOSB;存至内存INCDL;修改多路开关控制信号,指向下一个模拟量JNEAGAIN;8个模拟量未输入完,循环已完,执行别的程序段6.2.1查询传送方式同济大学电信学院(2)无条件输出设计一个输出接口,连接一个8段显示器,使显示器循环显示0-9。1)逻辑图6.2.1查询传送方式同济大学电信学院6.2.1查询传送方式74LS273同济大学电信学院6.2.1查询传送方式同济大学电信学院6.2.1查询传送方式hgfedcba001111113FH0000011006H010110115BH010011114FH0110011066H011011016DH011111017DH0000011107H011111117FH011011116FH同济大学电信学院2)显示程序:START:MOVDX,51EH;设置IO端口地址到DXMOVCL,0AH;设置显示字符数MOVSI,DSTOR;存放输入数据缓冲区的地址偏移量→SIAGAIN:MOVAL,[SI];取显示的数据到ALOUTDX,AL;输出CALLDELAY;延迟INCSI;数据缓冲区指针加一DECCL;计数值减一6.2.1查询传送方式同济大学电信学院JNZAGAIN;未显示完继续显示JMPSTART;否则,重新再开始DELAY:MOVBX,0FFFFH;设置延迟常数LOOP:DECBXJNZLOOP;循环延迟RETDSTOR:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH6.2.1查询传送方式同济大学电信学院6.2.2中断传送方式在上述的查询传送方式中,CPU要不断地询问外设,当外设没有准备好时,CPU要等待,不能干别的操作,这样就浪费了CPU的时间。而且许多外设的速度是较低的,如键盘、打印机等,它们输入或输出一个数据的速度是很慢的,在这个过程中,CPU可以执行大量的指令。为了提高CPU的效率,可采用中断的传送方式。同济大学电信学院同济大学电信学院同济大学电信学院6.2.3直接存储访问(DMA)利用中断进行数据传送,可以大大提高CPU的利用率。例如某一个外设1秒钟能传送100个字节。若用查询方式输入,则在这1秒钟内CPU全部用于查询和传送;若用中断方式,CPU每传送一个字节的服务程序若需100μs,则传送100个字节,CPU只需用10ms,即只占1秒的1/100的时间,这样99/100的时间CPU可用于执行主程序。同济大学电信学院在DMA方式时,就希望CPU把这些总线让出来(即CPU连到这些总线上的线处于第三态——高阻状态),而由DMA控制器接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束等信号。这些都是由硬件实现的。6.2.3直接存储访问(DMA)同济大学电信学院DMA控制器必须有以下功能:(1)能向CPU发出HOLD信号;(2)当CPU发出HLDA信号后,接管和控制总线,进入DMA方式;(3)发出地址信息,能对存储器寻址以及能修改地址指针;(4)能发出读或写等控制信号;(5)能决定传送的字节数,判断DMA传送是否结束;(6)发出DMA结束信号,使CPU恢复正常工作状态。6.2.3直接存储访问(DMA)同济大学电信学院6.2.3直接存储访问(DMA)同济大学电信学院1.DMA控制器的基本功能DMAC是控制存储器和外部设备之间直接高速地传送数据的硬件电路,它应能取代CPU,用硬件完成输入输出功能。具体地说,DMAC应具有如下功能:6.2.3直接存储访问(DMA)同济大学电信学院(1)能接收外设的请求,向CPU发出DMA请求信号;(2)当CPU发出DMA响应信号之后,接管对总线的控制,进入DMA方式;(3)能寻址存储器,即能输出地址信息和修改地址;(4)能向存储器和外设发出相应的读/写控制信号;(5)能控制传送的字节数,判断DMA传送是否结束;(6)在DMA传送结束以后,能结束DMA请求信号,释放总线,使CPU恢复正常工作。6.2.3直接存储访问(DMA)同济大学电信学院2.DMA传送方式DMAC一般都有两种基本的DMA传送方式。(1)单字节方式:每次DMA请求只传送一个字节数据,每传送完一个字节,都撤除DMA请求信号释放总线;6.2.3直接存储访问(DMA)同济大学电信学院(2)字节(字符)组方式:每次DMA请求连续传送一个数据块,待规定长度的数据块传送完了以后才撤除DMA请求释放总线。6.2.3直接存储访问(DMA)同济大学电信学院6.3.1DMA控制器的主要功能DMA控制器有以下主要功能:(1)在一个芯片中有四个独立的DMA通道(8237必须与一片8位地址锁存器如8282连用)。(2)每一个通道的DMA请求都可以分别允许和禁止。(3)每一个通道的DMA请求有不同的优先权,优先权可以是固定的,也可以是旋转的(由编程决定)。(4)每一个通道一次传送的最大长度可达64KB,可以在存储器与外设间进行数据传送,也可以在存储器的两个区域之间进行传送。(5)8237的DMA传送有以下四种方式:①单字节传送方式;②数据块传送方式;③请求传送方式;④级连方式。(6)有一个结束处理的输入信号EOP,允许外界用此输入端来结束DMA传送或重新初始化。(7)8237可以级连,任意扩展通道数。同济大学电信学院6.3.28237的结构Intel8237在图中的通道部分只画出了一个通道的情况,即每个通道都有一个基

1 / 106
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功