CN100343823C - 地址复用逻辑兼容多种sdram的方法 - Google Patents
地址复用逻辑兼容多种sdram的方法 Download PDFInfo
- Publication number
- CN100343823C CN100343823C CNB2003101023553A CN200310102355A CN100343823C CN 100343823 C CN100343823 C CN 100343823C CN B2003101023553 A CNB2003101023553 A CN B2003101023553A CN 200310102355 A CN200310102355 A CN 200310102355A CN 100343823 C CN100343823 C CN 100343823C
- Authority
- CN
- China
- Prior art keywords
- address
- sdram
- register
- processor
- configuration words
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种地址复用逻辑兼容多种SDRAM的方法,处理器CPU向作为其外设的地址复用逻辑单元写不同的配置字,实现对不同容量SDRAM地址线的驱动,进而兼容SDRAM。包括:处理器根据SDRAM的驱动方式选取配置字,选取的配置字与当前SDRAM的驱动方式相对应;处理器对通过CPU接口挂接在CPU总线上的地址复用逻辑单元内的第一寄存器进行写配置字操作;地址复用逻辑单元根据第一寄存器的值,选取与该值对应的驱动方式,并按该驱动方式对处理器输出的线性地址进行行、列地址复用处理。实施时,处理器还可向地址复用逻辑单元中的第二寄存器写入一个特定值,再由该第二寄存器打开第一寄存器的开关,使后续的处理器对第一寄存器的写配置字操作有效,以确保地址复用正确。
Description
技术领域
本发明涉及一种SDRAM的应用技术,更确切地说是涉及地址复用逻辑与SDRAM实现兼容的技术,可以应用于任何使用处理器和存储器的场合,如通信、计算机、人工智能、仪器仪表等。
背景技术
在某些情况下,处理器的SDRAM控制器送出的地址是线性地址,但是SDRAM以及使用了SDRAM的内存条要求的地址却是行、列复用的地址,为了让处理器能够访问SDRAM,必须在处理器与SDRAM之间增加一个地址复用逻辑单元,由这个地址复用逻辑单元对处理器送出的线性地址进行行、列复用,再将复用后的行、列地址送给SDRAM或SDRAM内存条,处理器与SDRAM间的连接关系如图1所示。图中,在处理器11与SDRAM 12之间设置了一个地址复用逻辑单元13,地址复用逻辑单元13在处理器11输出的控制信号作用下,将处理器11输出的线性地址处理成行列复用地址送SDRAM的地址输入端,SDRAM 12在处理器11输出的控制信号作用下,与处理器11进行数据的双向读写操作。
地址复用逻辑单元13的行列地址复用方式如图2所示。处理器将包含行列地址信息以及BANK选择信号的线性地址送给地址复用逻辑单元13,地址复用逻辑单元13根据处理器送来的行列分割指示信号(PSDMUX信号)按事先设定好的规则进行地址信号的分割,分出行地址、列地址和BANK选择信号,然后按行地址在先、列地址在后的顺序将行、列复用地址送给SDRAM,在送出行、列复用地址的同时送出BANK选择信号。
常用的SDRAM,根据容量的不同,其地址线的驱动方式主要有以下几类:12行×9列、12行×10列、13行×10列等。驱动方式的不同将导致处理器输出线性地址所包含信息的变化,比如说使用12行×9列的SDRAM时,处理器的地址线A20~A28输出列地址信息(9列),A18~A19输出BANK选择信息,A6~A17输出行地址信息(12行)。下表1列出采用12行×9列的SDRAM内存条时,处理器地址线A[6-28]对行列地址及BANK选择信号的分配(处理器地址高位A[0-5]和地址低位A[29-31]的状态与本发明无关):
A[0-5] | A[6-17] | A[18-19] | A[20-28] | A[29-31] |
地址高位 | 行地址 | BANK选择信号 | 列地址 | 地址低位 |
表1
但是如果使用12行×10列的SDRAM内存条时,则处理器的地址线A19~A28将输出列地址信息(10列),A17~A18将输出BANK选择信息,A5~A16将输出行地址信息(12行)。下表2列出采用12行×10列的内存条时,处理器地址线A[5-28]对行列地址及BANK选择信号的分配(处理器地址高位A[0-4]和地址低位A[29-31]的状态与本发明无关):
A[0-4] | A[5-16] | A[17-18] | A[19-28] | A[29-31] |
地址高位 | 行地址 | BANK选择信号 | 列地址 | 地址低位 |
表2
比较以上两种驱动方式,发现后者虽然列地址仅增加了一位,结果导致了处理器线性地址各位的信息发生了很大的变化,因此要使同样的印制电路板(PCB)设计能够兼容不同容量的SDRAM,地址复用逻辑单元的复用方式必须能够通过软件设置进行灵活地修改。
发明内容
本发明的目的是设计一种地址复用逻辑兼容多种SDRAM的方法,针对不同容量的SDRAM导致处理器线性地址信息发生很大变化的问题,提出一种解决方案,通过灵活地修改地址复用逻辑单元的复用方式,使同样的电路设计能够兼容不同容量的SDRAM。
实现本发明目的的技术方案是这样的:一种地址复用逻辑兼容多种SDRAM的方法,由地址复用逻辑单元对处理器输出的线性地址进行地址信号分割,将分出的行、列复用地址送SDRAM,其特征在于在进行地址信号分割前还执行以下处理步骤:
A.处理器根据SDRAM的驱动方式选取配置字,选取的配置字与当前SDRAM的驱动方式相对应;
B.处理器对通过CPU接口挂接在CPU总线上的地址复用逻辑单元内的第一寄存器进行写配置字操作;
C.地址复用逻辑单元根据第一寄存器的值,选取与该值对应的驱动方式,并按该驱动方式对处理器输出的线性地址进行行、列地址复用处理。
所述步骤A中,处理器软件通过读SDRAM内存条上的EEPROM获得当前SDRAM的驱动方式。
在执行所述的步骤A前,处理器获得当前SDRAM的驱动方式,判断该驱动方式是否与默认的驱动方式一致,一致时中止执行步骤A至C,不一致时执行步骤A至C。
在执行步骤B前还包括:处理器向地址复用逻辑单元中的第二寄存器写入一个特定值;写入特定值后的第二寄存器打开第一寄存器的开关,使处理器对第一寄存器的写配置字操作有效。
在执行步骤B后还包括:
B1.处理器回读写入第一寄存器的配置字;
B2.判断该回读的配置字是否与步骤B写入的配置字一致,一致时再向地址复用逻辑单元中的第二寄存器写入一个非特定值,写入非特定值后的第二寄存器关闭第一寄存器的开关,使后续的处理器对第一寄存器的写配置字操作无效;不一致时,重复执行步骤B和步骤B1与B2。
所述的步骤B2中还包括:判断重复执行步骤B和步骤B1与B2的次数是否超过一预设值,超过预设值时,产生告警信号或复位信号。
本发明的技术方案是:处理器将对SDRAM的驱动信息传递给地址复用逻辑单元,地址复用逻辑单元锁存由处理器送来的对SDRAM的驱动信息,并根据锁存的驱动信息选择相应的复用方式,对SDRAM地址线进行驱动,从而实现地址复用逻辑单元兼容多种SDRAM的发明目的。
本发明的目的是通过在处理器与地址复用逻辑单元之间增加通信接口实现的,即通过连接CPU接口,将地址复用逻辑单元作为处理器CPU的一个外设挂在CPU总线上,使处理器CPU可以对地址复用逻辑单元内部的寄存器进行写操作。设置在地址复用逻辑单元里的寄存器,用于存储不同容量SDRAM的驱动信息,每一个驱动信息与一种地址复用方式相对应,地址复用逻辑单元通过判断寄存器当前的值来选择相应的地址复用方式,进行线性地址与行、列复用地址的转换。因而,本发明是一种通过处理器CPU向地址复用逻辑单元写入不同的配置字来实现对不同容量SDRAM地址线进行驱动,进而兼容各种容量SDRAM。
本发明技术方案所需的控制信号少,可靠性较高,软件操作简单,逻辑实现方便,使地址复用逻辑单元可以很灵活可靠地兼容不同驱动方式的SDRAM。
附图说明
图1是处理器与SDRAM连接关系示意图;
图2是地址复用逻辑单元的复用方式示意图;
图3是本发明兼容不同驱动方式SDRAM的原理性框图;
图4是64Mbyte基于页交错模式下的行、列地址分配。
具体实施方式
本发明通过CPU接口将地址复用逻辑单元作为处理器CPU的一个外设挂在CPU的总线上,使CPU可以对地址复用逻辑单元内部的寄存器进行操作。在地址复用逻辑单元里设置一个第一寄存器(REG1)用于存储不同容量SDRAM的驱动信息,每一个驱动信息与一种地址复用方式相对应,地址复用逻辑单元通过判断第一寄存器(REG1)当前的值来选择相应的地址复用方式,完成线性地址与行、列复用地址的转换。
参见图3,图中示意出本发明兼容不同驱动方式SDRAM的结构设计。图中在处理器11与SDRAM 12间设置了地址复用逻辑单元13,地址复用逻辑单元13通过CPU接口连接处理器11,从而使地址复用逻辑单元13能作为一个外设挂在CPU总线上,处理器CPU可以对地址复用逻辑单元13进行写操作。
在地址复用逻辑单元13中设置一个第一寄存器(REG1),用于存储SDRAM的驱动信息。不同容量SDRAM所对应的驱动信息,可作为配置字由处理器CPU控制写入地址复用逻辑单元13的该第一寄存器(REG1)中。地址复用逻辑单元13则根据该第一寄存器(REG1)中的值决定复用方式,按该复用方式进行线性地址与行、列复用地址的转换。
为了保证可靠性和防止对第一寄存器(REG1)的误操作导致地址复用的错误,本发明在地址复用逻辑单元里还设计了一个第二寄存器(REG2),该第二寄存器(REG2)作为第一寄存器(REG1)的控制开关,用于防止第一寄存器(REG1)的误操作,即只有向第二寄存器(REG2)写入一个特定的值(假如为0x55),才能由该第二寄存器(REG2)打开第一寄存器(REG1)的开关,接下来对第一寄存器(REG1)的写操作才有效。
软件设计时,按一定的顺序配置寄存器REG1和REG2。首先向REG2里写入一个特定的值(如0x55),打开REG1的开关;接下来处理器CPU向寄存器REG1里写入与当前SDRAM容量相关的配置字驱动信息。为了确保处理器CPU对寄存器REG1写入的是正确的配置数据,在软件设计时还在对REG1作完写操作后,紧接着对REG1的数据进行回读比较,如果正确就向REG2里写一个不是特定值(0x55)的数(假设为0x00),来关闭REG1,否则就再次对REG1进行写和回读比较操作,如果该回读比较操作超过一定的次数(可以根据具体情况在软件中设置),CPU就认为有误,产生告警信号或者复位信号,复位处理器与内存条单板。
参见图4,基于页交错模式下的内存条行、列地址分配(与处理器间的地址对应关系)。并结合参见图3。实施例处理器选用MOTOROLA的MPC8260,MPC8260的60X总线挂接了64MByte的SDRAM内存条,其驱动方式为12行×9列×4BANK。MPC8260的60X总线工作在兼容模式的时候,其60x地址线输出的地址不是SDRAM所要求的行列复用的地址,而是线性地址,各地址信号的功能分配如表1所示。
当MPC8260需要访问内存单元时,MPC8260送出对应的物理地址,地址复用逻辑单元将该物理地址锁存,并根据MPC8260送出的PSDMUX信号,对此物理地址进行行列地址分割,然后分别送往SDRAM。
当PSDMUX=1时,地址复用逻辑单元将MPC8260 A6、SDA10、A8-A17管脚上的值复用到内存条SDRAM的地址管脚A11-A0上(行地址)。内存条SDRAM地址A10与MPC8260地址线中的A7对应,但不相连,只与MPC8260的SDA10管脚相连。SDA10是SDRAM控制机制的特殊引脚,此信号在行地址期间作为SDRAM地址A10使用,在列地址期间作为命令使用。A19、A18送到SDRAM的BANK选择线,也可将MODCK3、MODCK2(多功能管脚,分别复用到BNKSEL2和BNKSEL1)送到SDRAM的BANK选择线,实现BANK信号选择。
当PSDMUX=0时,地址复用逻辑单元将MPC8260的A20-A28送出到内存条的地址管脚A8-A0(列地址)上。内存条的A8-A0管脚是行列地址复用的管脚。
随着器件升级和业务扩展对内存的需要,当使用的内存条要升级为128MByte,其驱动方式为12×10×4,由于列地址的增加,需要对地址复用逻辑的行列地址切换进行修改。
采用64MByte单面以及128MByte双面的内存条时,地址逻辑的切换按照表1进行。
采用128MByte单面以及256MByte双面的内存条时,由于列地址多了一根,因此需要修改地址切换的方式,地址逻辑的切换按照表2进行。
地址复用逻辑单元上电时的缺省状态可定为12行×9列。上电后,处理器软件通过读内存条上的EEPROM来判断内存条的型号(容量、驱动方式),如果内存条的型号是12行×9列,处理器软件则不必向地址复用逻辑单元发送配置字信息,按默认的复用方式进行线性地址与行、列复用地址间的转换;如果内存条的型号是除12行×9列以外的型号,则MPC8260首先通过60X总线向地址复用逻辑单元的第二寄存器(REG2)写入一个特定的值(如0×55),打开地址复用逻辑单元的第一寄存器(REG1)的开关;其次MPC8260通过60X总线向REG1写入与当前SDRAM型号相对应的配置字信息;接下来MPC8260对REG1中的数据进行回读比较,确认写入的配置字是否正确,当正确时MPC8260向REG2写入一个不是特定值(0x55)的数(假设为0x00),来关闭REG1;地址复用逻辑单元根据REG1中的配置字信息选择相应的地址复用方式对线性地址进行行、列复用地址的转换。
Claims (6)
1.一种地址复用逻辑兼容多种SDRAM的方法,由地址复用逻辑单元对处理器输出的线性地址进行地址信号分割,将分出的行、列复用地址送SDRAM,其特征在于在进行地址信号分割前还执行以下处理步骤:
A.处理器根据SDRAM的驱动方式选取配置字,选取的配置字与当前SDRAM的驱动方式相对应;
B.处理器对通过CPU接口挂接在CPU总线上的地址复用逻辑单元内的第一寄存器进行写配置字操作;
C.地址复用逻辑单元根据第一寄存器的值,选取与该值对应的驱动方式,并按该驱动方式对处理器输出的线性地址进行行、列地址复用处理。
2.根据权利要求1所述的一种地址复用逻辑兼容多种SDRAM的方法,其特征在于:所述步骤A中,处理器软件通过读SDRAM内存条上的EEPROM获得当前SDRAM的驱动方式。
3.根据权利要求1所述的一种地址复用逻辑兼容多种SDRAM的方法,其特征在于:在执行所述的步骤A前,处理器获得当前SDRAM的驱动方式,判断该驱动方式是否与默认的驱动方式一致,一致时中止执行步骤A至C,不一致时执行步骤A至C。
4.根据权利要求1所述的一种地址复用逻辑兼容多种SDRAM的方法,其特征在于在执行步骤B前还包括:处理器向地址复用逻辑单元中的第二寄存器写入一个特定值;写入特定值后的第二寄存器打开第一寄存器的开关,使处理器对第一寄存器的写配置字操作有效。
5.根据权利要求1所述的一种地址复用逻辑兼容多种SDRAM的方法,其特征在于在执行步骤B后还包括:
B1.处理器回读写入第一寄存器的配置字;
B2.判断该回读的配置字是否与步骤B写入的配置字一致,一致时再向地址复用逻辑单元中的第二寄存器写入一个非特定值,写入非特定值后的第二寄存器关闭第一寄存器的开关,使后续的处理器对第一寄存器的写配置字操作无效;不一致时,重复执行步骤B和步骤B1与B2。
6.根据权利要求5所述的一种地址复用逻辑兼容多种SDRAM的方法,其特征在于所述的步骤B2中还包括:判断重复执行步骤B和步骤B1与B2的次数是否超过一预设值,超过预设值时,产生告警信号或复位信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101023553A CN100343823C (zh) | 2003-10-27 | 2003-10-27 | 地址复用逻辑兼容多种sdram的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101023553A CN100343823C (zh) | 2003-10-27 | 2003-10-27 | 地址复用逻辑兼容多种sdram的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1612109A CN1612109A (zh) | 2005-05-04 |
CN100343823C true CN100343823C (zh) | 2007-10-17 |
Family
ID=34756380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101023553A Expired - Fee Related CN100343823C (zh) | 2003-10-27 | 2003-10-27 | 地址复用逻辑兼容多种sdram的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100343823C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477837B (zh) * | 2009-01-21 | 2011-10-19 | 炬力集成电路设计有限公司 | 一种存储器容量检测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1152780A (zh) * | 1994-10-07 | 1997-06-25 | 缪凯什·查特 | 改进的动态随机存取存储器设备的方法与装置 |
US6016537A (en) * | 1997-03-07 | 2000-01-18 | Advanced Micro Devices, Inc. | Method and apparatus for address multiplexing to support variable DRAM sizes |
US6260101B1 (en) * | 1997-03-07 | 2001-07-10 | Advanced Micro Devices, Inc. | Microcontroller having dedicated hardware for memory address space expansion supporting both static and dynamic memory devices |
US6438068B1 (en) * | 2000-06-30 | 2002-08-20 | Micron Technology, Inc. | Active terminate command in synchronous flash memory |
-
2003
- 2003-10-27 CN CNB2003101023553A patent/CN100343823C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1152780A (zh) * | 1994-10-07 | 1997-06-25 | 缪凯什·查特 | 改进的动态随机存取存储器设备的方法与装置 |
US6016537A (en) * | 1997-03-07 | 2000-01-18 | Advanced Micro Devices, Inc. | Method and apparatus for address multiplexing to support variable DRAM sizes |
US6260101B1 (en) * | 1997-03-07 | 2001-07-10 | Advanced Micro Devices, Inc. | Microcontroller having dedicated hardware for memory address space expansion supporting both static and dynamic memory devices |
US6438068B1 (en) * | 2000-06-30 | 2002-08-20 | Micron Technology, Inc. | Active terminate command in synchronous flash memory |
Also Published As
Publication number | Publication date |
---|---|
CN1612109A (zh) | 2005-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853207B (zh) | 存储装置 | |
CN103946814B (zh) | 计算机系统中的非易失性随机存取存储器的自主初始化 | |
KR100330531B1 (ko) | 다중 메모리 기억 및 드라이버 리시버 기술에 사용되는데이터 버스 구조와 이 구조를 동작시키는 방법 | |
US10216415B2 (en) | Computer program product, system, and method for dynamically increasing the capacity of a storage device | |
US20080162792A1 (en) | Caching device for nand flash translation layer | |
DE102009026178A1 (de) | Mehrstufiger Controller mit intelligentem Speicher-Transfer-Manager zum Verschachteln mehrfacher Ein-Chip-Flash-Speichereinheiten | |
CN1682199A (zh) | 一种包含非易失性ram和ram的存储电路 | |
WO2012078296A1 (en) | Method and system for hijacking writes to a non-volatile memory | |
CN112860177A (zh) | 提高存储器系统的写入吞吐量的设备和方法 | |
WO2007047062A2 (en) | Storage of transformed units of data in a memory system having fixed sized storage blocks | |
CN1220948C (zh) | 获取计算机硬件信息的方法 | |
CN115904251A (zh) | 硬盘顺序调整方法及装置、系统、电子设备、存储介质 | |
US20200151119A1 (en) | Method and apparatus for performing access control between host device and memory device | |
CN1260663C (zh) | 串行总线磁盘扩充器和便携式存储装置 | |
CN100343823C (zh) | 地址复用逻辑兼容多种sdram的方法 | |
CN1317846C (zh) | 实现内外网络物理隔离的方法及其装置 | |
US20080222365A1 (en) | Managed Memory System | |
CN1768331A (zh) | 半导体存储器装置和控制器及其读写控制方法 | |
EP2795455A1 (en) | Systems and methods for managing parallel access to multiple storage systems | |
CN100343822C (zh) | 地址复用逻辑实现与sdram兼容的方法 | |
CN1503140A (zh) | Bios存储阵列 | |
CN1135800A (zh) | 带有可重新组合的程序状态字的微控制器 | |
CN113094306B (zh) | 有效数据管理方法、存储器存储装置及存储器控制器 | |
US20050223144A1 (en) | Information terminal and data transfer method for information terminal | |
CN1279451C (zh) | 驱动能力设定方法、及驱动电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071017 Termination date: 20131027 |