单片机外部RAM扩展模块
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机外部RAM扩展模块
MCS-51系列单片机外部RAM为64K,在一些特殊场合下,远不能满足需要,
本文就AT89C51讨论MCS-51系列单片机大容量RAM的扩
首先介绍128K随机读取RAM HM628128。HM628128
是32脚双列直插式128K静态随机读取RAM,它具有容
量大、功耗低、价格便宜、集成度高、速度快、设计和
使用方便等特点。如若在系统中加入掉电保护电路,保
护数据有很高的可靠性,可以和EEPROM相媲美。
技术特性:
(1)最大存取时间为120ns;
(2)典型选通功耗75mW;典型未选通功耗10uW;
(3)使用单一5V电源供电;
(4)全静态存储器,不需要时钟及时序选通信号;
(5)周期时间与存取时间相等;
(6)采用三态输出电路,数据输入和输出端公用;
图6 HM628128外部引脚(7)所有输入和输出引脚均与TTL电平直接兼
容;
(8)有两个片选端,适合于低功耗使用,即为了保存信息,用电池作为后
备电源。保存信息的最低电源电压Vcc=2V。
引脚安排及功能表:
图6是HM628128的外部引脚排列图,各引脚名称及功用分别如下:
A0~A16是17条地址线;I/O0~I/O7是8条双向数据线;CS1是片选1,低电平有效,CS2是片选2,高电平有效;WR是写控制线,当CS1为低电平,CS2为高电平时,WR的上升沿将I/O0~I/O7上的数据写到A0~A16选中的存储单元
中;OE是读出允许端,低电平有效。
HM628128的功能表如表3所示。
其中,H表示高电平,L表示低电平,X表示任意状态
由于AT89C51直接外部RAM容量为64K,地址线为16条,其中低8位地址和数据分时复用,因此需要外部地址锁存器和ALE锁存信号来锁存低8位地址。又由于AT89C51的外部数据和外设地址通用,若扩展外设必然占用数据地址。因此本系统采用P2.7(A15)口来区分数据和外设:当P2.7(A15)口为高电平时,
选择外部数据;P2.7(A15)口为低电平时,则为外设。因此,直接外部数据容量和外设数量都为32K ,可用地址线为15条。本系统外部扩展RAM 为256K ,地址线18条。要达到18条地址线,则必须扩展。理论上可行方法很多,如以P1口的某几位作为最高位地址输出、外加锁存器锁存高位地址等。本系统采用后者,以保留P1口,况且外设空间充裕。扩展电路如图7所示:
图7 RAM 地址扩展电路
当读写外部数据时,首先应往高位地址锁存器中送入高位地址,然后再以DPTR 为间接地址访问外部数据,注意最高位地址应为1,即数据区最低地址为8000H 。
以下程序段演示了外部数据的读写。
……
MOV DPTR ,#0020H ;0020H 为高位地址锁存器的地址
MOV A ,#00H ;00H 表示第一个32K 空间
MOVX @DPTR ,A ;写入地址数据
MOV DPTR ,#8000H ;8000H 为每个32K 的第一个字节地址
MOVX A ,@DPTR ;从地址单元读取数据
……
若最后一句换为:
MOVX @DPTR ,A
则为向RAM 中写数据。
同时作者还利用HM628128的数据保持特性为其加入了掉电保护电路。当主电源关闭时,备用电源发挥作用,这样RAM 内的数据就不会丢失。其特性如表4所示。
译码器
地址总线
CS1 0V
图8 CS2控制数据保持时序
根据表4和图8可知,只要在系统上电或断电期间保证使HM628128的CS2立即变为低电平(CS2≤0.2V )或WR 立即变为高电平就可使其中的数据维持不变,图9可实现这一功能。
≥Vcc-0.2V
图9掉电保护电路
其原理如下:当系统正常时,电流通过D1向HM628128供电,同时向电池BT 充电,当系统电源切断时,将由电池供电。
上电时,系统电源对C1充电,在此期间CS2是输入要经过一定的延时后才能变为高电平,同时,由于U1、U2的电源是由系统电源对C2充电来建立的,这就保证了在上电时HM628128处于写静止状态。
在系统掉电瞬间,由于U1、U2由Vs供电,仍处于工作状态,电源掉电致使U1的输入立即变低,WR端变为低电平,从而禁止对HM628128的写入。同时C1也通过D2和R2放电,从而使CS2变为低电平。因此在掉电瞬间和掉电后,HM628128也处于写禁止状态。
经实践证明,本电路工作可靠,RAM中数据保存完整。