当前位置:文档之家› 接口技术 输入输出接口概述

接口技术 输入输出接口概述

I/O接口电路 数据总线DB 数据寄存器 CPU 数据 外设 状态
1. 接口电路的内部结构 地址总线AB 2. 接口电路的外部特性 状态寄存器 3. 接口电路芯片的分类 控制总线CB 4. 接口电路的可编程性 控制寄存器
控制
7
1. 接口电路的内部结构
• CPU与外设主要有数据、状态和控制信 息需要相互交换,于是从应用角度看内 部: ⑴ 数据寄存器
16
• 8086用于寻址外设端口的地址线为16条, 端口最多为216=65536(64K)个,端口号 为0000H ~ FFFFH • 每个端口用于传送一个字节的外设数据
I/O寻址方式
• 8088/8086的端口有64K个,无需分段, 设计有两种寻址方式 直接寻址:只用于寻址00H ~ FFH前256 个端口,操作数i8表示端口号 间接寻址:可用于寻址全部64K个端口, DX寄存器的值就是端口号 • 对大于FFH的端口只能采用间接寻址方 式
11
I/O端口的编址
接口电路占用的I/O端口有两类编排形 式 理解端口 • I/O端口单独编址
– I/O地址空间独立于存储地址空间 – 如8086/8088
• I/O端口与存储器统一编址
– 它们共享一个地址空间 – 如M68000
12
I/O端口单独编址
• 优点:
– I/O端口的地址空间独立 – 控制和地址译码电路相对简单 – 专门的I/O指令使程序清晰易读
8237 8259 8253 8255
000H ~ 01FH 020H ~ 03FH 040H ~ 05FH 060H ~ 07FH
DMA页面寄存器
NMI屏蔽寄存器 保留
080H ~ 09FH
0A0H ~ 0BFH 0C0H ~ 0DFH
保留
0E0H ~ 0FFH
IBM PC/XT主机板的I/O译码电路
21
;方法4:字节输入,间接寻址 ;方法2:字量输入,间接寻址
mov dx,20h in ax,dx
OUT指令(向300H端口输出一个字节)
;唯一的方法:间接寻址,字节量输出 mov al,bvar ;bvar是字节变量 mov dx,300h out dx,al
22
I/O地址的译码
常见的I/O地址的译码(或称端口 地址选择)方法有三种: • 门电路组合法 • 译码器译码法 • 比较器比较法
单字节访问 双字节访问 单字节访问 双字节访问 单字节访问 双字节访问 单字节访问 双字节访问
20
IN指令(从20H、21H端口输入一个字)
;方法3:字节输入,直接寻址 ;方法1:字量输入,直接寻址
in ax,20h
in al,21h mov ah,al in al,20h mov dx,21h in al,dx mov ah,al dec dx in al,dx
FFFF
FFFFF
内存 空间 I/O 空间 0
• 缺点:
– I/O指令没有存储器指令丰富
80x86采用I/O端口独立编址
13
I/O端口与存储器统一编址
• 优点:
– 不需要专门的I/O指令 – I/O数据存取与存储器 数据存取一样灵活
FFFFF
内存 部分
• 缺点:
存储器空间
I/O 部分 00000
– I/O端口要占去部分存 储器地址空间 – 程序不易阅读(不易 分清访存和访问外设)
23
• 门电路组合法是最简单的一种端口地址选择方法,它采用 常见的逻辑门电路,比如与门、或门、非门等作为基本的 组合元件。 • 一般端口都是指寄存器、锁存器或缓冲器,这些器件都有 一个芯片选择信号,简称片选信号,多数是低电平有效, 当然,也有一些芯片没有片选信号,而是有使能端,或脉 冲控制端,总之是使器件产生动作的控制端。 • 端口地址选择的目的,是当地址线上出现某种信息组合时 ,在电路的输出端会产生一个有效信号(有效信号有四种 状态,即高电平、低电平、上跳沿、下降沿,具体使用哪 种状态,视所使用器件而定),该信号连到器件的控制端 ,使器件产生动作,从而完成I/O端口的读/写操作。 • 这种方法简单、直观,适合于单个端口,常用的基本门电 路有7400(2输入4与非门)、7408(2输入4与门)、7420 (4输入双与非门)、7430(8输入与非门)、7402(2输 入4或非门)、7432(2输入4或门)、7404(六反相器) 等等。
G1
Y6
Y7
IOW
27
IBM PC/AT主机板的I/O译码电路
LS138译码器 A5 A6 A7 A B C Y0* Y1* Y2* Y3* Y4* Y5* Y6* Y7* DMA控制器1 中断控制器1 定时计数器 并行接口电路 DMA页面寄存器 中断控制器2 DMA控制器2 协处理器
A8 A9 HLDA MASTER
• 工作波形图如下:
A0~A15 IOR# 译码输出 D0~D7
开关状态
地址有效
简单的输入接口举例(8位开关量输入)
+5V
接口电路图如下:
74LS244 I0 DO0 I1 I2 I3 I4 E1 E2 I5
K0 K1 K2 K3 K4 K5
D0-D7
译码器
IOR A2 A3 A4 A5 A6 A7 A8 A9 A15 A10 A11 A12 A13 A14
• 面向微机系统的专用接口芯片
– 与CPU和系统配套使用,以增强其总体功能 – 如:8259A、8237、8253等。
10
4. 接口电路的可编程性
• 许多接口电路具有多种功能和工作方 式,可以通过编程的方法选定其中一 种 • 接口需要进行物理连接,还需要编写 接口软件 • 接口软件有两类:
– 初始化程序段——设定芯片工作方式等 – 数据交换程序段——管理、控制、驱动 外设,负责外设和系统间信息交换
14
8088/8086的I/O端口
• 8088/8086只能通过输入输出指令与外 设进行数据交换;呈现给程序员的外设 是端口(Port),即I/O地址
15
端口(PORT)
一定要理解
• 端口泛指I/O地址,通常对应寄存器 • 一个接口电路可以具有多个I/O端口, 每个端口用来保存和交换不同的信息 • 数据寄存器、状态寄存器和控制寄存 器占有的I/O地址常依次被称为数据 端口、状态端口和控制端口,用于保 存数据、状态和控制信息 • 输入、输出端口可以是同一个I/O地 址
逻辑门电路进行I/O地址译码
A9 A8 A7 A6 A5 A2 A4 A3 AEN A1 A0
74LS03
3E7H
25



译码器译码法是最常用的一种方法,就 是利用译码器芯片对地址进行译码。 PC/XT微型机系统板上接口芯片的端口地 址译码采用了一个74LS138译码电路。这 些芯片也都有片选信号,74LSl38译码器 的输出与这些芯片的片选信号连接。 各接口芯片内部有多个寄存器,因而应 有多个端口地址。译码器只直接使用A9 ~A5,其余的低5位地址A4~A0未接,留 给各接口芯片自行内部译码,以便寻址 多个寄存器。显然,由于A4~A0未接到 译码器,所以每个译码器的输出端对应 25=32个端口地址,系统为每个接口芯片 预留出32个端口地址,至于每个接口芯 片用多少,则视接口芯片内部寄存器的 数目而定。 •译码器译码法可以方便地对多个地址进 行译码,适合于多个端口的电路。常用 的译码器有 74139/74155(双2线-4线译 码器)、74138(3线-8线译码器)、 74154(4线-16线译码器)。
3
I/O接口概述(续1)
什么是I/O接口(电路)? • I/O接口是位于系统与外设间、用来协助 完成数据传送和控制任务的逻辑电路 • PC机系统板的可编程接口芯片、I/O总线 槽的电路板(适配器)都是接口电路
CPU
接口 电路
I/O 设备
4
I/O接口概述(续2)
什么是微机接口技术? • 处理微机系统与外设间联系的技术 • 注意其软硬结合的特点 • 根据应用系统的需要,使用和构造相应 的接口电路,编制配套的接口程序,支 持和连接有关的设备
5
I/O接口的主要功能
⑴ 对输入输出数据进行缓冲和锁存
输出接口有锁存环节,输入接口有缓冲环节 实际的电路常用: 输出锁存缓冲环节,输入锁存缓冲环节
⑵ 对信号的形式和数据的格式进行变换
微机直接处理:数字量、开关量、脉冲量
⑶ 对I/O端口进行寻址 ⑷ 与CPU和I/O设备进行联络
6
I/O接口的典型结构
– 保存外设给CPU和CPU发往外设的数据
⑵ 状态寄存器
– 保存外设或接口电路的状态
⑶ 控制寄存器
– 保存CPU给外设或接口电路的命令
8
2. 接口电路的外部特性
• 主要体现在引脚上,分成两侧信号 面向CPU一侧的信号:
– 用于与CPU连接 – 主要是数据、地址和控制信号
面向外设一侧的信号:
– 用于与外设连接 – 提供的信号五花八门 – 功能定义、时序及有效电平等差异较大
74LS138 A5 A6 A7 A B C Y0 Y1 Y2 Y3 A8 A9 AEN Y4 Y5 DMA CS(8237) INTR CS(8259)
T/C CS(8253) PPI CS (8255)
WRTDMAPG (写DMA页面寄存器) WRTNMIREG (写NMI屏蔽寄存器)
G2B G2A输入输出接口源自述1输入输出接口(教材8.1节)
• • • • I/O接口概述 查询传送方式及其接口 中断传送方式及其接口 DMA传送方式
2
I/O接口概述
为什么需要I/O接口(电路)? • 微机的外部设备多种多样
多种外设
• 工作原理、驱动方式、信息格式、以及 工作速度方面彼此差别很大 • 它们不能与CPU直接相连 • 必须经过中间电路再与系统相连 • 这部分电路被称为I/O接口电路
相关主题