第三章 输入输出与接口技术

46
1 第第第 第第第第第第第第第

Upload: aline-osborn

Post on 01-Jan-2016

99 views

Category:

Documents


3 download

DESCRIPTION

第三章 输入输出与接口技术. 第一节 接口概述. 一、 I/O 接口基本概念. 1 、接口定义. 定义: 是计算机系统中各部件与 “ 外部世界 ” 的 连接电路 ,负责 “ 中转 ” 各种 信息 。. 分类: 存储器接口和 I/O 接口。. 位置: 介于系统总线与外部设备之间。. 2 、 I/O 接口与 I/O 设备. 不同 I/O 设备对应相同或不同 I/O 接口。. I/O 接口受 CPU 控制, I/O 设备受 I/O 接口控制。. 为增加通用性, I/O 接口一般均具有可编程功能。. 微机应用离不开与 I/O 接口的设计、选用和连接。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第三章  输入输出与接口技术

1

第三章 输入输出与接口技术

Page 2: 第三章  输入输出与接口技术

2

第一节 接口概述一、 I/O 接口基本概念1 、接口定义

定义:是计算机系统中各部件与“外部世界”的连接电路,负责“中转”各种信息。

Page 3: 第三章  输入输出与接口技术

3

分类:存储器接口和 I/O 接口。 位置:介于系统总线与外部设备之间。2 、 I/O 接口与 I/O 设备 不同 I/O 设备对应相同或不同 I/O 接口。 I/O 接口受 CPU 控制, I/O 设备受 I/O 接口控制。 为增加通用性, I/O 接口一般均具有可编程功能。 微机应用离不开与 I/O 接口的设计、选用和连接。 微机接口技术是编程人员的一项基本技能。

Page 4: 第三章  输入输出与接口技术

4

二、 I/O 接口功能 数据缓冲功能:通过寄存器或锁存器实现。 接口中存放数据的寄存器或锁存器称之为数据口

接收和执行 CPU 命令功能: 存放来自 CPU 的命令信息的寄存器称之为命令口 存放来自外设的状态信息的寄存器称之为状态口

信号转换功能:协调总线信号与 I/O 设备信号。 转换包括信号的逻辑关系、时序配合和电平转换

可编程功能:增加接口的灵活性和智能性。 编程指改变 I/O 接口的工作模式、实现具体操作

Page 5: 第三章  输入输出与接口技术

5

三、 I/O 接口组成 I/O 接口由接口硬件和接口软件组成。1 、接口硬件

回下页 回 7 页 回 8 页

Page 6: 第三章  输入输出与接口技术

6

(1)CPU 侧引脚信号 思考: CPU 对接口有哪些操作?总线如何表示?这些信号由谁处理? 地址总线信号 ( 入 ) :接口判断自己是否被选中的主要依据,并可区分对哪个 REG( 端口 ) 操作; 数据总线信号 ( 入 / 出 ) :被选中时,按端口地址和操作类型,数据总线信号← /→ 对应 REG ; 控制总线信号 ( 入 ) :接口是否被选中的辅助依据,及数据期接口控制执行 ( 数据方向 ) 的依据; 状态总线信号 ( 出 ) :为完成总线命令,接口给出的符合总线协议的相关信号 ( 如响应 ) 。

转上页

Page 7: 第三章  输入输出与接口技术

7

(2) 外设侧引脚信号 数据信号:接口的缓冲 REG( 分输入缓冲和输出锁存 ) 与外设间的数据交换信号,有串行 / 并行、 I/O 分离 / 合并等形式; 状态信号:外设→接口的工作状态 / 握手信号; 控制信号:接口→外设的控制 / 握手信号。 控制信号与状态信号的时序配合是 I/O 接口与外设有效通信的保证; ☆ 控制信号、状态信号、数据信号可以合并,通过信号线时序或数据特性区分。

转 5 页

Page 8: 第三章  输入输出与接口技术

8

(3) 内部控制逻辑— I/O 接口的核心 a1. 识别总线状态功能: 能够识别出总线空闲、命令的地址期和数据期;

a2. 被选中检测功能:—总线命令地址期 主动检测总线控制信号和地址信号;

a3. 控制端口选择功能:—总线命令地址期和数据期 地址期—控制是否进行地址锁存、内部端口地址译码; 数据期—控制端口与总线缓冲器间传输方向。

