如何实现单片机外部存储器的扩展
扫描二维码
随时随地手机看文章
MCS 51 系列单片机具有 64KB 的程序存储空间,其中 8051 、8071 片内有 4KB 的程序存储器,8031 片内无程序存储器 。当采用 8051 、8071 型单片机而程序超过 4KB,或采用 8031 单片机时,就需对程序存储器进行外部扩展。
MCS 51 系列单片机的数据存储器与程序存储器的地址空间相互独立,其片外数据存储器的空间也是 64KB,如果片内的数据存储器(仅 128B) 不够用时,则需进行数据存储器的外部扩展。
1. 外部程序存储器的扩展原理及时序
MCS 51 单片机扩展外部程序存储器的硬件电路如图 7.5 所示。
图 7.5 MCS 51 单片机程序存储器的扩展原理
MCS 51 单片机访问外部程序存储器所使用的控制信号有:ALE(低 8 位地址锁存控 制) 和 PSEN(外部程序存储器“读取”控制)。
在外部存储器取指期间,P0 口和 P2 口输 出地址码(PCL 、PCH), 其中 P0 口信号由 ALE 选通进入地址锁存器后,变成高阻态等待从程序存储器读出指令码。从图中可以看出 ,MCS 51 的 CPU 在一个机器周期 内,ALE 上出现两个正脉冲,PSEN出现两个负脉冲,说明 CPU 可以两次访问外部程序存储器,再之单片机指令系统中又有很多双字节单周期指令,使得程序的执行速度大大提高。
外部程序存储器可选用 EPROM 、E2 PROM 、PAGEDEPROM 和 KEPROM 等。 2.EPROM 扩展电路
紫外线擦除电可编程只读存储器 EPROM,典型产品有 Intel 公司的系列芯片 2716(2K ×8 位)、 2732A(4K×8 位)、 2764A(8K×8 位)、 27128A(16K×8 位)、 27256(32K×8 位) 和 27512(64K×8 位) 等,在这些芯片上均设有一个玻璃口,在紫外线下照射 20 分钟 左右,存储器中的各位信息均变为 1 。以后通过编程器可将程序固化到这些芯片中。
以下介绍 2716EPROM 。2716 的存储容量为 2K×8 位,单一+5V 供 电,运行时的最大功耗为 252mW,维持功耗为 132mW,读出时间最大为 450ns 。2716 为 24 线双列直 插式封装,其引脚如图 7.6 所示。
2716 有五种工作方式,见表 7.1 。
2716 与 8031 接口主要解决两个问题:一是硬件连接问题,二是根据实际连线确定芯片地址。硬件接口见图 7.7。
由图 7.7 可确定 2716 芯片的地址范围 。方法是 A10 ~A0 从全 0 开始,然后从最低位开始依次加 1,最后变为全 1,相当于 211=2048 个单元地址依次选通,称为字选。即
3.E2 PROM2864A 的扩展
E2 PROM 电擦除电可编程只读存储器是近年来被广泛应用的一种新产品 。其优点是能使 CPU 在线修改其中的数据,并可在断电情况下保存数据,集 EPROM 和 RAM 功能于一体。
Intel2864A 是 8K×8 位 E2 PROM,单一+5V 供电,最大工作电流为 140mA,维持电流 60mA,其 24 脚的管脚及原理框图见图 7.8 。由于片内设有编程所需的高压脉冲产生电路,因此无需外加编程电源和写入脉冲。
图 7.8 2864A 管脚及原理框图
(a) 管脚; (b) 原理框图
2864A 有 4 种工作方式,如表 7.2 所示。
(1) 维持和读出方式:2864A 的维持和读出方式与普通 EPROM 完全相同。
(2) 写入方式:2864A 提供了两种数据写入操作方式,即字节写入和页面写入。
(3) 数据查询方式:数据查询方式是指用软件来检测写操作中的“页存储”周期是否完成。在“页存储”期间,如进行写操作,读出的是最后写入的字节,若芯片的转储工作未完成,则读出数据的最高位是原来写入字节最高位的反码,据此,CPU 可判断芯片的编程是否结束。
2864A 与 8031 的接口电路如图 7.9 所示。
图 7.9 2864A 与 8031 的接口电路
外部数据存储器的扩展
8031 单片机内部仅有 128 个字节 RAM 存储器,而 CPU 对 内部的 RAM 具有丰富的操作指令。如在实时数据采集和处理时,仅靠片内的 RAM 是远远不够 的 ,因而必须扩展外部数据存储器。常用的数据存储器有静态 RAM 和动态 RAM 两种,下面主要讨论静态 RAM 与 MCS 51 的接口。
1. 外部数据存储器的扩展方法及时序
单片机扩展外部 RAM 的原理图如图 7.10 所示,数据存储器只使用 WR 、RD扩展线而不用 PSEN 。因此,数据存储器与程序存储器地址可完全重叠,均为 0000H~0FFFFH ,但数据存储器与 I/O 口及外围设备是统一编址的,即任何扩展的 I/O 口以及外围设备均占 用数据存储器的地址。
图 7.10 MCS 51 数据存储器的扩展示意图
MCS 51 单片机读/写外部数据存储器的时序如图 2.9 、2.10 所示。在图 2.10 的外部RAM 读周期中,P2 口输出高 8 位地址,P0 口分时传送低 8 位地址及数据。ALE 的下降沿将低 8 位地址打入地址锁存器后,P0 口变为输入方式,RD有效选通外部 RAM,相应存储单元的内容送到 P0 口上 ,由 CPU 读入累加器 。
外部 RAM 写操作时,ALE 下降为低电平后,WR才有效,P0 口上出现的数据写入相 应的 RAM 单元。
2 .静态 RAM 扩展
8031 单片机应用系统中,静态 RAM 最为常用,因为这种存储器无需考虑刷新问题。但与动态 RAM 相比,需要消耗较大的功率,价格也较高 。下面以静态 6264 为例,介绍静态 RAM 的扩展。
6264 是 8K×8 位的静态随机存储器芯片,采用 CMOS 工艺制造,单一+5V 供电,额定功耗为 200mW,典型存取 时间为 200ns ,为 28 线双列直插式封装 ,管脚见 图 7.11 。 各管脚含义如下:
A0 ~A12 :13 条地址线;
I/O0 ~I/O7 :双向数据线;
CE1 :片选信号线 1 ;
CE2 :片选信号线 2 ;
OE:输出允许信号;
WE:写信号。
6264 的工作方式有 4 种,见表 7.3 。
图 7.11 6264 管脚图