存储器系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
64KB/8=8KB/根译码线。译码器的输出是互异的,每次只能选中一 个存储器芯片,不会出现地址竞争(地址竞争是几片同类型存储器占用同 一段地址,当CPU从该空间取数时,它们将同时向数据总线提供数据, 导致读取出错)。
5.3 数据存储器扩展设计
执行:MOVX A,@DPTR( 或MOVX @DPTR,A) MOVX A,@Ri (或MOVX @Ri,A)
地址锁存器(74LS373) 从P0口地址/数据复用线中分离出地址来。
• 地址译码器 为什么要用地址译码器:CPU给出一个地址,对应的存储器中有一个
存储器单元与其唯一的对应。通常存储器有多片组成,因此,要对存储器 芯片地址进行编址。
分两个层次:(1) 某个存储芯片的选择片选(8K/片8片64K) (2) 被选中的存储芯片内部存储单元的选择字选。
第5章 存储器系统设计
5.1 MCS-51存储器系统配置
内部4K,0000 ~ 0FFFH
程序存储器(ROM)
8051
/
8751
外部64K0000
~
FFFFH
8031外部64K,0000 ~ FFFFH,EA 0
重叠部分由
EA区分EA EA
1内部 0 外部
内部 128字节,00H ~ 7FH 数据存储器(RAM) 外部 64K,0000 ~ FFFFH
3. 扩展64KB EPROM(全地址译码)
P2.7
P2.6
P2.5
地址空间
(A15)
(A14)
(A13)
0
0
0
0000~1FFFH
0
0
1
2000~3FFFH
0
1
0
4000~5FFFH
0
1
1
6000~7FFFH
1
0
0
8000~9FFFH
1
0
1
A000~BFFFH
1
1
0
C000~DFFFH
1
1
1
E000~FFFFH
Programmable Read Only
擦除,可重新再写 !
Memory
功能图:
操作方式: 编程方式:把程序代码固化到EPROM中 编程校验方式:读出EPROM中的内容,校对编程操作的正确性
读出方式:CPU从EPROM中读出指令和常数 (CE 0, OE 0)
维持方式:数据端是高阻 (CE 1) 。
地址不能重叠,一般就要用译码器的功能。 74LS138的真值表
输出有效时,只有一个为低电平,其余为高电平,故用其来接被选的芯片时, 只有一个被选中。保持芯片之间地址的不重叠。(74LS139的介绍见书P158)
5.2.3 程序存储器扩展设计
(1)扩展16KB EPROM(线选法用单片机地址总线高位地址作为选择某 一存贮器的片选信号)。
CPU访问外部数据存储器时,ALE信号少出现一次,地址数 据输出后经过悬浮(高阻)状态后,才能进入数据输入或输出状态!
第一周期:P2口输出地址的高8位,P2口输出地址的低8位。ALE下 降沿将低8位地址锁存到外部地址锁存器。随即 PSEN 低电平有效。P0口 由输出变为输入,对应选 中的存储单元中的指令出现在P0口,由CPU 读取。经CPU译码后,知道是对外部数据存储器的操作。随后,P2口输 出外部数据存储器地址的高8位,P0口输出外部数据存储器的低8位。由 ALE锁存,由于是与外部数据存储器打交道。PSEN 一直为高电平无效(PSEN 信号线接EPROM的 OE 端,选通的是程序存储器!)
Q0~Q7 / OE
2764
A0~A7 A8~A12
Q0~Q7 / OE
2764
PSEN
P2.6 0 0 1
P2.5 0 1 0
/Y0 /Y1 /Y2 0 1 1 0000-1FFFH (8000H-9FFFH) 括号内 1 0 1 2000-3FFFH(A000H-BFFFH) 为重叠 1 1 0 4000-5FFFFH(C000H-DFFFH) 区!
第一个机器周期
S1
S2 S3 S4 S5 S6 S1
S2
S3 S4
S5
S6
ALE
PSEN Βιβλιοθήκη BaiduD /WR
P2 P0
PCH输出
PCL 输出
指令 输入
DPH或P 输出 2
地址 输出
数据输出 (输入)
PCH
PCL 输出
第二周期:第一个ALE信号丢失,若执行的是读指令(MOVX A,@DPTR),P0口由输出变为输入,随即 RD为低电平有效。外部数据 存储器被选通。相应存储单元内容出现在P0口上供CPU读入累加器中, 若执行的是写指令(MOVX @DPTR,A),此时 WR为低电平有效。被写的 数据出现在P0口,并在 WR结束之前一直保持不变,写入相应的外部数 据存储器单元。第二个ALE锁存的地址,PSEN 有效,读的内容丢弃。
PSEN
P2 ALE
8 P0
8 锁存器
A15~A8
地址总线
8
A7~A0
D7~D0 数据总线
下面就涉及到的程序存储器芯片,就如何来进行电路设计进行分析。
5.2.2 常用程序存储器芯片
• EPROM电路
程序写入后(专门的编程器 )
掉电后信息不会丢失的 存储器电路
可擦除可编程只读存储器 Erase
可擦除,用紫外线灯光 照射信息
P0口地址/数据复用线,在ALE上升为高电平时,P0口输出程序存储 器的低8位地址(A7~A0),在ALE的下降沿,把A7~A0锁存到外部地 址锁存器中,得到地址信号,接着,P0口由输出变为输入,高8位地 址不变(低8位已锁存),故已选定外部ROM的某一个地址,随即 PSEN 低电平有效,外部ROM通,对应地址单元中的指令字节出现在数据 总线上供CPU读取。
5.2 程序存储器扩展设计
• 外部程序存储器操作时序
S1
S2 S3 S4 S5 S6 S1
S2
S3 S4
S5
S6
振荡周期
一个机器周期
ALE
PSEN P2 P0
PCH输出
PCH
PCH
PCL 输出
指令 输入
地址 输出
指令 输入
PCL 输出
PCH
指令 输入
PCL 输出
P2口输出程序存储器的高8位地址PCH(A15~A8),具有锁存功能。
P
如果 CE
P2
接地,系统 只能接1片
8031
ROM
P0
P2.7 6
74LS373 8
CE
A13~A8 27128 A7~ A0
ALE
Q0~Q7
PSEN
OE
27128128/8=16K2102414根地址线A0~A13,片内地址由P2.5~P2.0, P0.7~P0.0决定。该片由P2.7选中,存在重叠区域4000~7FFFH(但芯片内地址 不存在,但无关紧要),而且存在地址禁区!(0000~3FFFH)不可能扩展2块。
2.扩展24KB EPROM(部分地址译码)用译码对单片机的高位地址线 进行译码,以译码器的输出作为某一存储器的片选信号。
74LS139
P2.6 P2.5 P2.4~P2.0
5
8031
B Y2
A Y1 Y0
ALE P0
G 74LS373
A0~A7 A8~A12
Q0~Q7 / OE
2764 8
A0~A7 A8~A12