b. 控制联络 / 数据信号功能:—根据控制 REG 实现 根据状态 REG ,控制联络信号的输出; 根据联络信号的输入,控制状态 REG 和 I/O 数据 REG 的改变。

转 5 页回下页

Page 9: 第三章  输入输出与接口技术

9

I/O 接口、总线、外设间时序关系:CPU

总线

I/O 接口控制逻辑

CPU侧

外设侧I/O 设备时间

REG 间命令空闲

未选中,无通信

按相关 REG 控制按联络信号通信

REG-I/O 接口命令I/O 总线命令

被选中时通信,并改变相关 REG按相关 REG( 旧 )控制按联络信号通信

REG-MEM 命令MEM 总线命令未选中,无通信

按相关 REG( 新 )控制按联络信号通信

CPU 对接口的控制与接口对外设的控制是独立的! 例:某 I/O 接口有三个独立的 8 位外设端通道,①其CPU 侧引脚应有哪些?②如何提高接口通用性? ① 全部地址线 + 全部数据线 + 部分控制线; ② 片选引脚 CS+ 内部地址引脚—代替全部地址线; WR+RD+ 外部门电路—代替部分控制线引脚。

转上页

Page 10: 第三章  输入输出与接口技术

10

(4) 接口与接口芯片 接口芯片为接口的核心电路; 接口一般由接口芯片及相关门电路组成。 接口芯片 CPU 侧引脚: 片选 CS 、内部地址、数据、读 / 写等引脚

D0-D7

RD

RESET

Ax-1

A0

外设侧引脚

WR

CS

……

接口的相关门电路: 片选引脚 CS 连接—控制线与地址高位线的门电路

D0-D7

RD

RESET

Ax-1

A0

外设侧引脚

WR

CS

……

I0/MA15~Ax

RDWR

数据总线

Ax-1

A0

Page 11: 第三章  输入输出与接口技术

11

2 、接口软件(设备驱动程序) 设备驱动程序是一个驱动设备功能的函数集。 初始化程序段:提供设置接口工作方式及初始条件功能; 传送方式处理程序段:提供对 I/O 设备的不同数据传输控制方式的处理功能 (简单的通信功能 ) ; 主控程序段:提供完成与设备通信功能 (复杂的通信功能 ) ,传送方式处理程序段是其子集; 终止与退出程序段:提供接口电路硬件保护及操作系统中数据恢复功能; 辅助程序段:提供人 - 机对话等内容。 设备驱动程序的各部分可单独使用,为应用程序提供友好的支持。

Page 12: 第三章  输入输出与接口技术

12

第二节 数据传输控制方式一、程序控制方式1 、无条件传送方式 输入时外设已准备好,输出时外设空闲 要求: I/O 接口输入时需缓冲器,输出时需锁存器; I/O 接口与外设间无联络 ( 控制和状态 ) 信号。 应用:适用于对简单外设 ( 如 LED显示器 ) 的操作。

回下页

Page 13: 第三章  输入输出与接口技术

13

2 、条件传送方式(查询方式) 查询外设已准备好后,才传送数据 要求: I/O 接口与外设间需联络 ( 控制和状态 ) 信号; 特点:程序查询状态与 I/O 传送串行、自然同步; (CPU在查询期间不可完成其他任务 )

应用:适用于 CPU 不太忙、且传输速度要求不高时。3 、中断传送方式 外设准备好后, I/O 接口产生中断请求,请求处理 要求: I/O 接口中须有中断控制逻辑; 特点: CPU 处理其他任务与 I/O 传送可同时进行; 应用:适用于非高速度、大批量数据传输时。

转上页 回下页

Page 14: 第三章  输入输出与接口技术

14

二、直接存储器存取 (DMA) 方式 I/O 设备 -I/O 接口 - 总线 -MEM 间直接传输。 要求:需要 DMA 控制器 ( 主设备 ) 及相关逻辑支持; 特点: I/O 传输不经过 CPU ,简化 CPU 对 I/O 的控制, I/O 设备的管理照样归 CPU 实现; 应用:适用于高速度、大批量数据传输时。三、 I/O 处理机 (IOP) 方式 I/O 设备 -I/O 接口 - 总线 -MEM 间传输、 I/O 设备管理 要求:需要 IOP支持 ( 实现 I/O 设备管理功能 ) 。 特点: IOP 接管了设备管理功能, CPU 与 IOP 可并行; 应用:高速 I/O 设备归 IOP 、低速 I/O 设备归 CPU

