微机原理第8章-输入输出接口技术

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

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

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

资源描述

第8章输入输出接口技术本讲内容基本概念•I/O端口的编址•输入输出的基本方法:无条件、查询、中断、DMA微型计算机中I/O接口的作用存储器MI/O接口输入设备II/O接口数据总线DB控制总线CB地址总线AB输出设备OCPU什么是I/O接口(电路)?I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路,I/O接口就是CPU与外设的连接部件。PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是I/O接口电路CPUI/O接口电路I/O设备接口在CPU与外设之间I/O接口的基本结构示意图为什么需要接口电路?1。外部设备的种类多种多样。2。传输的信息也有多种的。3。速度的相差更大。所以就需要在计算机与外部设备之间设置一种部件,使CPU和外部设备的工作协调起来,有效地完成输入输出任务。这种部件称为输入输出接口。I/O接口要解决的问题•速度匹配(Buffer)•信号电平和驱动能力(电平转换器、驱动器)•信号形式匹配(A/D、D/A)•信息格式(字节流、块、数据包、帧)•时序匹配(定时关系)•总线隔离(三态门)•I/O地址译码与设备选择•把选中的与总线相接,未选中的与总线隔离(高阻态)•数据的缓冲与暂存•缓解接口与CPU工作速度的差异输出接口有锁存环节输入接口有缓冲环节•对外设进行监测、控制与管理,中断处理•信号电平与类型的转换•形式、格式、电平、功率、码制等I/O接口的功能什么是微机接口技术?处理微机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备接口电路交换的信息:数据信息。控制信息。状态信息。I/O端口:I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号——称为端口地址(或端口号)。端口有两种编址方式:统一编址和独立编址。I/O接口的编址方式定义把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。优点•指令统一,灵活;•访问控制信号统一,使用同一组的地址/控制信号。缺点•内存可用地址空间减小例如:MCS-51单片机0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H1.统一编址定义:外设地址空间和内存地址空间相互独立。优点:内存地址空间不受I/O编址的影响缺点:I/O指令功能较弱,使用不同的读写控制信号00000H内存地址空间内存空间(1MB)I/O空间(64KB)FFFFHFFFFFHI/O地址空间0000H2.独立编址例如:8088/8086微机系统采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用来区分:•/0时为I/O地址/M地址I/O操作只使用20根地址线中的16/8根:A15/7~A0可寻址的I/O端口数为64K(65536)/256个I/O地址范围为0~FFFFH/0~FFHIBMPC只使用了10根A9~A01024个I/O地址(0~3FFH)原因:够用为度,简化电路IO/M=1IO/M8088/8086CPU的I/O编址方式、、A15~A0OUT指令将使总线的信号有效IN指令将使总线的信号有效当接口只有1个端口(仅数据口,无状态口和控制口)时,16位地址线一般应全部参与译码,译码输出直接选择该端口;下面先介绍这种简单情况当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。IORIOWIOWIORI/O端口地址的译码例如:某外设接口有4个端口(如8255/8253),地址为2F0H~2F3H,则其基地址为2F0H,由A15~A2译码得到,而A1、A0用来确定4个端口中的某一个。请思考:A0~A15=?I/O接口(4端口)A0A1CS译码器…A0A1A2~A15I/O接口(1端口)CS译码器A0~A15并行•定义:一个数据单位(通常为字节)的各位同时传送•特点:速度快、距离短、成本高•例如:PC机的并行接口(通常用于连接打印机)串行•定义:数据按位进行传送•特点:速度慢、距离远、成本低•例如:PC机的串行接口(通常用于串行通信)I/O数据的传送方式CPU与外设间的数据传送方式I/O接口电路基础:三态缓冲器/锁存器问题:CPU与外设的工作速度不一致,尤其是当外设由其他CPU或时序电路控制时更加明显,应如何解决效率和可靠性。数据传送控制:使两者高效、可靠地进行数据传送(1)无条件传送方式(2)条件传送方式(查询方式)(3)中断传送方式(4)DMA传送方式(DirectMemoryAccess)存贮器直接存取方式四种传送方式(程序方式)无条件传送方式(同步传送方式)实现方法CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送特点1.适用于外设动作时间已知,前提:CPU与外设进行数据传送时,外设保证已准备好。如开关、发光器件(如发光二极管、7段数码管、灯泡等)、继电器、步进电机等。2.软硬件十分简单。(程序方式之一)典型无条件传送方式接口电路(输入)该电路在CPU执行指令(当外设开关准备好后-开关动作时间固定)MOVDX,284HINAL,DX功能:将输入设备的数据读入CPU内AL中图中译码电路的作用:只当A15~A0上出现284H时,(即0000001010000100B)输出0,其他输出1。三态缓冲器开关状态DBIOR地址译码AB284H000D7~D0A15~A0与非IO总线74LS244E1/E2例:开关典型无条件传送方式接口电路(输出)图中译码电路的作用:只当A15~A0上出现288H时,(即0000001010001000B)输出0,其他输出1。该电路在CPU执行指令(当外设LED指示灯准备好后—实际上一直处于准备好)MOVAL,81HMOVDX,288HOUTDX,AL功能:CPU内AL中的数据81H送至输出设备IO总线锁存器输出设备数据线IOW地址译码地址线288H000D7~D0A15~A0与非例:LED指示灯74LS273条件传送方式(查询传送方式)实现方法:在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,再才执行I/O指令,实现数据传送。特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配;2.CPU的工作效率低,响应速度慢;3.适用于简单、慢速的或实时性要求不高的外设.(程序方式之二)NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?编程流程查询方式输入例假设外设的状态端口为28CH(83H),其中D7=1时,表示外设数据准备好外设的数据端口为288H(80H)。实现从外设读50H个字节到内存缓冲区buffer中。28CH端口状态端口288H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线状态信号数据信号I/O接口查询方式输入接口电路状态端口D7=1表示外设准备好输入装置+5vSTB三态缓冲器数据线288H数据端口地址译码地址线状态端口地址译码锁存器IORRQD三态缓冲器D728CHPC总线IORA15~A0D7~D0&&MOVDX,288HINAL,DXMOVDX,28CHINAL,DXBUSYD0:D7GNDREADYD7D6D0READY从28CH状态端口读入外设状态信息从288H数据端口读入一个字节数据YND7=1,外设准备好否?N50H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中流程图STATUSEQU28CHMOVAX,SEGbuffer;取缓冲区首地址MOVDS,AXLEADI,bufferMOVCX,50H;传送个数next:MOVDX,STATUSask:INAL,DX;从状态端口读入状态信息TESTAL,10000000B;80H,检测D7位JZask;D7=0,继续查询MOVDX,288HINAL,DX;从数据端口读入数据MOV[DI],AL;送缓冲区INCDI;修改缓冲区指针LOOPnext;传送下一个….查询方式输入程序片段思考:若状态口和数据口为83H和80H,则程序应如何修改?查询方式输出例假设外设的状态端口为28CH,其中D0=0时,表示外设准备好外设的数据端口为288H。编程将缓冲区buffer的80H个字节输出到外设。28CH端口状态端口288H端口数据端口地址译码数据缓冲控制电路输出外备CPU地址线数据线控制线状态信号数据信号I/O接口查询方式输出接口状态端口D0=0表示外设准备好输出设备数据线288H数据端口地址译码地址线锁存器RDQ三态缓冲器+5vACKPC总线IORA15~A0D7~D0IOW状态端口地址译码D028CH&&MOVDX,288HOUTDX,ALMOVDX,28CHINAL,DXREADY(BUSY)D7D6D0BUSY从28CH状态端口读入外设状态信息将一字节数据送至288H数据端口YND0=0,外设准备好否?N80H个数据传送结束?Y编程将缓冲区buffer的80H个字节输出到外设条件查询输出流程图STATUS_PORTEQU28CHDATA_PORTEQU288HMOVAX,SEGbuffer;取缓冲区首地址MOVDS,AXLEASI,bufferMOVCX,80H;传送个数next:MOVDX,STATUS_PORTask:INAL,DX;从状态端口读入状态信息TESTAL,00000001B;检测D0位JNZask;D0=1,继续查询MOVAL,[SI];从缓冲区取数MOVDX,DATA_PORTOUTDX,AL;从数据端口输出数据INCSI;修改缓冲区指针LOOPnext;输出下一个….查询方式输出程序片断中断传送方式实现方法:1.当外设准备好,向CPU发出中断请求2.CPU在满足响应中断的条件下,发出中断响应信号;3.CPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送;4.CPU从中断服务程序返回,继续执行被中断的程序中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设硬件中断---NMI与INTR两根线申请中断(与CALL差别大)软件中断---INTn与INTO指令(与CALL功能类似)时间随机两者无关1.CPU和外设大部分时间处在并行工作状态,只在CPU响应外设的中断申请后,进入数据传送的过程。2.中断传送方式提高了CPU的效率。3.对外设的请求能作出实时响应,可处理故障。4.适于实时、快速、复杂的外设,但不适用于大量、高速频繁数据交换DMA。中断传送方式的特点DMA传输方式前面3种I/O方式共性:都需要CPU作为中介:外设CPU内存两个含义:1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式);2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)—解决办法:DMA传输外设内存DMACDMA传送方式(直接存储器存取方式)实现方法1.由专用接口芯片DMA控制器(称DMAC)控制传送过程,2.当外设需传送数据时,通过DMAC向CPU发出总线请求HOLD;3.CPU发出总线响应信号HLDA,释放总线;4.DMAC接管总线,控制外设、内存之间直接数据传送DMA传送方式过程CPUDMAC内存外设总线响应总线请求(i8237)DMAC内部包括四个基本寄存器①地址寄存器:用于存取下一个要访问的内存单元的地址,地址寄存器的内容加1或减1操作,取决于DMAC的设计②字节计数器:用于存放尚未传送完毕字节的数量,字节计数器在DMA过程中自动作减1操作③控制寄存器:用于对DMAC操作的控制④状态寄存器:反映DMAC当前所处的状态,例如,数据块传输是否结束等状态信息HLDA发存储器地址传送数据传送结束?DMA

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

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

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

×
保存成功