微机原理与接口技术新第六章

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

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

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

资源描述

一、I/O接口的功能1.采用I/O接口的必要性*外围设备的品种繁多机械,电子,机电,磁电,光电*所传输的信息的要求不同数字,模拟,电压,电流等计算机与外设之间的信息交换应解决的问题:*速度不匹配*信号电平不匹配*信号格式不匹配*信号时序不匹配第六章I/O接口和总线接口:Interface,是为两不相容部件能连接而设置的一个界面。在计算机中是连接外设,实现数据传送的控制电路,是CPU与外设间信息通讯的桥梁。2.I/O接口应具有的功能(解决的方案)*设置数据缓冲器以解决两者速度差异所带来的不协调问题;输入:输入设备数据线三态缓冲器DBCPU寻址等待数据输入读入数据确定输入端口地址AB、M/IO、ALE、DT/R等待数据输入输入缓冲器输入缓冲器DBCPU输出:CPUDB锁存器输出设备数据线寻址输出数据等待数据输出确定输出端口地址AB、M/IO、ALE、DT/RCPUDB输出锁存器等待输出设备从锁存器取走数据*设置信号电平转换电路以解决两者之间信号电平的不一致问题例如:在串行通信中,常采用MC1488,MC1489等芯片实现电平转换。*设置信息转换逻辑以满足对各自信号格式的要求例如:A/D转换,D/A转换,串/并转换,并/串转换等。*设置时序控制电路以同步CPU和外设的工作接口电路接收CPU送来的命令或控制字,实施对外设的控制和管理;外设的工作状态和应答信号也通过接口及时返回给CPU(设备就绪,忙,缓冲器满,空),保证CPU与外设工作实现同步。*提供地址译码电路CPU与多个外部设备交换信息;每个外部设备通常包含若干个端口(数据,控制,状态)。*最好可编程应用二简单的I/O接口芯片常用I/O芯片:缓冲器(Buffer)和锁存器(Latch)缓冲器:无锁存功能,在外设和CPU之间起缓冲驱动和隔离作用。总线缓冲器具有三态功能。锁存器:除具有缓冲功能外还有数据锁存记忆功能。1缓冲器74LS2448路单向数据缓冲器74LS2458路双向数据缓冲器(1)、8路单向数据缓冲器74LS244三态输出的八缓冲器和线驱动器;8个输入端,分为二路—1A1~1A4,2A1~2A4;8个输出端,分为二路—1Y1~1Y4,2Y1~2Y4;分别由2个门控信号和控制;和为低,芯片工作,Y=A;74LS244缓冲后,输入信号被驱动,输出信号的驱动能力加大了;常用的缓冲器还有74LS240和74LS241等。G1G2G1G274LS244缓冲器逻辑电路和引脚图(2)、8路双向数据收发器74LS245三态输出的8总线收发器;16个双向传送的数据端,A1~A8,B1~B8;两个控制端—使能端和方向控制端DIR;芯片的功能见表6-2。表74LS245的真值表通常用于数据的双向传送、缓冲和驱动。常用的数据收发器还有74LS243、Intel8286、Intel8287等使能方向控制DIR传送方向LLB→ALHA→BH×隔开GG74LS245八总线收发器逻辑电路和引脚图2锁存器74LS3738D锁存器8输入:1D~8D8输出:1O~8O输入允许端:OE输出预选端:G使能G输出允许OE输入输出QHLLLHLHHLL×Q0×H×Z表6-174LS373的真值表H为高电平,L为低电平,Q0为原状态,Z为高阻抗,×为任意值。74LS373锁存器主要用于锁存地址信息、数据信息以及DMA页面地址信息等。常用的锁存器还有74LS273,573,Intel8282和8283等74LS373锁存器逻辑电路和引脚图三I/O端口及寻址方式I/O端口(Port):I/O接口电路中的寄存器及其控制逻辑。接口信息:①数据信息②状态信息③控制信息I/O接口中的三种I/O端口如图所示一个基本的外设接口如图所示“外设接口”是“CPU”与“外设”之间传递信息的控制电路,是“CPU”与“外设”之间传送信息的一个“界面”、一个连接部件。外设接口一边通过CPU的三总线(或微机总线)同CPU连接,一边通过三种信息—数据信息、控制信息和状态信息同外设连接。⑴数据端口:8位⑵状态端口:指示当前状态。常用状态位有。1位~n位①准备就绪位(READY):对CPU而言,是否可读写数据。a.输入端口READY=1,数据寄存器准备好,待CPU读取,取走则清0。b.输出端口READY=1,输出寄存器为空,可接收CPU下一个数据,数据到,则清零。②忙碌位(BUSY):表示输出设备能否接收数据。BUSY=1,外设正在进行操作,暂不允许CPU送新数据;操作完,则清零表示外设处于清闲状态,又允许CPU送下一数据到输出端口。③错误位(Error):如奇偶错,溢出错等⑶命令端口(CommandPortorControlPort)1位~n位存放CPU发出的命令和控制字,控制设备和接口动作。各种芯片的控制字无统一格式,其意义和用法要查阅用户手册。用户设计:用D触发器或三态缓冲器信息传送:用INPORT,OUTPORT指令BUSYREADYERROR状态端口2I/O端口寻址方法CPU通过对I/O端口寻址,连接并访问与I/O端口相连的外设。每个外设I/O端口都有自己的地址。I/O端口寻址方式I/O单独编址方式存储器映象寻址方式(MemorymappedI/O)⑴I/O单独编址方式系统中的I/O端口单独编址,构成一个I/O地址空间;与存储器地址空间无关,故不占用其空间。8086的I/O寻址方式:可用A0~A15寻址65536个I/O端口8086有两个地址空间:I/O地址空间和存储器地址空间,用M/IO选择,=0,I/O寻址,=1为M寻址。优点:①指令独立,程序清晰,可读性好;②指令短,执行速度快,不占内存空间;③I/O译码电路简单。缺点:①指令功能没有存储器指令强;②CPU需专门信号(M/IO)区分M和I/O读写信号。⑵存储器映象寻址即I/O地址映射到存储器空间把I/O端口看作一个存储器单元,与存储器单元统一编址,系统只有一个地址空间。优点:①指令集中,不必包含I/O指令,简化指令系统设计。②可使用功能强而灵活的存储器访问指令。缺点:①占用存储器地址,译码电路用全译码,故电路较I/O寻址复杂。②I/O操作时使用的指令字节长,增加操作时间。四数据传送的控制方式在数据传送过程中,关键问题是数据传送的控制方式1程序控制传送方式程序控制的数据传送分为无条件传送、查询传送和中断传送;以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输入或输出程序(传送指令和I/O指令)实现数据的传送。§6.2CPU与外设之间的数据传送一、无条件传送无条件传送又称为同步传送。计算机在确定外设已经准备好的情况下,无需去查看外设的状态直接进行的传送。例如一些简单的外设,开关、继电器、数码管、发光二极管等,在它们工作时,可以认为输入设备已随时准备好向CPU提供数据,而输出设备也随时准备好接收CPU送来的数据,这样,在CPU需要同外设交换信息时,无需考虑外设的状态,直接就能够用IN或OUT指令直接对这些外设进行输入/输出操作。无条件输入接口由地址译码器、输入缓冲器(三态缓冲器)组成。无条件输出接口由地址译码器、数据锁存器组成。地址译码器常用74LS138译码芯片。G1/G2A/G2BCBA/Y0/Y1/Y7……G1=1,/G2A=0,/G2B=0时可译码CBA=000,/Y0=0,其余为1CBA=001,/Y1=0,其余为1CBA=111,/Y7=0,其余为1…...对于简单外设,若采用无条件传送方式,其接口电路也很简单。例如简单外设作为输入设备时,输入数据保持时间相对于CPU的处理时间要长得多,所峥可直接使用三态㜓冲器和数据总线相连,如图(a)所示。当执行输入的指令时,读信号有效,选择信号M/IO处于低电平,因而三态缓冲器被选通,使其中早已准备好的输入数据送到数据总线上,再到达CPU。所以要求CPU在执行输入指令时,外设的数据是准备好的,即数据已经存入三态缓冲器中。M/IO/RD/CS1Y11Y22Y4/G2…1A11A22A4…/G1+5v+74LS244无条件输入D0D1D7/CSG1/G2A/G2BCBA/Y0/Y1/Y2/Y7…AB74LS138INAL,PORT-IN简单外设为输出设备时,由于外设取数的速度比较慢,要求CPU送出的数据在接口电路的输出端保持一段时间,因而一般都需要锁存器,如图(b)所示。CPU执行输出指令时,M/IO和WR信号有效,于是,接口中的输出锁存器被选中,CPU输出的信息经过数据总线送入输出锁存器中,输出锁存器保持这个数据,直到外设取走。无条件传送方式下,程序设计和接口电路都很简单,但是为了保证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。对少量的数据传送来说,无条件传送方式是最经济实用的一种传送方法。1D2D8D1Q2Q8Q…GM/IO/WR/CS74LS373+5VLED无条件输出/CSG1/G2A/G2BCBA/Y0/Y1/Y2/Y7…AB74LS138OUTPORT-OUT,AL…例:设计一输入接口(同步传送),8位开关量,地址C00H(8086)。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0000011000000000074LS138G1/G2B/G2ACBAA11A10M/IOA5A4A3/Y0+A9A8A7A6+RD74LS373……/OEG+5VD7D0接口设计总结地址信号分析:将16位地址展开,按要求将地址一一对应填好,找出哪些位地址是低电平,哪些位地址是高电平,经逻辑组合后接入地址译码器。控制信号分析:根据接口性质(是输入接口还是输出接口),采用/RD和M/IO或/WR和M/IO信号进行控制。数据信号分析:输入接口一定要三态缓冲器,可要锁存器;输出接口一定要锁存器。作业设计一8位同步传送的输出接口电路,控制发光二极管。当某位输出为“1”时,发光二极管亮,否则发光二极管灭,地址为280H。二、查询传送方式(条件传送方式)查询传送也称为条件传送,是指在执行输入指令(IN)或输出指令(OUT)前,要先查询相应设备的状态,当输入设备处于准备好状态,输出设备处于空闲状态时,CPU才执行输入/输出指令与外设交换信息。为此,接口电路中既要有数据端口(可为输入,也可为输出),还要有一个一位的状态端口(输入)。查询传送方式的流程图:NYY取外设状态外设准备就绪?N开始传送数据传送完否?结束从图中可以看出,采用查询方式完成一次数据传送要经历如下过程:(1)CPU从接口中读取状态字。(2)CPU检测相应的状态位是否满足“就绪”条件。(3)如果不满足,则重复(1)、(2)步;若外设已处于“就绪”状态,则传送数据。1、查询式传送输入接口初始化读入状态数据准备好?输入一数据→CPU数据→内存缓冲区传送完?结束NNYY有一个一位的状态口(输入),有一个8位的数据口(输入)74LS138G1/G2B/G2ACBAA11A12M/IOA5A4A3/Y0+A9A8A7A6+RD74LS373……/OEG+5VD7D0+/Y1RDD0DQR选通信号Q8Q1D1D8查询式输入1.当外设发一个选通信号时,数据送入373中,同时状态信息为“准备好”,即Q=12.CPU查询到状态信息为“准备好”时,从数据线读取数据,同时使状态信息为“未准备好”,即Q=0MOVBX,0;初始化地址指针MOVCX,COUNT-1;字节数READ-S1:INAL,PORT-S1;读入状态位TESTAL,01H;数据准备好否?JZREAD-S1;否,循环检测INAL,PORT-IN;已准备好,读入数据MOV[BX],AL;存到内存缓冲区中INCBX;修该地址指针LOOPREAD-S1;未传送完,继续传送……;已传送完2、查询式传送输出接口初始化读入状态空否?输出一数据→外部传送完?结束NNYY有一个一位的状态口(输入),有一个8位的数据口(输出)74LS138G1/G2B/G2ACBAA11A12M/IOA5A4A3+A9A8A7A6+WR74LS373……/OEGD7D0+/Y1RDD1DQS数据选通Q8Q1D1

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

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功