660 likes | 804 Views
6. 输入输出技术. 6.1 输入 / 输出接口概述. 内容简介. 6.2 中断系统. 6.3 并行接口. 6.4 串行接口. 重点 / 难点. 6.5 DMA 控制技术. 6.6 定时器 / 计数器. 习题解答. 6.7 A/D 及 D/A 接口. Home. 6. 输入输出技术. 内容简介.
E N D
6.输入输出技术 6.1 输入/输出接口概述 内容简介 6.2 中断系统 6.3 并行接口 6.4 串行接口 重点/难点 6.5 DMA控制技术 6.6 定时器/计数器 习题解答 6.7 A/D及D/A接口 Home
6.输入输出技术 内容简介 本章主要介绍微机系统中的输入输出接口技术,通过学习,掌握接口的概念和功能,微处理器与I/O设备之间数据传输的3种控制方式,特别是要深刻理解中断和DMA的基本概念,熟练掌握编程和使用中断控制器与DMA控制的有关技术,掌握它们与CPU和外设连接的设计方法。在理解I/O接口原理的基础上,进一步学习并行接口、串行接口、定时器和模数、数模接口,了解它们的结构特点,理解其编程方法以及如何将接口和微处理器和外设进行连接,从而掌握系统扩充I/O通道的基本方法和规律。 Home
6.输入输出技术 重点与难点 • I/O接口的概念、功能和一般结构 • 微处理器与I/O设备之间数据传输的控制方式 • 中断的基本概念,包括中断分类、中断向量、中断处理过程、中断优先级及中断嵌套的概念和实现方案。掌握8259A的使用方法。 • DMA的基本概念,包括DMA的传送条件、传送过程、DMA系统总线缓冲器的控制和驱动。DMA控制器8237的编程以及和CPU的连接。 • 并行接口、串行接口、定时器和模数、数模接口的结构、原理和编程连接方法。 Home
1 数据输入寄存器 (or 三态门) 译码 电路 数据线 AB 数据输出寄存器 (锁存器) 接主机 接外设 DB 状态线 状态寄存器 (or 三态门) 控制 逻辑 CB 控制线 命令寄存器 输入/输出接口 6.1 输入/输出接口概述 1.输入/输出接口电路 Next Home
2 2.CPU与外设数据传送的方式 一、程序控制的输入输出 1. 无条件传送方式 • 适用范围 • 外设总是处于“准备好”状态 • 实现方法 • 适当位置直接安排IN/OUT指令 • 优点:软件及接口硬件简单 • 缺点:只适用于简单外设,适应范围较窄 Back Next Home
3 2.CPU与外设数据传送的方式 2. 查询传送方式 • 适用范围 • 外设并不总是准备好,而且对传送速率、传送效率要求不高的场合 • 实现方法 • CPU在与外设交换数据前必须询问外设状态——“你准备好没有?” • 优点:软件比较简单 • 缺点: CPU效率低,数据传送的实时性差, 速度较慢 Back Next Home
4 防止死循环 超时? Y N 读入并测试外设状态 超时错 N READY? Y 与外设进 行数据交换 复位计时器 N 传送完? Y 2.CPU与外设数据传送的方式 查询传送方式的流程图 Back Next Home
5 2.CPU与外设数据传送的方式 二、中断传送方式 • 适用范围 • 外设有主动申请CPU服务的权利 • 实现方法 • CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据 • 优点: CPU效率高,实时性好,速度快 • 缺点:程序编制较为复杂 Back Next Home
6 2.CPU与外设数据传送的方式 三、DMA工作方式 • 适用范围 • 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者 • 实现方法 • 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供 • 优点:很高的传输速率(可达几MB/秒) • 缺点:CPU必须让出这些总线的控制权 Back Next Home
7 2.CPU与外设数据传送的方式 四、I/O处理机方式 • 适用范围 • CPU进一步摆脱I/O数据传送的负担 • 实现方法 • 采用专门的I/O协处理器,它不仅能控制数据的传送,而且,还可以执行算术逻辑运算、转移、搜索和转换等 • 优点:所有的I/O操作都是以块为单位来进行的 Back Next Home
8 3.I/O接口的编址方式 • I/O端口 I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。 • 不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号——称为端口地址(或端口号)。 • 端口有两种编址方式:统一编址和独立编址。 Back Next Home
9 地址空间(共1MB) 0 内存地址 (960KB) EFFFFH F0000H I/O地址 (64KB) FFFFFH 3.I/O接口的编址方式 一、统一编址方式 • 编址方法 • 把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。 • 优点 指令统一,灵活;访问控制信号统一,使用同一组的地址/控制信号。 • 缺点 内存可用地址空间减小 Back Next Home
9 内存地址空间 00000H 内存空间 (1MB) FFFFFH I/O地址空间 0000H I/O空间 (64KB) FFFFH 3.I/O接口的编址方式 二、独立编址方式 • 编址方法 • 外设地址空间和内存地址空间相互独立。 • 优点 内存地址空间不受I/O编址的影响 • 缺点 I/O指令功能较弱,使用不同的读写控制信号 Back Next Home
6.1 输入/输出接口概述 • 本 节 小 结 • 通过本节的学习: • 掌握输入/输出接口电路的基本概念,了解接口的用途。 • 掌握输入/输出端口的编址方式和特点。 • 熟悉CPU与外设之间传输数据的几种控制方式的优缺点、适用场合。 Home Back
1 6.2 中断系统 1.中断的基本概念 (1) 中断 (2)中断源——能引起中断的外部设备或内部原因 • 常见的中断源: • 一般的输入/输出设备 • 实时时钟 • 故障源 • 软件中断 Next Home
2 6.2 中断系统 2.8086/8088的中断类型 Back Next Home
3 3.中断优先权 软件查询方式 Back Next Home
4 外设1 外设2 外设3 CPU INTA INTR 外设接口1 外设接口2 外设接口3 IREQ IREQ IREQ 中断确认 中断确认 中断确认 菊花链 逻辑电路 菊花链 逻辑电路 菊花链 逻辑电路 INTAin INTAin INTAin ≥1 ┇ 3.中断优先权 硬件优先权排队电路 Back Next Home
5 4. 中断管理 8086CPU可管理256种中断。每种中断都指定一个中断矢量号,每一种中断矢量号都与一个中断服务程序相对应。 • 中断向量 把各个中断服务子程序的入口都称为一个中断向量 。 • 中断向量表 将这些中断向量按一定的规律排列成一个表,就是所谓的中断向量表 。 Back Next Home
6 4. 中断管理 Back Next Home
7 5.中断处理过程 五个步骤: • 中断请求 • 中断判优(有时还要进行中断源识别) • 中断响应 • 中断服务 • 中断返回 Back Next Home
8 5.中断处理过程 • 中断处理子程序的结构模式: • 保护CPU各寄存器的值 • 用指令设置中断允许标志IF来开放中断 • 中断处理子程序的主要部分 • 恢复各寄存器在进入中断处理时的值 • 使堆栈中保存的断点值和标志值分别装入IP、CS和标志寄存器 Back Next Home
6.2 中断系统 • 本 节 小 结 • 通过本节的学习: • 掌握有关中断的基本概念:中断、中断源等。 • 掌握8086中断系统中的中断源分类,熟悉各种中断的特点。 • 掌握中断向量的概念。 • 熟悉中断的处理过程。 Home Back
1 6.3 并行接口 1. 并行通信与并行接口 • 并行通信,是把一个字符的各位同时用几根线进行传输。传输速度快,信息率高,需要的电缆多。随着传输距离的增加,电缆的开销会成为突出的问题,所以并行通信用在传输速率要求较高,而传输距离较短的场合。 • 并行接口, 是指采用并行传输方式来传输数据的接口标准。可以做输入或输出使用。 Next Home
2 并行接口 数据输入准备好 数据总线 输入设备 数据输入回答 控制寄存器 数据输入 读出信号 输入缓冲寄存器 写入信号 复位 输出缓冲寄存器 CPU 准备好 中断请求 状态寄存器 数据输出 地址 地址 片选 输出设备 译码 数据输出准备好 数据输出回答 A 0 A 1 6.3 并行接口 典型的并行接口和外设连接 Back Next Home
3 可编程并行通信接口芯片8255A 8255A芯片内部结构及其功能 Back Next Home
4 8255 DB A口 D0~D7 D0~D7 IOW WR 系统总线 IOR RD C口 外 设 A1 A1 A0 A0 B口 译码器 CS A15~A2 可编程并行通信接口芯片8255A 8255与系统的连接示意图 Back Next Home
5 1 D D D D D D D 6 5 4 3 2 1 0 1:端口C(PC -PC )输入 3 0 0:端口C(PC -PC )输出 3 0 1:端口B输入 方式控制字标识位 0:端口B输出 1:端口B方式1 0:端口B方式0 1:端口C(PC -PC )输入 7 4 0:端口C(PC -PC )输出 7 4 1:端口A输入 0:端口A输出 00:端口A方式0 01:端口A方式1 1X:端口A方式2 可编程并行通信接口芯片8255A 8255A芯片的控制字 Back Next Home
6 8 数据 数据总线 三态缓冲器 8 地址译码器 地址总线 来自外设 & IO/ M RD 8255A的工作方式 工作方式0――简单输入/输出――查询方式;A,B,C三个端口均可。 方式0输入(IN AL,PORT) 框图 Back Next Home
7 8 数据总线 锁存器 8 地址译码器 地址总线 到外设 CE & IO/ M WR 8255A的工作方式 方式0输出(OUT PORT,AL) 框图 Back Next Home
8 A口方式1输出控制字 B口方式1输出控制字 1 0 1 0 D7~D0 D7~D0 1 1 0 PA7~PA0 PB7~PB0 INTEA PC6 INTEB PC2 PC6 PC2 ACKB ACKA PC7 PC1 OBFB OBFA 与门 与门 PC3 PC0 WR INTRB INTRA WR 8255A的工作方式 工作方式1――选通输入/输出――中断方式;A ,B,两个端口均可。 Back Next Home
9 A口方式1输入控制字 B口方式1输入控制字 1 0 1 1 D7~D0 1 1 1 D7~D0 PA7~PA0 PB7~PB0 INTEA PC4 INTEB PC2 PC4 PC2 STBA STBB PC5 PC1 IBFA IBFB 与门 与门 PC3 INTRA PC0 RD INTRB RD A口方式1输入时 B口方式1输入时 相应的联络信号 相应的联络信号 8255A的工作方式 方式1下输入端口的联络信号 Back Next Home
8 D7~D0 PA7~PA0 INTEA1 PC4 与 门 STBA RD IBFA PC4 INTEA2 PC6 与 门 PC5 ACKA OBFA PC6 PC3 INTRA 或门 PC7 WR 8255A的工作方式 工作方式2――双向输入/输出――中断方式。只有A端口才有。 Back Next Home
6.3 并行接口 • 本 节 小 结 • 通过本节的学习: • 掌握并行接口的概念、并行接口的特点和功能。 • 了解并行接口芯片8255A的结构、并行接口的工作方式,能利用并行接口芯片编程。 Home Back
1 6.4 串行接口 1. 串行通信与串行接口 • 串行通信,串行通信指的是数据一位一位地依次传输,每一位数据占据一个固定的时间长度。 • 串行接口, 是指采用串行传输方式来传输数据的接口标准。 Next Home
2 发送器 接收器 发送器/接收器 发送器/接收器 发送器/接收器 发送器/接收器 B站 A站 6.4 串行接口 串行通信线路有如下三种方式 • 单工通信 • 半双工通信 • 全双工通信 Back Next Home
3 5-8位数据 空闲位 1 2 3 4 5 6 7 8 1 停止位 起始位 串行通信数据的收发方式 1. 异步通信方式 Back Next Home
4 串行通信数据的收发方式 2. 同步通信方式 ①面向比特(bit)型规程 ② 面向字符型规程 Back Next Home
5 D -D 数据总线 发送 并 串 7 0 TxD 缓冲器 缓冲器 转换 发 送 器 TxRDY RESET 发送控制电路 TxEMPTY CLK 内 部 总 线 读/写 TxC C/D 控制逻辑电路 RD 接收 串 并 WR RxD 接 收 器 缓冲器 转换 CS DSR RxRDY 调制/解调 DTR 接收控制电路 RxC CTS 控制电路 SYNDET/BRKDET RTS 可编程串行通信接口芯片8251A 8251A芯片内部结构及其功能 Back Next Home
6 状态 数据 4) 1) 4) 2) INT LSR THR 并行数据 2) 串行数据输出 TSR LCR 3) 8251A的工作过程 8251A芯片发送数据过程 1)CPU(数据)→8251的THR ; 2)TSR移空时,THR → TSR,LSR中“数据发送保持寄存器空” 状态位置位 ; 3)TSR根据LCR中规定的格式从低到高逐位发送数据 ; 4)LSR中“数据发送保持寄存器空” 状态位可用来产生中断,也可查询该状态位,以实现数据的连续发送。 Back Next Home
7 状态 数据 4) 3) INT LSR RBR 并行数据 2) 串行数据输入 RSR LCR 1) 8251A的工作过程 8251A芯片接收数据过程 1)SIN引脚→RSR; 2)RSR根据LSR中规定的数据位数确定是否收到了一个完整的数据,收到后将数据→RBR; 3)RBR收到RSR的数据后,将LSR寄存器中“接收缓冲寄存器满”的状态位置位; 4)LSR中“接收缓冲寄存器满”状态位可用来产生中断,也可查询该状态位,以实现数据的连续接收。 Back Next Home
6.4 串行接口 • 本 节 小 结 • 通过本节的学习: • 掌握串行接口的概念、串行接口的特点和功能。 • 掌握串行通信线路的三种方式的特点。 • 熟悉可编程串行接口芯片8251A的内部结构、外部引脚功能。 • 掌握8251A的编程应用。 Home Back
1 6.5 DMA控制技术 1. DMA控制器 DMA 控制器可以象CPU那样得到总线控制权,用DMA方式实现外部设备和存储器之间的数据高速传输。 一个DMA控制器通常可以连接一个或几个输入/输出接口,每个接口通过一组连线和DMA控制器相连。 将DMA控制器中和某个接口有联系的部分为一个通道。而一个DMA控制器一般由几个通道组成。 Next Home
2 6.5 DMA控制技术 DMA方式,外设向內存传输数据的过程 • 外设准备好数据后向DMAC发出DMA传送请求信号; • DMAC经过处理后,由总线仲裁机构裁决,使CPU出让总线控制权,并向DMAC发出总线响应信号; • DMAC接到响应信号后,成为总线的主控者; • DMAC向外设发出DMA应答信号,开始DMA传送; • DMA传送结束,DMAC向外设发出EOP信号,并撤消对CPU的总线请求,交回系统总线的管理和控制权。 Back Next Home
3 数据总线 通道0地址 DRQ 0 D -D 7 0 缓冲器 及计数 DACK 0 I/OR I/OW CLK 读/写逻 通道1地址 DRQ 1 RESET A 0 辑部件 及计数 DACK 1 A 1 A 2 A 3 CS DRQ 2 通道2地址 A 4 控制逻辑 DACK 2 A 及计数 5 A 6 工作方式 A 7 READY 寄存器及 HRQ DRQ 3 HLDA 通道3地址 状态 MEMR DACK 3 MEMW 及计数 寄存器 AEN ADSTB TC 优先选择逻辑 内部总线 MARK 可编程DMA控制器8237 8237芯片内部结构及其功能 Back Next Home
4 D D D D D D D D 7 6 5 4 3 2 1 0 AL TCS EW RP EN EN EN EN 3 2 1 0 1:通道0起动位 1:通道1起动位 自动转入位 TC停止位 1:通道2起动位 1:通道3起动位 1:优先权旋转位 1:写扩展位 可编程DMA控制器8237 工作方式寄存器 Back Next Home
5 D D D D D D D D 7 6 5 4 3 2 1 0 UP TC TC TC TC 3 2 1 0 修改标志位 1:通道0到达终点计数状态 1:通道1到达终点计数状态 1:通道2到达终点计数状态 1:通道3到达终点计数状态 可编程DMA控制器8237 状态寄存器 Back Next Home
6.5 DMA控制技术 • 本 节 小 结 • 通过本节的学习: • 掌握DMA控制技术的特点。 • 掌握DMA方式传输数据的基本过程。 • 熟悉可编程DMA控制器8237的内部结构、外部引脚功能。 • 掌握8237的编程方法。 Home Back
1 6.6 定时器/计数器 定时的本质是计数,将若干片小的时间单元累加起来,就获得一段时间。 实现定时的方法: • 软件方法:用一段程序实现延时 • 利用程序循环延迟指定的时间 • 缺点:CPU占用率高,延时精度低,兼容差 • 硬件方法:定时/计数器电路 • 利用脉冲计数在设定的时间输出定时信号 ● 8253是一种硬件定时/计数器芯片 Next Home
2 CLK0 GATE0 OUT0 DB D7-D0 通道0 A1 A0 A1 CLK1 GATE1 OUT1 A0 通道1 WR IOW IOR 片选信号 RD CLK1 GATE1 OUT1 CS 通道2 8253 可编程定时/计数器芯片8253 8253芯片外部引线 Back Next Home