管理。 转上页

Page 15: 第三章  输入输出与接口技术

15

第三节 I/O 编址与访问一、 I/O 端口1 、 I/O 端口 供 CPU直接访问的 I/O 接口中的 REG 或电路。 接口中的 I/O 端口有:命令口、状态口和数据口。2 、 I/O 端口地址 标识所有接口中各个端口的统一编号。 CPU 通过命令中地址 (I/O 端口地址 ) 可寻址某接口的某 I/O 端口。 关系 1 :接口 :I/O 端口地址 : 命令—— 1:m:2*m

关系 2 : I/O 端口 :I/O 端口地址—— 1:1 或 2:1

或 n:1 回下页

Page 16: 第三章  输入输出与接口技术

16

3 、 I/O 端口地址空间 若 CPU 对 I/O 接口的操作命令中地址位数为 n ; 则 I/O 端口地址空间大小为 N=2n ; I/O 端口地址范围为 0~N-1 。 所有接口的所有 I/O 端口的地址<N 。 △避免各接口的 I/O 端口地址重叠的方法: 不同接口占用不同的 I/O 端口地址段。

转上页

Page 17: 第三章  输入输出与接口技术

17

二、 I/O 端口编址方式1 、 I/O 统一编址(存储器映象 I/O 编址) 一个 I/O 端口等同于一个 MEM单元,操作指令相同。

MEM

I/O 接口

N

XX-1

0

MOV 指令

2 、 I/O 独立编址 I/O 端口地址空间与 MEM 地址空间相互独立。 必须通过不同的指令 ( 操作码 ) 区分。

MEMI/O 接口

X-1

0

MOV 指令 IN/OUT 指令

N-X

0

应用: Z-80 系列和 x86 系列均采用独立编址方式; 68000 系列和 Apple 6502 均采用统一编址方式。

Page 18: 第三章  输入输出与接口技术

18

3 、 I/O两种编址方式比较统一编址 独立编址

指令种类 MOV MOV 和 IN/OUT指令长度 长 短指令执行速度 慢 快

存储空间

大小 略小 较好可扩展性 MEM 可扩展性差 均较好

地址译码时间 较长 较短总线信号复杂性 简单 复杂 ( 控制信号种类多 )接口电路复杂性 复杂 简单

4 、 Intel 系列微机 I/O 编址 Intel 系列微处理器—支持 I/O 独立编址方式和I/O 统一编址方式 (I/O 统一编址时, I/O 地址不能缓存 ) 。 Intel 系列微机系统—仅支持 I/O 独立编址方式。

Page 19: 第三章  输入输出与接口技术

19

三、 PC 系列微机 I/O 端口访问1 、 I/O 端口地址空间 I/O 端口地址空间: 64K 个 8 位 I/O 端口空间。 I/O 端口地址信号线:由 A15~A0 组成。 I/O 端口地址空间的使用约定: 不同 I/O 接口占用不同的地址空间段; 同一接口的不同 I/O 端口地址是连续的。2 、 I/O 端口地址寻址方式 I/O 端口支持直接寻址和间接寻址两种方式。 直接寻址时地址仅 8 位,间接寻址时可支持 16位。 OUT 60H , AL ;直接寻址 OUT DX , AL ;间接寻址转 I/O 命令寻址方式

Page 20: 第三章  输入输出与接口技术

20

3 、 I/O 端口与 CPU 的 REG 间的 I/O 指令 指令种类: IN 、 OUT 。 指令格式: IN AL , DX OUT DX , AL

4 、 I/O 端口与 MEM 间的 I/O 指令 种类: INSB(W 、 D) 、 OUTSB(W 、 D) ; INS 时 MEM 为目的操作数, OUTS 时为源操作数 参数: I/O 端口地址用 DX 指定, 目的 MEM 地址用 ES:DI(EDI) 指定, 源MEM 地址用 DS:SI(ESI) 指定; 扩展:通过 REP前缀实现连续传送 (MEM 地址自动增加 ) 。

Page 21: 第三章  输入输出与接口技术

21

5 、 I/O 端口与存储器单元访问的区别I/O 端口访问 MEM单元访问

命令类型 IN/OUT MOV

寻址方式 直接、间接方式 多种方式地址空间大小 64K=216 4G=232

控制总线信号 IO/M# 高、 WR# 或RD# 有效

IO/M#低、 WR# 或 RD#有效

地址总线信号 A15~A0 A31~A06 、 I/O 端口访问例题 写出向 8255A 第 0 和第 1 个端口写数据的指令,说明接口 CPU 侧信号变化过程。 空闲

8255A

DMA

FFFFH

0040H

0020H

0000H

……

MOV AL , 50H OUT 20H , AL MOV AL , 51H OUT 21H , AL

回下页

Page 22: 第三章  输入输出与接口技术

22

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10

A15-A8AD7-AD0ALE

IO/MWDRD

MOVAL , 50H

OUT 20H , AL

IN AL, 21H命令

CLK

CS8255A

CS 其他

MOVAL , 51H

50H20H

00H

??H21H

00H

注意:接口的 CS# 无效期间,接口与外设间仍在通信。 转上页 回 33 页回 36 页

Page 23: 第三章  输入输出与接口技术

23

四、 Pentium 的 I/O 保护 I/O 保护在保护模式下有效,在实地址模式下无效。1 、 I/O 特权级 IOPL 保护 通过当前任务 TSS 中段 REG 的特权级 CPL 与标志REG(当前任务的标志 REG副本 ) 的 IOPL字段比较实现 I/O 保护。 CPL 、 IOPL值越小,优先级越高 注: TSS结构可查阅《计算机系统结构》课件 保护—若 CPL≤IOPL ,可执行 IN/OUT 、 INS/OU

TS 、 CLI/STI 等敏感指令 ( 对 IOPL敏感 ) ;否则不允许执行。 IOPL修改—每个任务均有自己的 IOPL , 0级特权的过程可通过 POPF 和 IRET 指令修改任务的IOPL 。

Page 24: 第三章  输入输出与接口技术

24

2 、 I/O允许位映像保护 I/O允许位映像保护可修正 IOPL 对 I/O敏感指令的影响,允许低特权的程序访问某些 I/O 端口。 I/O允许位映像是一个位向量 (在任务 TSS 中 ) ,每位对应一个端口的操作权限 (0 表示允许, 1 表示禁止 ) ; I/O允许位映像不必说明所有 I/O 地址,说明范围为0~(TSS 界限 -I/O映像域基地址 ) 。 I/O允许位映像修改—操作系统可修改。 思考:如何让普通任务访问 I/O 端口? 通过操作系统提供的接口函数; 通过设备驱动程序(其运行在 0级上); 通过操作系统的漏洞。

Page 25: 第三章  输入输出与接口技术

25

实模式虚拟 8086 模

I/O 指令

允许访问 不允许访问

CPL≤IOPL

I/O允许位映象允许

保护模式

Y

Y

N

N

3 、不同模式下的 I/O 保护

Page 26: 第三章  输入输出与接口技术

26

第四节 接口分析与设计方法一、 X86 系列微机接口分析1 、 I/O 接口分类 系统板上 I/O 接口芯片和 I/O扩展槽接口卡。2 、 I/O 端口地址空间及分配 不同微机系统的 I/O 端口地址空间及分配不同。 PC/XT/AT—I/O 地址线只使用 A9~A0 ,共 1K 个端口空间 ( 地址范围为 0000H~03FFH) ; PC/286起— I/O 地址线使用 A15~A0 ,共有 64K

个端口空间。

回 44 页回下页

Page 27: 第三章  输入输出与接口技术

27

PC/XT :前 512 个端口 (A9=0) 为系统板所用,其他端口为扩展槽所用。 PC/AT :前 256 个端口 (A9=A8=0) 为系统板所用,其他端口为扩展槽所用。 PC/AT 系统板 I/O 接口芯片端口地址 (0000H-00FFH): I/O 芯片名称 地址范围

DMAC1 DMAC2

DMA 页面寄存器

0000-001FH 00C0-00DFH 0080-009FH

中断控制器 1

中断控制器 2

0020-003FH 00A0-00BFH

定时器 并 行 接 口 芯 片 ( 键盘接口 ) RT/CMOS RAM

协处理器

0040-005FH 0060-006FH 0070-007FH 00F0-00FFH

回下页 回 36 页转上页

Page 28: 第三章  输入输出与接口技术

