输入输出接口及中断技术.ppt
《输入输出接口及中断技术.ppt》由会员分享,可在线阅读,更多相关《输入输出接口及中断技术.ppt(201页珍藏版)》请在三一办公上搜索。
1、第6章 输入输出接口及中断技术,第六章 输入输出接口及中断技术,6.1 输入输出接口概述6.2 PC系列微机I/O端口和I/O端口地址译码6.3 CPU与外设之间数据传送的控制方式6.4 可编程并行接口8255A6.5 计数/定时器8253/82546.6 中断技术6.7 可编程中断控制器8259A 6.8 DMA技术及可编程DMA控制器8237,6.1 输入输出接口概述,什么是输入/输出设备?能够完成输入/输出操作的设备就叫输入/输出设备,简称外设或I/O设备。例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,而磁盘、CRT显示器、打印机、X-Y绘图仪等则是最常见的输出设备。,什么是输
2、入/输出接口?要实现外部设备与主机之间的连接(connection)和信息交换,必须经过一个数据转换和传输的设备。这种设备,我们叫做I/O接口(interface)。,I/O接口电路的功能和必要性,一、I/O接口要解决的问题速度匹配(Buffer):键盘0.5s,打印机几十ms,软盘500KB/S,硬盘100MB/S信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门),二、接口电路的外部特性,主要体现在引脚上,分成两侧信号:面向CPU一侧的信号:用于与CPU连接 主要是数据、地址和控制信号面向外设一侧的信
3、号:用于与外设连接 提供的信号五花八门,各不相同 功能定义、时序及有效电平等差异较大,是CPU与I/O设备之间的桥梁,CPU与外设交换信息的中转站,接口,CPU,外设,I/O接口电路的基本结构,返回,上一张,功能:1、数据缓冲与锁存 2、信息的输入与输出 3、信息格式转换 4、联络和中断管理动能 5、进行译码 6、电平转换 7、具备时序功能控制 8、具有可编程功能 9、检错,二、接口电路的功能,6.1.2 I/O的信息组成及接口模型,一、CPU与外设交换的信息 1、数据信息:(Data)主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三类。8、16、32、64 数据信息又分为数
4、字量、模拟量和开关量三种形式。1)数字量 2)模拟量 3)开关量2、状态信息(Status)3、控制信息(Control),1数据信息 1)数字量 数字量是计算机可以直接发送、接收和处理的数据。例如,由键盘、显示器、打印机及磁盘等I/O外设与 CPU交换的信息,它们是以二进制形式表示的数或以ASCII码表示的数符。2)模拟量 当计算机应用于控制系统中时,输入的信息一般为来自现场的连续变化的物理量,如温度、压力、流量、位移、湿度等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也
5、必须先经过数字量向模拟量的转换(D/A转换),把数字量转换成模拟量才能去控制现场 3)开关量 开关量可表示两个状态,如开关的断开和闭合,机器的运转与停止,阀门的打开与关闭等。这些开关量通常要经过相应的电平转换才能与计算机连接。开关量只要用一位二进制数即可表示。,2.状态信息 状态信息作为CPU与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示
6、输出设备是否处于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则CPU要暂停送数。因此,状态信息能够保障CPU与外设正确地进行数据交换。,3控制信息 控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工作原理不同而含义不同。,CPU通过接口和外设交换信息时,只能用输入指令(IN)和输出指令(OUT)传送数据,所以状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总
7、线来传送。但在接口中,这三种信息是在不同的寄存器中分别存放的。即通过端口来访问以上的信息,小 结,返回,二、端口(PORT),I/O端口:是指I/O接口中存放数据信息、状态信息和控制信息,CPU可以读/写的一组寄存器或特定电路,被称为I/O端口。一般接口通常有数据端口、控制端口、状态端口数据端口:(I、O)输入数据端口(I):保存外设给CPU的数据输出数据端口(O):保存CPU给外设的数据状态端口:(I)存放I/O设备或接口本身的工作状态信息控制端口:(O)存放CPU给外设或接口电路的命令,图4.2 一个典型的I/O接口,返回,上一张,6.1.3 I/O端口的编址方式及端口地址,不同外设具有的
8、端口数各不相同,计算机中为每一个端口都赋予一个唯一编号称为端口地址(或端口号)。端口有两种编址方式:统一编址和独立编址。,一、统一编址方式(存储器映像方式)即是将端口看作一个存储单元看待,每个端口地址占用一个地址单元,存储器与I/O地址统一安排二、独立编址方式(I/O映像方式),一、统一编址方式(存储器映像方式),把I/O端口看成MEM一个地址,1、优点指令丰富(mov等)I/O端口的空间大寻址控制逻辑简单(与MEN共用一套),2、缺点内存空间相对减少 单独的译码电路复杂指令代码字节长 分析程序困难,二、独立编址方式(I/O映像方式),I/O端口与MEM空间各自独立 逻辑上重叠 物理上独立,1
9、、优点MEM和I/O分开设计I/O地址线少I/O指令短,执行速度快,2、缺点需单独使用I/O译码单元和指令不象I/O指令丰富,6.2 PC系列微机I/O端口和I/O端口地址译码,6.2.1 PC系列微机I/O端口地址分配,8088/8086 CPU的I/O编址方式 采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用 来区分:时为I/O地址 I/O操作只使用20根地址线中的16根:A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH IBM PC只使用了1024个I/O地址(03FFH),IBM-PC机端口地址1024个端口地址 低256地址(
10、000H0FFH)做为主机电路板使用 高768地址(0100H03FFH)作扩充插槽使用 故此仅用A9A0十根地址线,IBM-PC机端口地址分配见 P395页 表 6.1,那么现在的PC机的端口地址怎么看呢,开始程序附件系统工具系统信息,硬件资源中I/O或看组件中就可以看到,例如 System speaker地址为0 x00000061 也就是0061H,怎么操作?,软件访问采用IN 或 OUT 指令!,我们设计IO卡可采用200H20FH游戏接口卡 300H31FH实验板,输入指令IN AL,port8;字节输入,直接寻址 IN AL,DX;字节输入,间接寻址IN AX,port8;字输入,
11、直接寻址IN AX,DX;字输入,间接寻址输出指令OUT port8,AL;字节输出,直接寻址OUT DX,AL;字节输出,间接寻址OUT port8,AX;字输出,直接寻址OUT DX,AX;字输出,间接寻址,6.2.2 I/O地址译码,80 x86采用I/O端口独立编址,译码主要针对片选(Chip SelectCS)信号一般为低电平有效,当此信号无效时,一般芯片所有线都处于高阻态。,译码器的选择组合逻辑门电路集成译码器开关式可选择译码电路可编程逻辑电(GAL、FPGA、CPLD),地址线的使用全地址译码方式部分地址译码方式,一、组合逻辑门电路地址译码,地址为2FB,1,0,1,0,0,0,
12、0,1,1,0,0,1,1,1,1,1,1,1,1,1,二、集成地址译码,地址为020 03F,0,0,0,1,0,1,0,1,0,1,1,1,1,0,1,0,0,1,0,74LS138,看看具体工作过程,输入,输出,A8A9 AEN,IBM PC/AT主机板的I/O译码电路,三、开关式可选择译码电路,“1”,“1”,“1”,“0”,A2,A1,A0,74LS138,P7P6P5P4P3P2P1P0Q7Q6Q5Q4Q3Q2Q1Q0,AENA9A8A7A6A5A4A3,74LS688,低3位由A2、A1、A0决定为111,高7位由决定DIP开关通过比较器74LS688,DIP开关,四、使用可编程
13、逻辑器件译码(GAL、FPGA、CPLD),是借助EDA手段可以设计专门的译码器,例如,当A9A0为000H时Q0为0,其他为全1,当A9A0为001H时Q1为0,其他为全1,以此类推后续课程中会给大家介绍,6.3 CPU与外设之间数据传送的控制方式,CPU与I/O接口间的信息传送,称为信息交换。,信息交互的方式有4种:无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,1、无条件传送方式及其接口,在CPU与慢速变化的设备交换数据
14、时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪,具体过程,2、查询传送方式及其接口,CPU需要选了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低,查询传送的两个环节,查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪 传送环节寻址数据口是输入,通过输
15、入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据,具体过程,3、中断传送方式,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序,具体过程,中断传送与接口,中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚中断除了在输入和输出方面的应用外,中断还有着非常广泛的应用,(4)DMA传送方式,希望克服程序控制传送的不足:外设CPU存储器外设CPU存储器直接存储器存取DM
16、A:外设存储器外设存储器CPU释放总线,由DMA控制器管理,DMA传送的工作过程,CPU对DMA控制器进行初始化设置 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 DMA传送DMA读存储器:存储器 外设DMA写存储器:存储器 外设 自动增减地址和计数,判断传送完成否,DMA传送流程,具体过程,传送方式的比较,无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,IN AL,21H,返回,输出OUT 4
17、3H,AL,返回,无条件传送流程,返回,查询传送流程,返回,返回,中断传送流程,DMA传送流程,DMA传送流程,返回,6.4 可编程并行接口8255A,特点:含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。,PC7PC4,PA7PA0,PC3PC0,PB7PB0,一、8255内部结构,1、数据总线缓冲器(8位三态)CPU数据命令 数据状态,2、读写控制逻辑CS芯片选通读写控制A1A0端口地址选择,3、A、B、C端口单独的驱动和锁存,4、内部控制逻辑依据控制字决定端口工作方式和状态,端口地址的区分方法地址线的区分端
18、口,AEN,A9,A8,A7,A6,A5,D7D0,A1,A0,74LS138,8255A,PA,PC,PB,定义工作方式,各口的I/O状态对PC口按位操作,1:方式 选择 控制 字,控制字特征位,0:C口按位操作控制字,特征码区分端口,A组控制,B组控制,A组方式选择,B组方式选择,I/O方向选择,I/O方向选择,A口,上C口,下C口,B口,1:入0:出,1:入0:出,00:方式0基本I/O方式A口、上C口01:方式1选通 I 或 O1:方式2双向选通IO,0:方式0基本I/OB口,下C口1:方式1选通I或O,二、8255的控制字,PA,PC7PC4,PB,例8.7:已知8255A如图连接要
19、求A口工作于方式0,作为输出,上C口输出;B口工作于方式1,作为选通输入。,PC3PC0,B口选通输入,A口工作于方式0,作为输出,上C口输出;B口工作于方式1,作为选通输入。,1,0,0,0,0,1,1,0,初始化程序为,86H,;直接寻址方式:MOV AL,86H;OUT 63H,AL;,;间接寻址方式:MOV DX,60H;MOV AL,86H;OUT DX,AL;,或,例8.9:已知8255A还如上图,要求端口C的PC7置1,将PC3置0。,0,0,0,0,1,1,1,1,PC7置1,PC3置0,0,0,0,0,0,1,1,0,0FH,06H,;直接寻址方式:MOV AL,0FH;OU
20、T 63H,AL;MOV AL,06H;OUT 63H,AL;,;间接寻址方式:MOV DX,63H;MOV AL,0FH;OUT DX,AL;MOV AL,06H;OUT DX,AL;,或,6.4.2 8255的三种工作方式及操作时序,8255A有三种工作方式,分别称为方式0,方式1和方式2。其中 A端口可以工作在三种方式中的任一种;B端口只能工作在方式0和方式1;C端口通常作为控制信号使用,配合A端口和B端口的工作。每种工作方式的具体内容如下所述。,一、方式0方式0的工作特点(1)任何一个端口可作为输入口,也可作为输出口,各端口之间没有必然的联系。(2)各个端口的输入或输出,可以有16种不
21、同的组合,所以可以适用于多种使用场合。同步传送 查询式传送。,例8.10 将开关的状态在发光二极管的显示出来,74LS078,显然PA为输入 PB为输出,1:方式选择控制字,A组方式选择,B组方式选择,A口,上C口,下C口,B口,1,0,0,1,0,0,0,0,90H,CODE SEGMENT ASSUME CS:CODESTART:MOV DX,21BH;初始化8255 MOV AL,90H OUT DX,ALLOP:MOV DX,218H;读A口开关输入 IN AL,DX NOT AL;数据取反 MOV DX,219H;输出到B口显示 OUT DX,AL MOV AH,0BH;按任意键返回
22、DOS INT 21H ADD AL,01H JNZ LOP MOV AH,4CH INT 21HCODE ENDS END START,初始化8255A,开始,A口读入数据,数据取反,B口输出显示,有键按下?,N,Y,结束,90H,二、方式1,选通输出,选通输入,A口联络信号,B口联络信号,外设,1、方式1(选通工作方式)的特点 利用一组选通控制信号控制A端口和B端口的数据输入输出。特点:A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的选通控制信号。状态信息附在PC端口上(端口状态与引脚有些不同)C口的剩余位仍可作数据位使用,其余位(2位)可工作在方式0下,作为输
23、入或输出线,用程序指定其数据传送方向。A口、B口在作为输入和输出时的选通信号不同。方式1的应用:主要用于中断控制方式下的输入或输出。,1,1,1,2、方式1(A口为例)1)输入,外设查询IBF=1等待,IBF=0则外设发STB复脉冲同时发数据,接口收完数据后将IBFA位置1IBFA线置高,STB结束后看IBFA=1则将INTRA位置1当INTE=1时将INTRA引脚置高,CPU用IN命令时取走数据,后沿后使INTRA线和位 复位,使IBFA线和位复位,0,0,方式1输入状态字,1,1,1,方式1(A口为例)2)输出,方式1输入状态字,0,0,cpu查询等待,Cpu执行OUT同时发数据,外设查立
24、即发 信号,后沿将数据取走,先使 位为1,使INTRA位为1 使 线为1当INTEA=1,使INTRA线为1,后沿使 和INTRA位和线分别为0,1,1,3、8255A的工作方式方式2(双向选通传送方式)特点:双向方式既是输入口,又是输出口。利用C口的5条线提供传输联络信号。类似于A口方式1下输入和输出的组合。工作时输入、输出都能锁存。只有A口可工作在方式2下。当A组工作在方式2时,B组可工作在方式0或方式1下。应用:可用于中断控制输入输出方式。也可用查询方式与CPU联系。当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位刚好用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位
25、只能用作方式0下的输入输出线)。,8255A的工作方式方式2(双向选通传送方式)C口的联络信号:STB#选通信号,由外设输入。=0时,将外设数据送入8255的输入锁存器。对应PC4。IBF输入锁存器满信号,由8255A输出。=1时通知外设输入的数据已写入缓冲器,此时不能送下一个数据。此信号由STB#的前沿产生。CPU用IN指令取走数据后(RD#的后沿),此信号被清除。对应PC5。,8255A的工作方式方式2(双向选通传送方式)C口的联络信号:OBF#输出缓冲器满信号,8255A输出。=0时通知外设取走数据。对应PC7。ACK#响应信号,外设输入。0时表示外设已从数据端口取走数据。此信号使OBF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 接口 中断 技术
链接地址:https://www.31ppt.com/p-6349481.html