本应用笔记介绍如何使用某些多路复用总线实时时钟(RTC)中提供的扩展RAM。
一般概述
DS1685/87和DS17x85/87包括一个额外的扩展用户RAM模块。每个设备的内存容量变化如下;DS1685/87提供1,024位,组成128 x 8模块,DS17x85/87提供16,384、32,768或65,536位,分别以2kbit x 8、4kbit x 8或8kbit x 8模块排列。
寄存器分区
图 1 说明了如何将寄存器块划分为两个独立的存储体:组 0 和组 1。位于控制寄存器0Ah(位4)中的组选择位DV0用于选择要访问的寄存器组。当 DV0 写入逻辑 0 时,选择库 0,并且可以访问额外的 64 字节用户 RAM。但是,当 DV0 写入逻辑 1 时,将选择组 1,并且可以访问附加功能,包括扩展用户 RAM。实时时钟 (RTC)、控制寄存器和 50 字节的用户 RAM 可从任一组访问,与 DV0 位无关。
图1.注册块分区。
软件通信端口
扩展用户 RAM 通信端口驻留在组 1 寄存器块中。扩展用户RAM地址端口位于寄存器50h和51h中,而扩展用户RAM数据端口位于寄存器53h中。寄存器 50h 包含 LSB 地址,寄存器 51h 包含 MSB 地址。DS1685/87仅需7位即可对扩展RAM进行寻址,因此不需要MSB地址寄存器51h。这三个组 1 寄存器提供访问扩展用户 RAM 所需的软件接口。下面列出了读取和写入扩展 RAM 所涉及的步骤:
将 DV0 位写入逻辑 1
写入LSB地址以注册50h
写入MSB地址(如果需要)以注册51h
读取或写入数据寄存器,53h
DS17x85/87具有自动地址递增功能,简化了访问扩展用户RAM所需的软件。此功能可以通过位于扩展控制寄存器4Ah,位5中的单个位启用或禁用。此功能简化了访问连续 RAM 地址位置所需的软件。
适用于 PC 应用的协议
用于访问 CMOS RAM 的处理器 I/O 端口分别为 70h 和 71h。端口70h是CMOS RAM地址寄存器,端口71h是CMOS RAM数据寄存器。图 2 所示的流程图说明了 PC 应用程序的软件协议。
图2.PC软件协议流程图。
总结
扩展用户RAM软件访问方法为用户提供了最大的灵活性,无需任何硬件修改即可确定DS1685/87和DS17x85/87(2kbits、4kbits和8kbits)器件所需的RAM密度。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !