《微机原理课件L8章节》由会员分享,可在线阅读,更多相关《微机原理课件L8章节(53页珍藏版)》请在金锄头文库上搜索。
1、第8章 基本输入输出接口,教学重点 I/O接口电路的典型结构 无条件传送方式 查询传送方式,8.1 I/O接口概述,1、为什么需要I/O接口(电路)? 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与CPU直接相连 必须经过中间电路再与系统相连 这部分电路被称为I/O接口电路,多种外设,8.1 I/O接口概述(续1),2、什么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,3、I/O接口的主要功能, 解决CPU和外设之间速度不匹
2、配的问题 对输入输出数据进行缓冲和锁存 输出接口有锁存环节 输入接口有缓冲环节 注:外设经接口与总线连接,必遵循“输入要三态、输出要锁存”的原则 实现电平转换。 (3) 转换信息格式。 模数与数模转换 开关量转换 并行串行转换,(4)实现CPU与外设之间同步工作 一般采用时序控制电路使CPU和外设同步工作。接口电路接收CPU送来的命令或控制信号、定时信号,实施对外设的控制与管理,外设的工作状态和应答信号也通过接口及时返回给CPU,以握手联络信号来保证主机和外部IO操作实现同步。 (5)实现CPU对端口的选择 一个外部设备接口中通常包含若干个端口,在同一时刻,CPU只能与某一个端口交换信息。必须
3、具有译码电路进行译码选址。,4、I/O接口的典型结构,1)接口电路的内部结构 2)接口电路的外部特性 3)接口电路芯片的分类 4)接口电路的可编程性,1. 接口电路的内部结构,CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: 数据寄存器 保存外设给CPU和CPU发往外设的数据 状态寄存器 保存外设或接口电路的状态 控制寄存器 保存CPU给外设或接口电路的命令,理解端口,2. 接口电路的外部特性,主要体现在引脚上,分成两侧信号 面向CPU一侧的信号: 用于与CPU连接 主要是数据、地址和控制信号 面向外设一侧的信号: 用于与外设连接 提供的信号五花八门 功能定义、时序及
4、有效电平等差异较大,3. 接口电路芯片的分类,接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片): 通用接口芯片 支持通用的数据输入输出和控制的接口芯片 面向外设的专用接口芯片 针对某种外设设计、与该种外设接口 面向微机系统的专用接口芯片 与CPU和系统配套使用,以增强其总体功能,4. 接口电路的可编程性,许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种 接口需要进行物理连接,还需要编写接口软件 接口软件有两类: 初始化程序段设定芯片工作方式等 数据交换程序段管理、控制、驱动外设,负责外设和系统间信息交换,8.2 CPU与端口之间的接口技术,一、I/O端口的编址方
5、法 1.I/O端口的统一编址方式 2.I/O端口的独立编址方式 二、I/O端口地址译码 三、8086 CPU与端口之间的硬件接口,一、I/O端口的编址,接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O地址空间独立于存储地址空间 如8086/8088 I/O端口与存储器统一编址 它们共享一个地址空间 如M6800,1、I/O端口单独编址,优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富,80x86采用I/O端口独立编址,2、I/O端口与存储器统一编址,优点: 不需要专门的I/O指令 I/O数据存取
6、与存储器数据存取一样灵活 I/O地址空间可大可小 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访存和访问外设),3、8088/8086的输入输出指令,输入指令 IN AL, i8/DX ;字节输入 IN AX, i8/DX ;字输入 输出指令 OUT i8/DX, AL ;字节输出 OUT i8/DX,AX ;字输出,功能演示,功能演示,二、I/O地址的译码,I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点: 分为两个部分:接口的选择和端口的选择。 部分译码时,通常是中间地址线不连接 部分译码也有最低地址线不连接的情况 每个接口电路通常只占用几个I/O地址,这
7、时可以利用基本逻辑门电路进行地址译码 除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLD 为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码,给几个 译码实例,逻辑门电路进行I/O地址译码,CS,3E7H,74LS138进行I/O地址译码,三、8086 CPU与端口之间的硬件接口,1) I/O端口仅使用偶地址的接口技术。此时I/O接口电路的8位数据线与CPU数据总线的低8位相连,见图8-6。 2)仅使用8086CPU奇地址的接口技术。 3) I/O端口使用连续的地址,必须附加8位数据至16位数据的转换逻辑电路,见图8-7 。,图8
8、-6 仅使用8086CPU偶地址的接口,图8-7 使用8086CPU连续地址的接口,8.3 CPU与端口之间的数据传送方式,程序控制传送方式通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送 中断技术传送方式外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 直接存储器存取(DMA)方式传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送,一、程序控制传送方式,1. 无条件传送方式(又称同步传送方式) 无条件传送方式是假设输入接口数据已经准备好,或者输出设备是空闲的,此时CPU无需查询状态,可
9、直接用IN和OUT指令完成与接口之间的数据传送。 实质:用程序来定时同步传送数据 特点:无条件传送是最简便的传送方式, 它所需的硬件和软件都较少。 适用条件:I/O设备定时为已知的、或在固定时间内要执行I/O操作的外设。,传送流程,接口实例,无条件传送:输入示例,MOV DX, 160H IN AL, DX,无条件传送:输入实例,MOV DX, 160H IN AL, DX,无条件传送:输出示例,MOV DX, 160H MOV AL, BX OUT DX, AL,无条件传送:输出实例,MOV DX, 160H MOV AL, BX OUT DX, AL,例:一个采用同步传送的数据采集系统如图
10、8.7所示,图8.7 无条件输入的数据采集系统接口框图,为16位精度的数据采集系统,被采集的数据是8个模拟量,由继电器绕组P0P7分别控制触点K0K7逐个接通,每次采样用一个4位(每位为一个十进制数)数字电压表测量,把被采样的模拟量转换成16位BCD代码,高8位和低8位通过两个不同的端口(地址分别为10H、11H)输入,CPU通过端口20H输出控制信号,以控制某个继电器的吸合,实现采集不同通道的模拟量。,采集过程要求: 1)先断开所有的继电器线圈及锄点,不采集数据。 2)延迟一段时间后,使K0闭合,采集第一个通道的模拟量,并保持一段时间,以使数字电压表将模拟电压转换为16位BCD码。 3)分别
11、将高8位和低8位BCD码存入内存,完成第一个模拟量的输入和转存。 4)利用移位与循环实现8个模拟量的依次采集、输入与转存。,数据采集程序: START: MOV DX,0100H ;01HDH,置吸合第一个继电器代码 ;00HDL,置断开所有继电器代码 LEA BX,DSTDR ;置输入数据缓冲区的地址指针 XOR AL,AL ;清AL及进位标志CF AGAIN: MOV AL,DL OUT 20H,AL ;断开所有继电器线圈 CALL DELAY1 ;模拟继电器触点的释放时间 MOV AL,DH OUT 20H,AL ;先使K0吸合 CALL DELAY2 ;模拟触点闭合及数字电压表的转换时
12、间 IN AX,10H ;输入16位BCD码 MOV BX,AX ;存入内存 INC BX INC BX RCL DH,1 ;DH左移1位,为下一个触电吸合作准备 JNC AGAIN ;8位都输入结束?没有,则循环 DONE: ;输入结束,则执行别的程序段,查询传送的两个环节, 查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 传送环节 寻址数据口 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据,传送流程,接口实例,1 查询输入接口,mov dx, 8000h ;DX指向状态端口 status: in al, dx ;读状态端口 tes
13、t al, 01h ;测试标志位D0 jz status ;D00,未就绪,继续查询 inc dx ;D01,就绪,DX指向数据端口 in al, dx ;从数据端口输入数据,2 查询输出接口,例:设某接口的状态端口地址为8000h,状态位从D7位输入,数据端口的地址为8001h,输出数据的总字节数为OUTCOUNT,试编制查询式输出数据的程序段。 解: 设输出数据段在内存单元的首地址为BUFF mov si,buff ;设置缓冲区地址指针SI mov cx,OUTCOUNT ;设置总字节数 Out1: mov dx, 8000h ;DX指向状态端口 status: in al, dx ;读取
14、状态端口的状态数据 test al, 80h ;测试标志位D7 jnz status ;D71,未就绪,继续查询 inc dx ;D70,就绪,DX指向数据端口 mov al, si ;变量buf送AL out dx, al ;将数据输出给数据端口 inc si ;修改地址指针 loop out1 ;未传送完,继续传送,二 中断传送方式,传送流程,1)中断方式: 当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。 2)优点: (1)提高了CPU的利用率 (2)外设处于主动地位,实时性好。 3) 缺点: (1)为能接收中断的请求信号,CPU内部要有一些线
15、路来控制; (2)每响应中断一次,都要保护现场、恢复现场,浪费了不必要的CPU时间; (3)适于传送少量的输入输出数据。,注意:,中断传送是一种效率更高的程序传送方式 进行传送的中断服务程序是预先设计好的 中断请求是外设随机向CPU提出的 CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚,三 DMA传送方式,希望克服程序控制传送的不足: 外设CPU存储器 外设CPU存储器 直接存储器存取DMA: 外设存储器 外设存储器 CPU释放总线,由DMA控制器管理,DMA传送的工作过程, CPU对DMA控制器进行初始化设置 外设、DMAC和CPU三者通过应答信号建立联
16、系:CPU将总线交给DMAC控制 DMA传送 DMA读存储器:存储器 外设 DMA写存储器:存储器 外设 自动增减地址和计数,判断传送完成否,传送流程,DMA控制器与系统的连接,D M A 传 送 流 程,四、传送方式的比较,无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,第6章 教学要求,1. 了解I/O接口电路的主要功能、内部和外部特点、端口编址方法、I/O地址译码特点 2. 掌握输入输出指令 3. 掌握无条件、查询传送方式 4. 理解中断传送的工作过程 5. 理解DMA传送的工作过程 习题6(第165页) 6.2 6.4 6