第二章输入输出接口和输入输出通道22
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S0 S1 S2 CPU总线时间 8288控制信号
0 0 1 读I/O口
IORC
0 1 0 写I/O口
IOWC
1 0 1 读存储器
MRDC
1 1 0 写存储器
MWTC
2020/5/31
4
独立编址方式示意图
00000H
存储器
FFFFFH
执行指令MOV,ADD,SHL,……
0000H FFFFH
I/O端口
再次:进行I/O端口的数量统计、数据流向安排和端口 地址号分配;
2020/5/31
26
四、I/O接口设计的方法、步骤及设计举例
第四:I/O接口硬件电路的扩展设计;(包括 扩展方案选择、地址译码器扩展和负载 能力扩展等)
第五:I/O接口控制软件设计。 最后:软硬件联调。
I/O接口扩展方案选择:
1) 购置现成的多功能I/O接口板 2) 自行设计、安装接口电路
能力强。缺点是I/O接口要占用存储器地址空间的一
部分;指令共用,难以区分I/O操作。
6
二、I/O接口与系统的连接
常用的I/O接口芯片有Z-80PIO、8255A和8251A。
I/O接口与外设之间的连接
2020/5/31
7
接口芯片与CPU之间必要的连接信号有4类: 1)数据信号 2)读写控制信号 3)片选信号和地址线A1、A0 4)时钟、复位、中断控制、联络等信号
2020/5/31
17
字扩展示意图
存储器位数满足要求需要扩充字数(单元数)时, 同样需要多个芯片组成芯片组。如,用上述的1KX8B 芯片组扩充成4KX8B芯片组,则需要的芯片组数
4K 8B 4(组) 1K 8B
2020/5/31
18
例二:
用4片16KX8B的存储器芯片组成64KX8B存储器连接 线路。
➢8086在最小模式下利用M/IO来区分访问存储器还 是I/O接口。(P29)
2020/5/31
3
➢8086在最大模式下,由于引脚不够用,没有直接输 出M/IO、RD、WR,而是由S2, S1, S0输出三个总 线周期状态信号编码送至总线控制器8288,经8288 解决后,再生成IORC(读I/O口) IOWC(写I/O 口),即
2020/5/31
21
MOS器件的输入电流小,驱动能力也差。一个 MOS器件只能带一个标准74XXX器件(约-1.6mA) 或四个74LSXXX器件(-0.4mA),但它可以驱动10 个左右的MOS器件。通常,同类器件带8~10个没有 问题,若超过了就要加驱动器。
2020/5/31
22
表2-4的讨论
TTL
CMOS
输入 1 2 --- 5 3.5-- 5
0 0.8--- 0 1.5--0
源自文库
2020/5/31
23
CMOS器件的工作电压范围在5—15V,若CMOS器件用
5v以上电源时,TTL电路的输出级应用集电极开路的OC
门电路,用上拉电阻把输出电平提高到所需要的值,如图
+5 V
5—15V Rv值取决不同系列型
独立编址:内存地址空间和I/O接口地址空间分开, 互不影响,译码电路较简单;设有专门的I/O指令, 程序易区分、执行时间短。缺点是要采用专门的I/O 周期、I/O控制线和有限的I/O指令,使微处理器复 杂化。
统一编址: I/O接口可与存储器公用译码和控制电
路;访问内存的指令都可以用于I/O操作,数据处理
2020/5/31
15
2020/5/31
2 存储器容量的扩展
存储器容量:指一个存储器芯片所能存储的二进
制信息量。
容量 = 字数 X 字长
如:Intel 2732表示为4K X 8B、Intel27512表示为 64K X 8B。
当单片存储器芯片(RAM或ROM)的容量不能 满足系统要求时,许多片组合以扩充字长(位扩充)
2020/5/31
8
2020/5/31
9
2020/5/31
10
三、I/O接口扩展
1 扩展I/O接口地址及存储器容量。 1) 地址扩展 常用地址译码器有2:4(四中选一)、3:8 (八中选一)和4:16(十六中选一)译码器 等。比如74LS138(3:8)译码器和74LS139 和74LS155(双2:4)译码器。
号的集成电路,一般
Rv
都可满足电平转换要
求。
TTL
CMOS
2020/5/31
24
CMOS---TTL电平转换
采用+5V电源的CMOS器件可直接驱动LSTTL 门,但对标准门即74系列芯片一般要加一级晶 体管驱动级。
由表2-4可见, CMOS器件的输入电流小,驱 动能力也差。
2020/5/31
25
四、I/O接口设计的方法、步骤及设计举例
20
3 负载能力的的扩展
扩展的I/O接口和存储器的数据线都同时挂在CPU 的数据线上,各芯片的地址都要挂到CPU的地址线上, 控制线也都挂到CPU的控制总线上。但系统总线的负 载能力有限,所以在设计者自己设计微机控制系统时, 需要考虑CPU各总线的负载能力。
微机系统中,通常采用两种不同工艺制造的器件, 即 TTL 器 件 和 MOS 器 件 ( TTL 又 分 标 准 TTL 器 件 74XXX , 和 低 功 耗 肖 特 基 TTL 器 件 74LSXXX ) 。 它 们 之 间 级 连 使 用 , 逻 辑 电 平 是 一 致 的 ( “ 1” 电 平 ≥ 1.8~3.8V,”0”电平≤ 0.8~0.3V),但功耗和驱动能 力有差别。表2-4列出了TTL和MOS器件的I/O电流。
1) I/O接口设计的方法、步骤 接口设计的任务包括确定各外围设备的控制方式,
接口硬件电路设计和接口控制软件设计。
具体设计步骤如下:
首先:了解外设或被控设备与CPU之间信息交换的要 求;(联络信号、I/O数据格式、I/O线数量、最短响 应时间和服务时间估算、I/O控制方式等) 其次:考虑软硬件功能分配;(速度、成本、特性、 设计难以程度等)
执行指令IN,OUT
2020/5/31
5
(二)I/O接口与存储器统一编址方式
该方式把所有的I/O接口的端口都当作是存储器的 一个单元对待,不设专门的I/O指令,所有传送和访 问存储器的指令都可用来对I/O 口操作。Intel51系 列、96系列单片机都是采用统一编址方式的。
2020/5/31
比较两种编址方式:(P29)
&
G1
G2B
1
G2A
C
B
A
74LS138A
74LS32
IOR
》1
Y0
CE
74LS244
G1
:
G2B
G2A
:
74LS138B
C
B
:
A
2020/5/31
30
I/O接口电路设计
8088
74LS244
A0A1A2A3A4A5A6A7
&
G1
G2B
1
G2A
C
B
A
G1 G2B G2A C B A
74LS138B
有 1 1 1 1 0 0 0 1 Y1 CPB
效
1 1
111001 111001
0 Y2 CPC 1 Y3 CPD
信 1 1 1 1 0 1 0 0 Y4 CPE 号 1 1 1 1 0 1 0 1 Y5 CPF
1 1 1 1 0 1 1 0 Y6 CPG
1
1 1 1 0 1 1 1 Y7 CPH
分析:16K存储器芯片的地址为14位,而64K存储器 的地址应有16位。连接时,各芯片的14位地址线可 直接接地址总线的A0~A13,而地址总线的A15、 A14则接到2—4译码器的输入端,其输出端四根选择 线分别接到四片芯片的片选CS端。
2020/5/31
4000H
19
2020/5/31
用16KX8B的存储器芯片组成64KX8B存储器
2.3 I/O接口设计
本节主要任务: 学会对存储器、I/O端口的编址; 掌握I/O接口与系统的连接,I/O接口的扩展 技术; 设计一般的I/O接口硬件电路。
2020/5/31
1
I/O接口设计任务:
(1)根据生产过程和生产机械或管理的要 求及外设的特性选定I/O控制方式;(这取 决于对信息交换的速度和CPU的工作效率的 要求)
2020/5/31
11
74LS138(3:8)译码器
2020/5/31
12
2020/5/31
例一: 采用8位的Z80CPU微机控制系统,按控制要求 扩展一个并行接口芯片PIO、一个计数器/定时器CTC、 一个8位的A/D转换器ADC0808和一个8位的D/A转换 器 DAC0832 。 指 定 它 们 的 地 址 分 别 是 40H~43H 、 44H~47H、58H和5CH。
1 1
110101 110101
0 Y2 CEC 1 Y3 CED
信
1
1 1 0 1 1 0 0 Y4 CEE
号
1
1 1 0 1 1 0 1 Y5 CEF
1
1 1 0 1 1 1 0 Y6 CEG
1
1 1 0 1 1 1 1 Y7 CEH
2020/5/31
29
I/O接口电路设计
8088
A0A1A2A3A4A5A6A7
2020/5/31
32
I/O接口电路设计
8088
A0A1A2A3A4A5A6A7
&
G1
G2B
1
G2A
C
B
A
G1
1
G2B
G2A
C
B
A
74LS138B
74LS138A
74LS32
IOR
》1
Y0
CE
数据 输入
:
:
Y7
:
74LS244A
》1
74LS273H
: : :
CP 74LS32
2020/5/31
33
2020/5/31
28
地址分析
译输码器入端口8个用 G174LS2G424B,G端2A口地C址号B为EA8H~译E码FH244
1
00
器A 片选
输出 输入
地址总线 A7 A6 A5 A4 A3 A2 A1 A0
1 1 1 0 1 0 0 0 Y0 CEA
有
1
1 1 0 1 0 0 1 Y1 CEB
效
例 2 : 在 8086 最 小 模 式 系 统 中 , 采 用 8255A 作 为 连 接 打 印 机 的 接 口 , 若 指 定 分给8255A的A、B、C和控制端口号分 别 为 FFF8H 、 FFFAH 、 FFFCH 和 FFFEH,试设计接口电路和有关的软件。
2020/5/31
27
2) 举例说明I/O接口设计
例1:8088CPU系统,有8组8位的数字量和 开关量由外部输入,同时有8组8位的控制 和显示数据输出到外部。若指定8个输入端 口号为E8H~EFH,8个输出端口地址号为 F0H ~F7H,所有输入输出信息交换均可 采用无条件传送方式。试按此要求为该微 机系统设计I/O接口电路。
74LS138A
IOR
74LS32
》1
Y0
CE
数据 输入
: : :
2020/5/31
31
地址分析
输出端口8个用74LS273,端口地址号为F0H ~F7H
译码器
G1
G2B G2A C B A 译码 273
1
00
器B 片选
输出 输入
地址总线 A7 A6 A5 A4 A3 A2 A1 A0
1 1 1 1 0 0 0 0 Y0 CPA
TTL—CMOS电平转换:
TTL输出低电平最大值<CMOS允许输入低电平最大值
TTL输出高电平最小值>CMOS要求输入高电平最小值
+5V供电的CMOS可直接与TTL相连,TTL的输出电平较低,要用 上拉电阻Rv把TTL输出电平拉高。
+5V
附:
TTL
CMOS
Rv
输出 1 2.2—5 4.99-- 5
0 0.4---0 0.01- 0
(2)设计I/O接口硬件并编写相应的接口控 制程序。(这取决于控制速度、可靠性及成 本)
2020/5/31
2
一、I/O接口的编址方式
编址方式是为了区别存储器和I/O接口读写操作而 设定的。分为I/O接口和存储器统一编址,I/O接口 独立编址。编址方式是由所选定的微处理器决定的。
(一)I/O接口独立编址方式 ➢将存储器地址空间和I/O接口地址空间分开设置, 互不影响。设有专门的IN、OUT指令来完成I/O操作。 如:Z80利用MREQ和IORQ区分访问存储器还是I/O 接口。
解答步骤:
第一步、了解设计中所涉及到的芯片的引脚分布及其 工作原理; Z80CPU、并行接口芯片PIO、计数器/定时器CTC、 8位ADC0808、8位DAC0832 第二步、分析各芯片地址分配情况; 第三步、连线。
13
2020/5/31
14
试分析下图中8237A、8259A、8253、8255A 的地址范围
或字数(字扩充)。
a)存储器位扩充——举例说明 用1K X 1B的SRAM芯片位扩充形成1K X 8B的芯片 组,所需芯片为:
1K 8B 8(片) 1K 1B
16
位扩展示意图
这8篇芯片地址线A0~A9、片选信号CS以及读/写控 制信号WE都分别连到一起,只有数据输出端8片各自 独立,每片代表一位。当CPU访问该芯片组时,其发 出的地址和控制信号同时传给8个芯片,选中每个芯 片的同一单元(一位),其单元内容被同时读至数据 线的相应位或数据总线上的内容分别同时写入相应单 元。