微机原理基本输入输出接口.ppt

微机原理基本输入输出接口.ppt

ID:49987611

大小:1.55 MB

页数:65页

时间:2020-03-06

上传者:新起点
微机原理基本输入输出接口.ppt_第1页
微机原理基本输入输出接口.ppt_第2页
微机原理基本输入输出接口.ppt_第3页
微机原理基本输入输出接口.ppt_第4页
微机原理基本输入输出接口.ppt_第5页
资源描述:

《微机原理基本输入输出接口.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

第5章-1基本输入输出接口教学重点:I/O接口电路的典型结构无条件传送方式查询传送方式中断工作过程DMA传送1 5.1I/O接口概述为什么需要I/O接口(电路)?微机的外部设备多种多样;工作原理、驱动方式、信息格式以及工作速度方面彼此差别很大;它们不能与CPU直接相连;必须经过中间电路再与系统相连;这部分电路被称为I/O接口电路。多种外设2 5.1I/O接口概述(续1)什么是I/O接口(电路)?I/O接口是位于系统与外设间,用来协助完成数据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路3 5.1I/O接口概述(续2)什么是微机接口技术?处理微机系统与外设间联系的技术;注意其软硬结合的特点;根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备。4 常见接口插槽PS2鼠标PS2键盘千兆网10/100M网卡USB并行口MIDI/游戏接口显示器接口13941394a音箱/线入接口/麦克风串行口5 5.1.2I/O接口-I/O接口的主要功能⑴对输入输出数据进行缓冲和锁存;输出接口有锁存、缓冲环节;输入接口有锁存、缓冲环节;⑵对信号的形式和数据的格式进行变换微机直接处理:数字量、开关量、脉冲量;⑶对I/O端口进行寻址;⑷与CPU和I/O设备进行联络。6 5.1.2I/O接口-I/O接口的典型结构1.接口电路的内部结构2.接口电路的外部特性3.接口电路芯片的分类4.接口电路的可编程性7 1.接口电路的内部结构CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:⑴数据寄存器保存外设给CPU和CPU发往外设的数据⑵状态寄存器保存外设或接口电路的状态⑶控制寄存器保存CPU给外设或接口电路的命令理解端口8 2.接口电路的外部特性主要体现在引脚上,分成两侧信号面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号面向外设一侧的信号:用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大9 3.接口电路芯片的分类接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):通用接口芯片支持通用的数据输入输出和控制的接口芯片面向外设的专用接口芯片针对某种外设设计、与该种外设接口面向微机系统的专用接口芯片与CPU和系统配套使用,以增强其总体功能10 4.接口电路的可编程性许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种;接口需要进行物理连接,还需要编写接口软件;接口软件有两类:初始化程序段——设定芯片工作方式等;数据交换程序段——管理、控制、驱动外设,负责外设和系统间信息交换。11 5.1.3I/O端口的编址接口电路占用的I/O端口有两类编排形式I/O端口单独编址I/O地址空间独立于存储地址空间;如8086/8088;I/O端口与存储器统一编址它们共享一个地址空间;如M68000。12 I/O端口单独编址优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富内存空间I/O空间FFFFF0FFFF80x86采用I/O端口独立编址13 I/O端口与存储器统一编址优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访存和访问外设)内存部分I/O部分存储器空间00000FFFFF14 8088/8086的输入输出指令输入指令INAL,i8/DX;字节输入INAX,i8/DX;字输入输出指令OUTi8/DX,AL;字节输出OUTi8/DX,AX;字输出功能演示功能演示15 例:一个输入设备的简单接口电路该电路在CPU执行指令MOVDX,284HINAL,DX将输入设备的数据读入CPU内AL中图中译码电路的作用:只当A15~A0上出现284H时,(即0000001010000100B)输出0,其他输出1。IO总线三态缓冲器开关状态DBIOR地址译码AB284H000D7~D0A15~A0与非16 例:一个输入设备的简单接口电路三态缓冲器开关输入数据线IOR地址译码地址线284H000D7~D0A15~A0与非IO总线D0D7K1:K8A15~A0IORCLKD7~D0T4T1T2T3Tw0000001010000100执行:MOVDX,284HINAL,DX01101101B=6DHIN指令时序问题:P290图5.11K2,K5,K8闭合时DB=?,(AL)=?17 例:一个输入设备的简单接口电路三态缓冲器输入设备数据线IOR地址译码地址线284H000D7~D0A15~A0与非IO总线MOVDX,284HINAL,DX输入设备接口电路,即硬件上保证:只在CPU执行从284H端口输入数据时,三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时,三态门均处于高阻状态,使输入设备的数据线与总线侧断开。思考:其他的指令为什么不可以?例:INAL,50H;MOVAL,[0284H]18 例:一个输出设备的简单接口电路该电路在CPU执行指令MOVAL,81HMOVDX,288HOUTDX,ALCPU内AL中的数据81H送至输出设备IO总线锁存器输出设备数据线IOW地址译码地址线288H000D7~D0A15~A0与非例:LED指示灯图中译码电路的作用:只当A15~A0上出现288H时,(即0000001010001000B)输出0,其他输出1。参见P291图5.1219 例:一个输出设备的简单接口电路IO总线锁存器输出设备数据线IOW地址译码地址线288H000D7~D0A15~A0与非例:LED指示灯OUT指令时序A15~A0CLKIOWD7~D0T4T1T2T3Tw0000001010001000执行:MOVAL,81HMOVDX,288HOUTDX,AL20 例:一个输出设备的简单接口电路PC总线锁存器输出设备数据线IOW地址译码地址线288H000D7~D0A15~A0与非例:LED指示灯MOVDX,288HOUTDX,AL输出设备接口电路,即硬件上保证:只在CPU执行从288H端口输出数据时,锁存器处于触发状态,其输出随输入变化,而CPU执行其它指令时,锁存器均处于锁存状态,其输出不随输入变化,思考:其他的指令为什么不可以?例:OUT50H,AL;MOV[0288H],AL问题:对本电路MOVDX,288HINAL,DX结果如何?21 I/O端口的译码译码电路的作用译码电路的构成(与存储器译码相似)设计译码电路的方法片内译码和片选译码22 I/O译码电路的作用将CPU执行IN/OUT指令发出的信号,“翻译”成欲操作端口的选通信号,此信号常作为接口内三态门或锁存器的控制信号,接通或断开接口数据线与系统的连接。A15~A0IORCLKD7~D0T4T1T2T3TwA15~A0CLKIOWD7~D0T4T1T2T3TwIN指令时序OUT指令时序23 设计译码电路的方法根据端口地址确定地址信号A15~A0的条件取值,用门电路、译码器及组合、PLD/GAL实现满足条件情况的电路设计I/O译码电路时:端口的选通信号通常为低电平有效,除端口的地址信号参加译码外,控制信号IOW、IOR(IO/M、AEN也可参加译码)译码电路A0A1A14A15IORIOWAEN24 例:设计端口地址为218H的译码电路分析CPU执行IN/OUT指令时,发出端口的地址信号MOVDX,218HINAL,DX或OUTDX,AL对应218H端口的地址信号为(只取A9~A0):A9A8A7A6A5A4A3A2A1A0(地址信号)1000011000B218H只要满足此地址取值的译码电路均可25 方法一、用门电路实现218H的地址译码数据线DBRDWRCS端口译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口IO总线D0~D7D0~D710000110000&译码电路部分满足:只当地址信号A9~A0为:A9A8A7A6A5A4A3A2A1A01000011000即218H时,输出“0”,使I/O接口的/CS有效,否则输出“1”,使I/O接口的/CS无效26 地址重叠现象数据线DBRDWRCS端口译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口IO总线D0~D7D0~D710000110000&注意译码电路中:由于高位地址线A15~A10未参与译码,即:地址A15~A0为:××××××1000011000均能输出“0”低电平,所以该电路使:一个端口对应多个地址共26=64个218,618,A18,E18,等等27 218H方法二、用译码器、门电路组合实现地址译码【问1】Y1~Y7译出的端口地址各是多少?【问2】将A0与A2位置互换Y0~Y7译出的端口地址各是多少?28 【答1】Y0~Y7译出的端口地址分别是219H~21FH。【答2】将A0与A2位置互换Y1~Y7译出的端口地址分别是218H、21CH、21AH、21EH、219H、21DH、21BH和21FH。29 I/O地址的译码小结I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点:每个接口电路通常只占用几个I/O地址,这时可以利用基本逻辑门电路进行地址译码除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLD30 IBMPC/XT主机板的I/O译码电路31 5.1.4数据传送方式程序控制下的数据传送——通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送、中断传送直接存储器存取(DMA)——传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送I/O处理机——CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理32 1、无条件传送方式及其接口在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪传送流程33 无条件传送:输入示例34 无条件传送:输出示例35 简单输入接口举例MOVDX,218HINAL,DX36 简单输出接口举例MOVDX,219HOUTDX,AL37 2、查询传送方式及其接口CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低就绪?38 查询传送的两个环节⑴查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪⑵传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据输入状态就绪?数据交换YN传送流程接口实例39 查询输入接口电路MOVDX,8000H;DX指向状态端口status:INAL,DX;读状态端口TESTAL,01H;测试标志位D0JNZstatus;D0=0,未就绪,继续查询INCDX;D0=1,就绪,DX指向数据端口INAL,DX;从数据端口输入数据40 查询输出接口电路MOVDX,8000H;DX指向状态端口status:INAL,DX;读取状态端口的状态数据TESTAL,80H;测试标志位D7,80H=10000000BJZstatus;D7=1,未就绪,继续查询INCDX;D7=0,就绪,DX指向数据端口MOVAL,BUF;变量buf送ALOUTDX,AL;将数据输出给数据端口41 3、中断传送方式断点主程序中断服务程序中断请求对外设进行处理继续执行返回断点CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序传送流程42 中断传送与接口中断传送是一种效率更高的程序传送方式;进行传送的中断服务程序是预先设计好的;中断请求是外设随机向CPU提出的;CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚;下面讨论中断在输入和输出方面的应用;中断还有着非常广泛的应用,以后将详细介绍。43 中断传送与接口44 中断工作过程中断请求中断响应关中断断点保护中断识别现场保护中断服务恢复现场开中断中断返回中断服务是进行数据交换的实质性环节45 中断源的识别中断优先权问题1:系统有多个中断请求,CPU如何识别中断源?解答:中断查询46 中断查询接口47 中断优先权排队中断优先权(续1)问题2:有多个中断同时请求,CPU如何应对?解答:链式优先权排队电路48 链式中断优先权排队电路49 中断嵌套中断优先权(续2)问题3:中断处理过程中,又有中断提出请求,怎么办?解答:链式优先权排队电路50 希望克服程序控制传送的不足:外设→CPU→存储器外设←CPU←存储器直接存储器存取DMA:外设→存储器外设←存储器CPU释放总线,由DMA控制器管理。4、DMA传送方式51 DMA传送的工作过程⑴CPU对DMA控制器进行初始化设置⑵外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制⑶DMA传送DMA读存储器:存储器→外设DMA写存储器:存储器←外设⑷自动增减地址和计数,判断传送完成否传送流程52 DMA传送流程53 小结——传送方式的比较无条件传送:慢速外设需与CPU保持同步;查询传送:简单实用,效率较低;中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销;DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送。54 多种多样的外设工作原理不同机械、电子、机电、电磁……传送信息类型多样数字量、模拟量、开关量传送速度差别极大传送方式不尽相同串行、并行编码方式不同二进制、BCD码、ASCII码……55 输出接口的锁存、缓冲环节内部数据总线外部数据引脚锁存控制DCQDCQDCQ读数据56 输入接口的锁存、缓冲环节内部数据总线外部数据引脚锁存控制锁存器缓冲器DCDCDCQQQ选通57 端口(PORT)端口泛指I/O地址,通常对应寄存器;一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息;数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息;输入、输出端口可以是同一个I/O地址。一定要理解58 INAL,21H59 OUT43H,AL60 无条件传送流程61 就绪(Ready)在输入场合“就绪”说明输入接口已准备好送往CPU的数据,正等着CPU来读取该状态也可用接口中数据缓冲器已“满”来描述在输出场合“就绪”说明输出接口已做好准备,等待接收CPU要输出的数据该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或不“忙(Busy)”来描述就绪:满,空、闲、不忙62 查询传送流程63 中断传送流程64 DMA传送流程65

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