MCS96系列单片机的一种大容量的外部RAM扩展技术

2006-05-07 15:49:35来源: 互联网


    根据MCS96系列单片机的内存体系结构分配图(见图1)分析可以看出,0100H-1FFDH,4000H-0FFFFH两个区域可以给外部存储器及I/O口使用。0100H-1FFDH的区域较小,考虑到一般应用系统的程序较短,只有几K,I/O口地址更少,因而可以将此区域分配给外部ROM与I/O口。4000H-0FFFFH区域分配给外部RAM。由于一般RAM芯片的存储地址容量为2NK(N为大于零的整数),因此这48K的区域可以用32K与16K的RAM芯片组成。如要求有大容量存储地址空间,则可以把以上48K的区域整个看成一个段,或者将此区域的一部分看成一个段,多设置几个这样的段就可以解决。

2.2 段的存储空间的最佳设置

    由于段的空间的设置区域在从4000H-0FFFFH的48K的存储地址空间,因而有三种段的存储地址空间大小的设置方案:

    1.每段设为起始地址相同的32K,这样每段只由32K的芯片组成。

    2.每段都设为48K,这样每段可以由32K的芯片与16K 的芯片组成。

    3.一些段设为48K,这些段可以由32K的芯片与16K 的芯片组成;一些段设为32K,这些段只由32K的芯片组成。

    方案2与3由于采用32K的芯片与16K 的芯片组成段,因而在硬件设计方面使地址译码器与存储器的连接复杂,更不便于对各段存取管理;而方案1则只采用32K的芯片组成段,而且起始地址相同,在硬件设计方面简单,也便于用逻辑段表进行存取管理。因而采用方案1,即段的存储空间大小的最佳设置为32K。

2.3 段的存取控制

    2.3.1 存储器逻辑段与物理段的关系

    由于段的存储地址空间大小的最佳设置为32K,各段的实际物理地址为物理段号加上物理段内地址,可设物理段号的存储单元为8个bit,这样整个外扩RAM容量为256*32K,即8M。对于一般的单片机应用系统已经远远满足了。由于各物理段之间地址不连续, 用户直接使用物理地址编程不方便,因而要采用连续的逻辑地址供用户使用,来对各物理段访问。逻辑地址分为逻辑段号与逻辑偏移地址两部分,逻辑段号的存储单元也为8个bit,但由于逻辑偏移地址为16个bit,因而一个逻辑段的大小为64K,地址从0000H-0FFFFH,即1个逻辑段与2个物理段相对应。所以逻辑段的个数为实际物理段的个数的一半。我们对物理段与逻辑段进行编号,设逻辑段的个数为N个,编号为0,1,2.....N-1,可以用图2来表示二者的对应关系。

    2.3.2 逻辑段表设计与段的存取管理

    为了便于对段的存取管理控制,设计一个逻辑段表,表的内容为逻辑段号,因为一个逻辑段为64K,它与2个物理段(每段32K)相对应,因而逻辑段表的长度为实际物理段总数的一半。设有N个段,逻辑段表如图3。例如:有8个32K的物理段,逻辑段表的长度为4个字节,逻辑段表的内容为:0,1,2,3。实际的物理段号为:0,1,2,3,4,5,6,7。每个逻辑段号与2个物理段号相对应。

    另外,为了便于存取控制,设计一个将逻辑地址自动转换成物理地址的子程序,子程序必须简单;经过分析,把每个32K的物理段的起始地址都设为8000H,既每个32K的物理段的段内地址都是从8000H-0FFFFH,根据逻辑地址与物理地址的对应关系,笔者设计了一个子程序,由于结构简单,只给出了具体流程图, 见图4。子程序的入口参数为逻辑段号与逻辑偏移地址,返回结果为物理段号与物理段内地址。这样,对段的存取访问可先查逻辑段表取出逻辑段号,再调用该子程序实现。

3 设计举例:8096外扩128K的RAM

   
分析:由于地址空间为128K,因此可以设置4个大小同为32K的段,每段选用1个62256芯片;电路原理分析:8096的P3口输出直接作为数据总线使用,同时外接74LS373的输出作为低地址总线A0-A7,P4口的P4.0-P4.6作为高地址总线A8-A14使用。P4.7经过一反相器连接74LS139(双2-4译码器)的 (使能端),P1.1 P1.0分别与74LS139译码器的两个输入端1A1 1A0相接, P1.1 P1.0 P4.7分别作为高地址总线A17A16A15使用。译码器的输出 3 2 1 0 分别与4个存储器62256的片选信号相接,这样我们得出:段0存储器的物理地址为08000H-0FFFFH, 段1存储器的物理地址为18000H-1FFFFH,段2存储器的物理地址为28000H-2FFFFH,段3存储器的物理地址为38000H-3FFFFH。而逻辑地址为00000H-1FFFFH。逻辑段表的内容为0,1。具体电路图见图5。

4 总结

   
这种段式管理的外部RAM扩展技术简单方便,具有很大的优越性,具体体现在以下几方面:从应用角度看,此技术能够实现大容量的外部RAM的扩展。最大的扩展RAM容量为8M,远远超出了一般应用系统的RAM扩展需求。从用户角度看,用户在编程时不必考虑实际物理RAM的地址空间是否连续,通过段式管理,用户使用连续的逻辑地址来编程,克服了不连续物理地址空间的缺陷,而且,对各段存储的数据提供了保护,在一般的大数据量的单路信号检测与处理系统中,此技术使得用户对连续采集的数据的存取是透明的,不受硬件的局限,便于用高级语言开发设计。从硬件角度看,各存储段相互独立,互不影响,从系统的可靠性分析,各段的存储器芯片的故障也不会对整个系统造成很大影响,在一般的多路大数据量的信号检测与处理系统以及由单片机组成的集散式控制系统中,可以为每路采集的数据分配不同的段来存储,这样对各段存储的数据提供了保护,提高了整个系统的可靠性,应用效果是非常理想的。

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/memory/200605/1570.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved