第 6 章

51
6 6

description

第 6 章. 第 6 章 输入输出和接口技术. 教学重点 接口与接口控制原理 I/O 端口地址的译码方法 数字通道接口及其应用 模拟通道接口. 6.1 接口基本概念. 为什么需要 I/O 接口(电路)? 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与 CPU 直接相连 必须经过中间电路再与系统相连 这部分电路被称为 I/O 接口电路. 多种外设. CPU. 接口 电路. I/O 设备. 6.1 接口基本概念 (续 1 ). 什么是 I/O 接口(电路)? - PowerPoint PPT Presentation

Transcript of 第 6 章

Page 1: 第  6  章

第 第 6 6 章章

Page 2: 第  6  章

第 6 章 输入输出和接口技术教学重点 接口与接口控制原理 I/O 端口地址的译码方法 数字通道接口及其应用 模拟通道接口

Page 3: 第  6  章

6.1 接口基本概念

为什么需要 I/O 接口(电路)? 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及

工作速度方面彼此差别很大 它们不能与 CPU 直接相连 必须经过中间电路再与系统相连 这部分电路被称为 I/O 接口电路

多种外设

Page 4: 第  6  章

6.1 接口基本概念(续 1 )

什么是 I/O 接口(电路)? I/O 接口是位于系统与外设间、用来协助

完成数据传送和控制任务的逻辑电路 PC 机系统板的可编程接口芯片、 I/O 总

线槽的电路板(适配器)都是接口电路

CPUCPUCPUCPU 接口接口电路电路

I/OI/O

设备设备

Page 5: 第  6  章

6.1.2 I/O 接口的典型结构

控制总线 CB

地址总线 AB

I/O 接口电路

数据

控制

状态

数据总线 DB

CPU 外设

控制寄存器

状态寄存器

数据寄存器

1. 接口电路的内部结构2. 接口电路的外部特性3. 接口电路芯片的分类4. 接口电路的可编程性

1. 接口电路的内部结构2. 接口电路的外部特性3. 接口电路芯片的分类4. 接口电路的可编程性

Page 6: 第  6  章

1. 接口电路的内部结构

CPU 与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:

⑴ 数据寄存器 保存外设给 CPU 和 CPU 发往外设的数据

⑵ 状态寄存器 保存外设或接口电路的状态

⑶ 控制寄存器 保存 CPU 给外设或接口电路的命令

理解端口

Page 7: 第  6  章

2. 接口电路的外部特性

主要体现在引脚上,分成两侧信号面向 CPU 一侧的信号:

用于与 CPU 连接 主要是数据、地址和控制信号

面向外设一侧的信号: 用于与外设连接 提供的信号五花八门 功能定义、时序及有效电平等差异较大

Page 8: 第  6  章

3. 接口电路芯片的分类

接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):

通用接口芯片 支持通用的数据输入输出和控制的接口芯片

面向外设的专用接口芯片 针对某种外设设计、与该种外设接口

面向微机系统的专用接口芯片 与 CPU 和系统配套使用,以增强其总体功能

Page 9: 第  6  章

4. 接口电路的可编程性

许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种

接口需要进行物理连接,还需要编写接口软件

接口软件有两类: 初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,

负责外设和系统间信息交换

Page 10: 第  6  章

6.1.3 接口控制原理

1. I/O 数据的传送方式 并行

一个数据单位 ( 通常为字节 ) 的各位同时传送 速度快、距离短、成本高 例: PC 机的并行接口 ( 通常用于连接打印机 )

串行 数据按位进行传送 速度慢、距离远、成本低 例: PC 机的串行接口 ( 通常用于串行通信 )

Page 11: 第  6  章

串行通信

串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传送的方式

串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本

串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送

PC 系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送

Page 12: 第  6  章

异步串行通信

串行通信时的数据、控制和状态信息都使用同一根信号线传送

收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题

串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议

Page 13: 第  6  章

起止式异步通信协议

起始位——每个字符开始传送的标志,起始位采用逻辑 0 电平

起始位 校验位停止位 空闲位数据位

低位 高位

字符

0/1 0/1 0/10/1 101 1 1…

数据位——数据位紧跟着起始位传送。由 5~ 8 个二进制位组成,低位先传送校验位——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位停止位——表示该字符传送结束。停止位采用逻辑 1 电平,可选择 1 、 1.5 或 2位

空闲位——传送字符之间的逻辑 1 电平,表示没有进行传送

Page 14: 第  6  章

数据传输速率

数据传输速率也称比特率( Bit Rate ) 每秒传输的二进制位数 bps 字符中每个二进制位持续的时间长度都一样,为数据

传输速率的倒数 当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率( Baud Rate )

过去,串行异步通信的数据传输速率限制在 50 bps到 9600 bps之间。现在,可以达到 115200 bps 或更高

Page 15: 第  6  章

2. 数据传送方式

查询方式——通过 CPU执行程序中的 I/O指令来完成传送,又分为:无条件传送、查询传送

中断方式--外设要与 CPU 传送数据时,向 CPU 发送请求, CPU响应后再传送数据

直接存储器存取( DMA )——传送请求由外设向 DMA 控制器( DMAC )提出,后者向 CPU申请总线,最后 DMAC利用系统总线来完成外设和存储器间的数据传送

I/O处理机—— CPU委托专门的 I/O处理机来管理外设,完成传送和相应的数据处理

Page 16: 第  6  章

( 1 )无条件传送方式及其接口

在 CPU 与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送

适合于简单设备,如 LED 数码管、按键或按纽等

无条件传送的接口和操作均十分简单 这种传送有前提:外设必须随时就绪

Page 17: 第  6  章

( 2 )查询传送方式及其接口

CPU 需要选了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出

对多个外设的情况,则 CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换

查询传送的特点是:工作可靠,适用面宽,但传送效率低

就绪?

Page 18: 第  6  章

查询传送的两个环节

⑴ 查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪⑵ 传送环节 寻址数据口 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据

输入状态

就绪?就绪?

数据交换Y

N

传送流程

Page 19: 第  6  章

( 3 ) 中断传送方式

断点

主程序

中断服务程序

中断请求对外设

进行处理

继续执行 返回断点

CPU 在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序

CPU 在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序

传送流程

Page 20: 第  6  章

中断传送与接口

中断传送是一种效率更高的程序传送方式 进行传送的中断服务程序是预先设计好的 中断请求是外设随机向 CPU 提出的 CPU 对请求的检测是有规律的:一般是在每

条指令的最后一个时钟周期采样中断请求输入引脚

中断除了在输入和输出方面的应用外,中断还有着非常广泛的应用

Page 21: 第  6  章

( 4 ) DMA 传送方式

希望克服程序控制传送的不足:外设→ CPU→ 存储器外设← CPU← 存储器

直接存储器存取 DMA :外设→存储器外设←存储器

CPU释放总线,由 DMA 控制器管理

Page 22: 第  6  章

DMA 传送的工作过程

⑴ CPU 对 DMA 控制器进行初始化设置⑵ 外设、 DMAC 和 CPU三者通过应答信

号建立联系: CPU 将总线交给 DMAC控制 ⑶ DMA 传送 DMA读存储器:存储器 → 外设 DMA 写存储器:存储器 ← 外设

⑷ 自动增减地址和计数,判断传送完成否

传送流程

Page 23: 第  6  章

DMA 传送流程

HLDA

发存储器地址

传送数据

传送结束?

DMA 结束

修改地址指针

Page 24: 第  6  章

传送方式的比较

无条件传送:慢速外设需与 CPU 保持同步

查询传送: 简单实用,效率较低 中断传送:外设主动,可与 CPU 并行工

作,但每次传送需要大量额外时间开销 DMA传送: DMAC 控制,外设直接和存储器进行数据传送,适合大量、快速数据传送

Page 25: 第  6  章

6.1.4 接口控制信号

两类:总线控制信号、输入输出控制信号

总线控制信号:数据线、地址线、 IOW*、 IOR*等

输入输出控制信号:数据线、输入输出应答信号等

现代微机系统都是采用总线接口方式

Page 26: 第  6  章

6.2 I/O 指令和 I/O 地址译码

微处理器进行 I/O操作时完成两种选择:片选、字选;

两种 I/O 接口结构:标准的 I/O 接口、存储器映射 I/O 结构。

Page 27: 第  6  章

6.2.1 I/O 端口的编址

接口电路占用的 I/O 端口有两类编排形式 I/O 端口单独编址(标准的 I/O 接口)

I/O 地址空间独立于存储地址空间 如8086/8088

I/O 端口与存储器统一编址(存储器映射 I/O结构) 它们共享一个地址空间 如M6800

Page 28: 第  6  章

1. I/O 端口单独编址

优点: I/O 端口的地址空间独立 控制和地址译码电路相对简单 专门的 I/O指令使程序清晰易读

缺点: I/O指令没有存储器指令丰富

内存空间

I/O空间

FFFFF

0

FFFF

80x86采用 I/O 端口独立编址80x86采用 I/O 端口独立编址

Page 29: 第  6  章

2. I/O 端口与存储器统一编址

优点: 不需要专门的 I/O指令 I/O 数据存取与存储器数

据存取一样灵活 缺点:

I/O 端口要占去部分存储器地址空间

程序不易阅读(不易分清访存和访问外设)

内存部分

I/O部分

存储器空间

00000

FFFFF

Page 30: 第  6  章

6.2.2 8088/8086 的输入输出指令

输入指令IN AL,i8 ; 字节输入IN AX,DX ; 字输入

输出指令OUT i8,AL ; 字节输出OUT DX,AX ; 字输出

功能演示

功能演示

Page 31: 第  6  章

I/O指令与接口实现 执行 CPU指令:MOV DX, 42H OUT DX, 8AH 控制总线: IOW有效、 IOR无效、MEMR/MEMW无效、 AEN无效。 地址总线:将 42H写入 A9~ A0。 译 码 器:根据 DX高位译码, Y2 有效,其他 Yx无效。 接口芯片: 8253工作,其他接口芯片不工作。 接口电路: 8253对应接口电路应答选中信号, 8253根据 DX低位选择相应的寄存器。 8253: 接受数据总线 (D7~ D0) 数据 (8AH) ,写入所选寄存器。

Page 32: 第  6  章

6.2.3 I/O 地址的译码

因为对 I /O 端口的寻址与存贮器寻址相似,即必须进行片选和字选。所以其译码方法也相似。通常采用两级译码方法,译码地址的高位作为片选,以选择某一组(某一片 I /O )。低位组地址直接接到 I /O 接口芯片的地址输入端,以选择片内寄存器(即具体端口)或低位再译码,以选择多个寄存器。

PC 机的 I /O 端口地址译码只用低 10位地址( A0~A9)。 210 = 1024 个口地址,而实际上并未配上 1K个外设端口,所以常采用部分译码法对 10位地址的高位译码作为片选信号,片内对低位地址译码以选择具体寄存器端口。

Page 33: 第  6  章

1. 直接地址译码

Page 34: 第  6  章

IBM PC/AT 主机板的 I/O 译码电路

DMA 控制器 1 ( 00H~1FH )中断控制器 1 ( 20H~3FH )定时计数器( 40H~5FH )并行接口电路( 60H~7FH )DMA页面寄存器( 80H~9FH)中断控制器 2 ( A0H~BFH )DMA 控制器 2 ( C0H~DFH)协处理器( E0H~FFH )

AEN

接口芯片内部译码A0~ A4

A5

A6

A7

A8

A9

ALS138 译码器ABC

G2A

G2B

G1

Y0Y1Y2Y3Y4Y5Y6Y7

Page 35: 第  6  章

Page 36: 第  6  章

IBM PC/AT 主机板的 I/O 译码( 续 )

* 所有 I /O 译码必须有 AEN ( Address Enable 地址允许)

参与译码,此信号用来隔离处理器,其他装置与 I /O通道,而使 DMA 传送得以进行。即 AEN=1 , DMA 控制三总线,进行 DMA 传送。

在此 AEN=1 ,即 AEN=0开启 I /O 系统,并非 DMA周期。

* 部分译码,如 y0DMA 的 CS , 地址 000~01FH ,而A3~A0 DMA 的 A3~A0 端片内译码,而 A4 并未参与译码,所以地址有重叠。

Page 37: 第  6  章

以上都是直接利用低位 AB线参与再次译码直接地址译码;实际应用中,当端口地址不够用时,可利用低位 DB线参与再次译码间接端口地址译码;以选择多个 I/O 端口地址,如下面图 所示 。

这种电路可节省系统地址空间,但必须把地址作为 DB输出寄存,所以多使用一条 OUT 指令输出 DB 做地址。即由 D1 、 D0 及 IOR、 IOW译码 8个 I /O 端口。

Page 38: 第  6  章

2. 间接地址译码

Page 39: 第  6  章

6.3 IBM PC 的输入/输出系统

主机和外设交换数据即输入 / 输出;利用 DOS系统功能 INT 21H,和 BIOS功能调用,可实现对各种标准外设的 输入 / 输出。此时,可不考虑输入 / 输出设备的 特性,也不必了解数据的 传送方式,只要按子程序的约定方法调用标准子程序即可。但实际应用上往往不全是标准的 接口设备,而是自行设计接口。此时则利用 I/O指令实现输入 / 输出操作,则应了解内部细节,内部结构。

Page 40: 第  6  章

PC 系统结构可描述为:

• PC 机的输入 / 输出能力强,主要表现在其输入 / 输出的地址空间的分配和 I/O 通道的 设计上。

•总线接口——即时序中的 CPU系统,地址锁存器 373,双向数据收发器 245,总线控制器 8288,产生系统三总线。•I/O 通道(扩展槽)——外设和主机连接的通道,每个槽均为 62个插脚的插座,本质就是提供了系统总线—— PC总线。用户开发接口,就是利用该总线。

Page 41: 第  6  章

本来 8088的 AB的低 16 位都可作为 I/O 端口地址, 216 = 64K个端口地址,但实际上PC 设计中仅使用 A9-A0低 10位 AB作为 I/O端口地址 , 210= 1024个端口地址,即 0~ 3FFH,但实际上 PC 系统已占用大部分地址,用户自己开发接口时,一定要避口已用地址,以免发生地址冲突。

1.系统 I/O 端口地址分配

Page 42: 第  6  章

大致:000 ~ 1FFH( A9=0) 512口地址为

系统板占用。 (包括 8237DMA控制器,8259中断控制器, 8253定时 / 计数器,8258并行接口)。200 ~ 3FFH( A9=1 ) 512个口地址

为 I/O扩展槽占用。 自行开发接口在此部分寻找空闲地址。

∴ 设计前应了解系统 I/O 端口分配。详细分配查手册。具体机器有些区别。

Page 43: 第  6  章

2. 系统总线 PC 机有极强的扩充能力,主要表现在其系统总线的设

计上。系统总线是把微机各部分连接起来的公共通道。系统总线的性能直线关系到计算机的总体性能,系统总线也随着 CPU 的不断升级发展也在不断更新和发展。

IBM PC 机的 I/ O扩展槽的 62个信号线,本质上就是系统总线 PC 总线,后修改为 80286 微机的系统总线,即 PC AT总线,后定名为( 16 位) ISA总线,后继续发展为 80386/ 80486 的系统总线 EISA总线( 32位 ISA总线)。

ISA总线,结构简单,成本低,价格便宜,主要用于低速外设。随着高速外设的发展, 92年都推出了 PCI 总线外部设备互连局部总线,它是介于 CPU 总线和系统总线之间的一级总线。它一则直接面向 CPU 总线,另一则面向系统总线。局部总线离 CPU更近,所以通过它与 CPU之间的数据传送速率大大加快。

Page 44: 第  6  章

• PCI 总线传输速率高,多总线共存(通过 PCI-ISA/ EISA桥接组件芯片,将 PCI 总线与ISA/ EISA 总线桥接,构成一个分层次的多总线系统),独立于 CPU ,自动识别与配置的外设。

Page 45: 第  6  章

即 I/O扩展槽,即有 5个( PC 机)或 8个( XT机)62芯插座,它适用于未来的发展,便于扩展开发系统。连到插座上的即 62个信号线 PC 系统总线。

用户自己开发接口,即插入此扩展槽即可。 62 根信号线。注意:元件面为 A面, A1~ A31. 焊接

面为 B面, B1~B31. 可分为五类信号:①地址总线 : 20位地址。 ②数据总线 : 8位数据线。③控制总线: 22根。 ④时钟与复位: 3根。⑤地源与地线: 8根+保留 1根。 一般用户接口设计最常用的是:地址线﹑数据线﹑ AEN

( 地 址允许 ) 、 IOR﹑IOW﹑RESET﹑CLK﹑IRQ9(中断请求)、电源。

3. I/O 通道及总线信号

Page 46: 第  6  章
Page 47: 第  6  章

常见系统总线

在微机发展和应用中出现了许多种内、外总线标准

第一个标准化的微机总线 S-100 总线 面向工业控制领域的 STD 总线 32 位 PC 机上的 ISA 系统总线、 EISA

总线、 VESA 总线、 PCI 总线、 USB 总线等

图示图示

Page 48: 第  6  章

4. 简易通用 I/O 接口保护卡

•为了在 PC系列微机上学习,扩展用户的接口,我们设计了一通用型接口保护卡。因为在实验中接口错误可能损坏主机。将简易保护口插入扩展槽,通过扁平电缆将系统三总线引到主机机箱的实验装 置即可实验。

Page 49: 第  6  章
Page 50: 第  6  章

①地址译码 PS低有效。地址范围: 380H ~ 39FH 。注意: IOR和 IOW参与译码控制。②数据线隔离(由数据收发接收器 245,由 PS控制允许端 G, PS为高则隔离;由 IOR控制传送方向,IOR有效时, B→A(即输入), IOR 无效时, A→B(即输出)。③部分地址与控制线隔离电路由三态缓冲器 74LS244 组成,它是单向传送 A→Y, G为输出控制, 8个三态门分成两组。因为地址线在此使用的控制线都是单向传送。④还直接引出+ 5V,地, CLK,共 20个信号至实验

板。

保护卡由三部分组成:

Page 51: 第  6  章

就绪( Ready )

在输入场合 “就绪”说明输入接口已准备好送往 CPU 的数据,正等着 CPU 来读取

该状态也可用接口中数据缓冲器已“满”来描述 在输出场合

“就绪”说明输出接口已做好准备,等待接收 CPU 要输出的数据

该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或不“忙( Busy)”来描述

就绪:满,空、闲、不忙