28

PC/AT扩展槽 I/O 接口卡端口地址 (0100H-03FFH) :I/O 接口名称 地址范围

游戏控制卡 0200-020FH

并行口控制卡 1

并行口控制卡 2

0370-037FH 0270-027FH

串行口控制卡 1

串行口控制卡 2

03F8-03FFH 02F8-02FFH

原型插件板 ( 用户可用 )

0300-031FH

同步通信卡 1

同步通信卡 2

03A0-03AF 0380-038FH

单显MDA

彩显 CGA

彩显 EGA/VGA

03B0-03BFH 03D0-03DFH 03C0-03CFH

软驱控制卡 硬驱控制卡

03F0-03FFH 01F0-01FFH

PC网卡 0360-036FH

转上页

Page 29: 第三章  输入输出与接口技术

29

用户扩展卡 I/O 端口地址选用原则: 系统配置占用的端口地址一律不能用; 厂家声明保留的端口地址不要用; 其余端口地址可用,为避免冲突最好采用 DIP 。

3 、 I/O 端口地址分配 ( 主动译码 ) 的实现 基本原则:一个 I/O 接口对应多个连续的 I/O 端口。

A15   …   AX AX-1…A0

固定    0…0~1…1

I/O 接口芯片片选 (CS) 的实现: IO/M 高电平、 AEN 无效、地址线高位与分配相同; I/O 接口芯片内部 I/O 端口的实现: 地址线低位与内部地址引脚连接。

回下页

Page 30: 第三章  输入输出与接口技术

30

例 1 :并行接口使用 8255A 芯片,地址空间60H-63H ,试实现信号线连接。

D0-D7数据总线

RD

RESET

A1

A0

8255A

PA0-7

PB0-7

PC0-7

WR

CS

A1

A0

A15~A2地址总线

=0000 0000 0110 00

控制总线

RD

RESET

IO/MAEN

WR

思考:多个 I/O 接口同时存在时,如何简化接口的门电路?

转上页 回下页 回 39 页

Page 31: 第三章  输入输出与接口技术

31

例 2 :根据多个 I/O 接口的 I/O 端口地址分配,实现简化的 I/O 接口信号线连接—集中译码。

空闲

系统

8255

8253

8259

DMA

FFFFH

0020H

0000H

0080H

0040H

……

0060H

……

数据总线地址总线控制总线

CPU MEM

8259 8253

D7-D0

CSA0

设备侧信号

WR

RD

D7-D0

CSA1-A0

设备侧信号

WR

RD

Y0

Y7

ABC

G2B

G1

74LS

138G2A

转上页 回 33 页

Page 32: 第三章  输入输出与接口技术

32

4 、 I/O 端口访问 CPU 通过 I/O 指令对 I/O 接口进行访问。 汇编语言指令: IN 、 OUT

C语言指令:inportb(inport) 、 outportb(outport) VC++ 指令: _inp(_inpw) 、 _outp(_outpw) 例 3 :读取 CMOS 信息。

main(){ unsigned char c_CmosMsg[64] ; for (int i=0 ; i<=63 ; i++) { outportb(0x70,i); c_CmosMsg[i]=inportb(0x71) ; } printf("CMOS 信 息 读取完毕。 \n") ;}

;功能:读取 CMOS 信息;调用: AL=CMOS 地址;返回: AL=CMOS 内容PROC_READ_CMOS PROC CLI OUT 70H , AL JMP $+2 ;延迟 IN AL , 71H ;读 CMOS数据 STI RETPROC_READ_CMOS ENDP

Page 33: 第三章  输入输出与接口技术

33

例 4 :根据课件 31 页的连接,说明下列指令执行时总线、接口的信号变化情况: MOV AL , 8AH OUT 42H , AL

控制总线: IO/M 有效、 AEN 无效、 WR 有效、RD 无效; 地址总线:地址期将 0042H 写入 A15~ A0 ; 译码器:根据控制信号、地址高位译码, Y2 有效,其他 Yx 无效; 接口芯片: 8253 被选中,其他接口芯片未被选中; 8253 芯片:地址期—根据地址低位选择相应REG ; 数据期—接收数据总线 (D7~D0) 的数据(8AH) ,写入地址期所选 REG 。

转 22 页转 31 页

Page 34: 第三章  输入输出与接口技术

34

二、 I/O 端口地址译码电路的几种形式1 、固定端口地址的译码 应用:系统板中接口的地址译码,只有一个接口时可采用门电路构成。 常见的译码器有 74LS138 、 74LS154 等。 74LS138 译码器:

Y0

Y7

A

B

C

G2B

G2A

G1

15

14

13

12

11

10

9

7

1

2

3

4

5

6

74LS138

工作条件: G1=1 , G2A=G2B=0 。工作原理: 将复合的输入信号 (CBA) 变为枚举 ( 分离 ) 的输出信号。

Page 35: 第三章  输入输出与接口技术

35

74LS138 输入 / 输出真值表:输 入 输 出

G1G2AG2B C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

1 0 0 0 0 0 1 1 1 1 1 1 1 0

1 0 0 0 0 1 1 1 1 1 1 1 0 1

1 0 0 0 1 0 1 1 1 1 1 0 1 1

1 0 0 0 1 1 1 1 1 1 0 1 1 1

1 0 0 1 0 0 1 1 1 0 1 1 1 1

1 0 0 1 0 1 1 1 0 1 1 1 1 1

1 0 0 1 1 0 1 0 1 1 1 1 1 1

1 0 0 1 1 1 0 1 1 1 1 1 1 1

0 X X X X X 1 1 1 1 1 1 1 1

X 1 X X X X 1 1 1 1 1 1 1 1

X X 1 X X X 1 1 1 1 1 1 1 1

CBA 连续时, Y0~ Y7 的有效亦为连续的。

Page 36: 第三章  输入输出与接口技术

36

例 1 : 74LS138在 PC 机 /AT 系统板端口译码的应用

Y0

Y7

A

B

C

G2B

G2A

G1

74LS138

A5

A6

A7

A8

A9

AEN

DMA CS(8237)

INTR CS(8259)

T/C CS(8253)

PPI CS(8255)

WRTDMAPG≥1

WRTNMIREG

WR

≥1

Y1

IO/M

思考 1 :为何中断控制器端口地址为 020H-

03FH ? 思考 2 :译码器无总线操作的地址期和数据期,指令执行期间,对于 A/D 线的复用,如何保证 Yx 有效? 转 27 页 转 22 页

Page 37: 第三章  输入输出与接口技术

37

例 2 :对 74LS138已知入端 (10 根地址线 ) ,计算出端口地址

每个出端对应的端口数量?Y1# 、 Y4# 对应开始端口地址?

8 个08H(88H) 、 20H

(A0H)

Y0

Y7

A

B

C

G2B

G2A

G1

74LS138

A3

A4

A5

A6

A9

AEN

Y1

IO/M

≥1A8

?~?

?~?

回下页

Page 38: 第三章  输入输出与接口技术

38

例 3 :对 74LS138已知出端,设计入端 (10 根地址线 ) 连接。

Y0

Y7

A

B

C

G2B

G2A

G1

74LS138

AEN

Y1

IO/M

300H~

330H~

GND

每个输出对应端口数量?C 、 B 、 A 对应地址线?G2B前与非门对应地址线?

16 个 (10H 个 )A6 、 A5 、 A4A9 、 A8 , A7取反 练习:若 Y0# 不变、 Y4# 为 318H~ ,则如何连

接?转上页

Page 39: 第三章  输入输出与接口技术

39

例 4 :用 74LS138 实现前 256 个 I/O 端口为系统板所用 A9 和 A8 或后接 74LS138 的 G2B , A7A6A5 接CBA 。 例 5 :续上例,使 8259A(2 个端口 ) 开始地址为20H 分析— Y1# 有效时覆盖范围为 20H~3FH

实现—必须使地址为 22H~3FH 时, 8259A CS# 无效Y1

8259A CSA4~A1 +

例 6 :续例 4 ,使 8253(4 个端口 ) 开始地址为44H 、 48H

8253 CSA4A3A2

Y2

+ 8253 CSA4A3A2

Y2

+

练习:续例 4 ,使 8259A 、 8253 开始地址为20H 和 24H 转 30 页回下页

Page 40: 第三章  输入输出与接口技术

40

思考: I/O 地址、译码器及接口电路地址三者关系?

AX-1-A0

AZ-1-AX

AY-1-AZ

A15-AY

0000H

FFFFH

I/O 地址空间

选定区域…

=S0 — 选择区域共 215-Y+1 个区域

A15-A0=S0 1…1

AY-

1~A0

A15-A0=S0 0…0

译码器

选择段共 2Y-Z 个段

选择片共 2Z-X 个

AZ-1-AX=0…0

AZ-1-AX=1…1

A15-AY=S0

译码输出=YX

AZ-1-AX=P0AX-1-A0

CS

AX-1-A0

控制信号 RD/WR

接口地址范围=

S0 X P0 0…0~1…1

转上页 回 44 页回下页

Page 41: 第三章  输入输出与接口技术

41

例 7 :用 73LS138 实现 8259A 、 8253 、 8250(8 个端口 ) 地址分别为 40H~41H 、 48H~4BH 、 50H~57H

实现方法一: 分析 1— 译码器输出端步距可为 08H ,故其 CBA 与A5A4A3 连接 分析 2— 译码器输入应固定 A15~A6 ,为 0000 0000

01B

译码器输出为40H~47H 、 48H~4FH 、 50H~57H 、… 分析 3— 各接口根据地址及端口数,实现 CS# 的门电路连接 Y0

8259A CSA2A1

+Y1

8253 CSA2 + Y2 8250 CS

实现方法二:译码器输出端步距为 10H ,故其 CBA 与A6A5A4 连接, A15~A7=0000 0000 0B ,各接口根据要求进行 CS# 连接Y0

8259A CSA3A2A1

+Y0

8253 CSA3A2

+ 8250 CSY1A3 +

实现方法三:译码器输出端步距为 20H ,作为练习完成转上页

Page 42: 第三章  输入输出与接口技术

42

2 、可选端口地址的译码 应用:扩展槽中接口板的地址译码。(1)使用比较器 ( 如 74LS688)+ 地址开关方法

P0P1P2P3P4P5P6P7

G1

74LS688

P=Q

+5V

Q0Q1Q2Q3Q4Q5Q6Q7

A3A4A5A6A7A8A9

AEN

CS

A1A0

RDWR

I0/MA2

A1A0

RDWR

SW0SW1SW2SW3SW4SW5

DIP

思考 1 :如何实现 DIP步距 (SW0 变化 - 接口开始地址变化 ) 为 4 ? 思考 2 :如何实现接口板开始地址为 200H 、 DIP步距为8 ? 回下页

Page 43: 第三章  输入输出与接口技术

43

(2)使用异或门 + 地址开关方法 用异或门代替比较器与地址开关比较。 74LS136 :

=1 =1

=1 =1

1 2 3 4 5 6 7

891011121314

VCC

GND

74LS136

逻辑:3=1○2 , 6=4○5 , 8=9○10 , 11=12○13 ;

+ ++ +

连线:异或门的输入端分别接地址线和地址开关线; 结果:各异或门的输出再“或”后与比较器等效。

转上页

Page 44: 第三章  输入输出与接口技术

44

三、与接口电路相关的主板设计问题1 、确定 I/O 接口的编址方式及 I/O 空间 统一 / 独立编址,使用地址信号数量。 延伸: I/O 指令,相关控制信号种类。2 、约定并实现各 I/O 接口地址空间 I/O 空间分配表,译码器选择及级联,各固定地址接口的 CS# 连线。3 、确定数据、地址总线是否复用 地址总线信号锁存及接口芯片地址引脚信号锁存。

转 26 页 转 40 页

Page 45: 第三章  输入输出与接口技术

45

四、接口电路分析与设计基本方法1 、接口硬件设计方法 接口主要完成数据、地址、控制总线与外设信号的转换和连接任务。 分析接口两侧的情况: CPU 侧:数据线宽度、地址线宽度、控制线逻辑定义及时序、实现端口空间划分或选择; 外设侧: I/O 设备工作原理与特点,引脚信号逻辑定义、时序和电平差异。 进行信号转换:找出差异并进行信号转换与改造。 选择合理外围接口芯片构成接口电路。

Page 46: 第三章  输入输出与接口技术

46

设计注意点: 资源使用冲突问题; 时序、缓冲、锁存措施; 负载与干扰问题。2 、接口软件设计方法 直接对硬件编程: 设计者必须对接口硬件细节 ( 特别是总线接口 )十分熟悉; 尽可能用汇编语言编写程序。 间接对硬件编程: 调用标准接口驱动程序。