地址复用逻辑实现与sdram兼容的方法

文档序号:6419942阅读:232来源:国知局
专利名称:地址复用逻辑实现与sdram兼容的方法
技术领域
本发明涉及一种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选择信号,然后按进入地址复用逻辑单元13的先后顺序将行、列复用地址送给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
和地址低位A[29-31]的状态与本发明无关)

表1但是如果使用12行×10列的SDRAM内存条时,则处理器的地址线A19~A28将输出列地址信息(10列),A17~A18将输出BANK选择信息,A5~A16将输出行地址信息(12行)。下表2列出采用12行×10列的内存条时,处理器地址线A[5-28]对行列地址及BANK选择信号的分配(处理器地址高位A
和地址低位A[29-31]的状态与本发明无关)

表2比较以上两种驱动方式,发现后者虽然列地址仅增加了一位,结果导致了处理器线性地址各位的信息发生了很大的变化,因此要使同样的印制电路板(PCB)设计能够兼容不同容量的SDRAM,地址复用逻辑单元的复用方式必须能够通过软件设置进行灵活地修改。

发明内容
本发明的目的是设计一种地址复用逻辑实现与SDRAM兼容的方法,针对不同容量的SDRAM导致处理器线性地址信息发生很大变化的问题,提出一种解决方案,通过灵活地修改地址复用逻辑单元的复用方式,使同样的PCB设计能够兼容不同容量的SDRAM。
实现本发明目的的技术方案是这样的一种地址复用逻辑实现与SDRAM兼容的方法,由地址复用逻辑单元对处理器输出的线性地址进行地址信号分割,将分出的行、列复用地址送SDRAM,其特征在于在进行地址信号分割前还执行以下处理步骤A.处理器根据SDRAM的驱动方式选取控制字序列码,选取的控制字序列码与当前SDRAM的驱动方式相对应;B.处理器在时钟信号的同步控制下,将控制字序列码写入地址复用逻辑单元;C.地址复用逻辑单元判断接收的控制字序列码是否与序列码期待值匹配,匹配时选择与该控制字序列码对应的SDRAM的驱动方式,并按该驱动方式对处理器输出的线性地址进行行、列地址复用处理,不匹配时保持原SDRAM的驱动方式。
所述时钟信号和控制字序列码信号可分别通过处理器上的两通用管脚引线至地址复用逻辑单元。
处理器在时钟信号的上升沿或者下降沿逐位发送所述的控制字序列码,地址复用逻辑单元在时钟信号的下降沿或者上升沿锁存控制字序列码。
所述步骤A中,与SDRAM不同驱动方式对应的控制字序列码,按互相间具有低相关性的原则设定。
所述步骤A中,处理器软件通过读SDRAM内存条上的EEPROM获得当前SDRAM的驱动方式。
在执行所述的步骤A前,处理器获得当前SDRAM的驱动方式,判断该驱动方式是否与默认的驱动方式一致,一致时中止执行步骤A至C,地址复用逻辑单元按默认的驱动方式进行行、列地址复用处理,不一致时执行步骤A至C。
所述步骤B中,处理器在发送完控制字序列码后,将时钟信号与控制字序列码信号拉成默认电平,控制字序列码信号的默认电平与地址复用逻辑单元默认的驱动方式的序列码期待值相反。
所述步骤B中,处理器将控制字序列码逐位写入地址复用逻辑单元的序列码移位寄存器中;所述步骤C中,序列码移位寄存器逐位接收控制字序列码,同时进行比较并移位,在序列码移位寄存器里的值与一序列码期待值相匹配时,地址复用逻辑单元选择与该控制字序列码对应的SDRAM的驱动方式。
本发明的技术目的,是通过在地址复用逻辑单元与处理器之间增加通信接口实现的,即通过连接时钟线与数据线,处理器将对SDRAM的驱动信息转换成控制字序列码并通过数据线传递给地址复用逻辑单元,地址复用逻辑单元锁存该控制字序列码,并根据锁存的控制字序列码选择所对应的复用方式,地址复用逻辑单元按该复用方式对行、列地址进行复用,从而兼容不同驱动方式的SDRAM。而通过时钟线传递的时钟则用于地址复用逻辑单元与处理器之间的操作同步。
本发明方法采用控制字序列码实现地址复用逻辑单元与SDRAM的兼容,通过往地址复用逻辑单元送控制字序列码,来改变地址复用逻辑单元对行列地址的复用方式,从而兼容各种驱动方式的SDRAM,因而本发明是一种采用控制字实现地址复用逻辑单元与SDRAM兼容的设计方案。
本发明技术方案所需的控制信号少,软件操作简单,逻辑实现方便,可以灵活并可靠地兼容不同驱动方式的SDRAM。


图1是处理器与SDRAM连接关系示意图;图2是地址复用逻辑单元的复用方式示意图;图3是本发明兼容不同驱动方式SDRAM的原理性框图;图4是内存条64Mbyte的SDRAM基于页交错模式下的行、列地址分配。
具体实施例方式
本发明的目的是通过在地址复用逻辑单元和处理器之间增加接口—包括一个时钟信号线(SCLK)和一个数据信号线(SDAT)实现的。
时钟信号SCLK和数据信号SDAT的详细功能描述在下表3中

表3参见图3,图中示意出本发明兼容不同驱动方式SDRAM的结构设计。图中,在处理器11与SDRAM 12之间设置了地址复用逻辑单元13,在处理器11与地址复用逻辑13间增加了两条引线(可利用处理器上的通用管脚),即时钟信号线SCLK和数据信号线SDAT,SCLK与SDAT信号由处理器通过软件编程实现,信号方向是从处理器11送地址复用逻辑单元13。地址复用逻辑单元13在处理器11输出的控制信号作用下,根据处理器11输出的时钟信号SCLK和数据信号SDAT,将处理器11输出的线性地址处理成兼容不同驱动方式SDRAM的行列复用地址,送SDRAM 12的地址输入端,SDRAM 12在处理器11输出的控制信号作用下,与处理器11进行数据的双向读写操作。
处理器11往地址复用逻辑单元13发送的数据信号SDAT是SDRAM的驱动信息,为一组二进制序列码,数据宽度为8位(数据宽度可以根据实际需要进行修改),各种SDRAM可能用到的不同驱动方式分别对应一个8位二进制数。序列码SDAT信号在SCLK信号控制下逐位被处理器11写入地址复用逻辑单元13里的移位寄存器中,地址复用逻辑单元13一边接收来自处理器11的序列码,一边进行移位并比较,一旦地址复用逻辑单元发现移位寄存器里的值与某个序列码预期值相匹配时,地址复用逻辑单元就采用与该序列码相对应的复用方式完成线性地址与复用地址的转换,来兼容不同驱动方式的SDRAM。
为了减少信号中毛刺对地址复用的影响,应尽量降低不同驱动方式的控制字序列码之间的相关性。
例如,地址复用逻辑单元要同时兼容12行×9列和12行×10列两种类型的SDRAM,假如与12行×9列驱动方式对应的控制字序列码是0000,0000;与12行×10列驱动方式对应的控制字序列码是0101,1010。设计时可以先选定其中一个类型SDRAM的驱动方式作为默认的驱动方式,例如选用12行×9列的驱动方式作为默认的驱动方式,地址复用逻辑单元中存放控制字序列码的寄存器(称序列码移位寄存器)的初始值就设为0000,0000。
设备上电或者复位后,处理器将根据SDRAM的型号(驱动方式)决定控制字序列码的值。如果当前所用的SDRAM是12行×9列的,那么处理器就往地址复用逻辑单元送序列码0000,0000,如果当前所用的SDRAM是12行×10列的,那么处理器就往地址复用逻辑单元送序列码0101,1010。处理器逐位地将控制字序列码送出,地址复用逻辑单元利用SCLK信号与处理器保持同步,序列码移位寄存器(此时也为8位)从SDAT信号上逐位移位接收序列码并比较。当地址复用逻辑单元发现序列码移位寄存器里的值正好为0101,1010时,地址复用逻辑单元将SDRAM的驱动方式更改为12行×10列。在送完序列码之后,处理器不再往SCLK上送时钟信号,地址复用逻辑单元停止接收序列码,因此该驱动方式即被保持下来。在设置好地址复用逻辑单元的驱动方式之后,如果因为SCLK和SDAT两管脚受到干扰,地址复用逻辑单元就可能接收到一组假的序列码,不过只要地址复用逻辑单元接收到的序列码不是0000,0000或者0101,1010,地址复用逻辑单元均不会改变驱动方式,这样可以提高整个系统的抗干扰能力。
参见图4基于页交错模式下的行、列地址分配并结合参见图3。实施例处理器选用MOTOROLA的MPC8260,MPC8260的60X总线挂接了64MByte的SDRAM内存条,其驱动方式为12行×9列。MPC8260的60X总线工作在兼容模式的时候,其60X地址线输出的地址不是SDRAM所要求的行列复用地址,而是线性地址,各地址信号的功能分配如下表4所示(同表1)。

表4当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(多功能管脚,分别复用到SDRAM的BNKSEL2和BNKSEL1)送到SDRAM的BANK选择线,实现BANK信号选择。
当PSDMUX=0时,地址复用逻辑单元将MPC8260的A20~A28送出到内存条的地址管脚上(列地址)。
随着器件升级和业务扩展对内存的需要,当使用的内存条要升级为128MByte,其驱动方式为12行×10列,由于列地址的增加,需要对地址复用逻辑单元的行列地址切换进行修改。
采用64MByte单面以及128MByte双面的内存条时,地址复用逻辑单元的切换按照表1所示进行。采用128MByte单面以及256MByte双面的内存条时,由于列地址多了一根,因此需要修改地址切换的方式,按表2所示进行。
地址复用逻辑单元上电时的缺省状态设置为12行×9列。上电后,处理器软件通过读内存条上的EEPROM来判断内存条的型号,如果内存条的型号是12行×10列,软件通过两个I/O脚(SCLK,SDAT)向地址复用逻辑单元发送配置的控制字序列码信息,如果内存条的型号是12行×9列,软件则不必向地址复用逻辑单元发送序列码信息,地址复用逻辑单元使用缺省配置。
实施时将MPC8260与地址复用逻辑单元相连的两个I/O脚分别定义为ADD_CLK(相当于SCLK)和ADD_DATA(相当于SDAT)。两I/O脚的定义如下表5所示。

表5实施时,MPC8260往地址复用逻辑单元发送的配置信息为一组二进制序列码,宽度为8位。12行×9列SDRAM对应的序列码为全“0”,即“0000,0000”,与ADD_DATA的默认值(1111,1111)相反,防止因ADD_CLK信号上有毛刺使地址复用逻辑单元误操作;12行×10列SDRAM对应的序列码为0101,1010,保证与12行×9列序列码之间的较低相关性。如果MPC8260检测到的内存条SDRAM是12行×10列的,则MPC8260将序列码0101,1010送给地址复用逻辑单元;如果MPC8260检测到的内存条SDRAM是12行×9列的,则MPC8260不往地址复用逻辑单元送序列码,地址复用逻辑单元以默认的方式进行行列地址复用。MPC8260向地址复用逻辑单元送序列码的时候先送最低位,最后送最高位,序列码送完后MPC8260将ADD_CLK和ADD_DATA两个I/O脚的电平拉成默认电平。
地址复用逻辑单元在ADD_CLK的上升沿接收ADD_DATA上的数据,并对数据进行移位、比较。地址复用逻辑单元上电后的默认态为使用12行×9列的内存条SDRAM,只有序列码移位寄存器中接收到的序列码为0101,1010的时候才将地址复用的方式改为12行×10列。无论何时,地址复用逻辑单元接收到的序列码如果不等于期待值0101,1010,逻辑均不改变其行列地址的复用方式。
权利要求
1.一种地址复用逻辑实现与SDRAM兼容的方法,由地址复用逻辑单元对处理器输出的线性地址进行地址信号分割,将分出的行、列复用地址送SDRAM,其特征在于在进行地址信号分割前还执行以下处理步骤A.处理器根据SDRAM的驱动方式选取控制字序列码,选取的控制字序列码与当前SDRAM的驱动方式相对应;B.处理器在时钟信号的同步控制下,将控制字序列码写入地址复用逻辑单元;C.地址复用逻辑单元判断接收的控制字序列码是否与序列码期待值匹配,匹配时选择与该控制字序列码对应的SDRAM的驱动方式,并按该驱动方式对处理器输出的线性地址进行行、列地址复用处理,不匹配时保持原SDRAM的驱动方式。
2.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于所述时钟信号和控制字序列码信号分别通过处理器上的两通用管脚引线至地址复用逻辑单元。
3.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于处理器在时钟信号的下降沿逐位发送所述的控制字序列码,地址复用逻辑单元在时钟信号的上升沿锁存控制字序列码。
4.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于处理器在时钟信号的上升沿逐位发送所述的控制字序列码,地址复用逻辑单元在时钟信号的下降沿锁存控制字序列码。
5.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于所述步骤A中,与SDRAM不同驱动方式对应的控制字序列码,按互相间具有低相关性的原则设定。
6.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于所述步骤A中,处理器软件通过读SDRAM内存条上的EEPROM获得当前SDRAM的驱动方式。
7.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于在执行所述的步骤A前,处理器获得当前SDRAM的驱动方式,判断该驱动方式是否与默认的驱动方式一致,一致时中止执行步骤A至C,地址复用逻辑单元按默认的驱动方式进行行、列地址复用处理,不一致时执行步骤A至C。
8.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于所述步骤B中,处理器在发送完控制字序列码后,将时钟信号与控制字序列码信号拉成默认电平,控制字序列码信号的默认电平与地址复用逻辑单元默认的驱动方式的序列码期待值相反。
9.根据权利要求1所述的一种地址复用逻辑实现与SDRAM兼容的方法,其特征在于所述步骤B中,处理器将控制字序列码逐位写入地址复用逻辑单元的序列码移位寄存器中;所述步骤C中,序列码移位寄存器逐位接收控制字序列码,同时进行比较并移位,在序列码移位寄存器里的值与一序列码期待值相匹配时,地址复用逻辑单元选择与该控制字序列码对应的SDRAM的驱动方式。
全文摘要
本发明涉及一种地址复用逻辑实现与SDRAM兼容的方法,处理器向地址复用逻辑送控制字,使地址复用逻辑能兼容各种驱动方式的SDRAM。包括处理器根据SDRAM的驱动方式选取控制字序列码,选取的控制字序列码与当前SDRAM的驱动方式相对应;处理器在时钟信号的同步控制下,将序列码写入地址复用逻辑单元;地址复用逻辑单元判断接收的序列码是否与序列码期待值匹配,匹配时选择与该序列码期待值对应的SDRAM的驱动方式,并按该驱动方式对处理器输出的线性地址进行行、列地址复用处理,不匹配时保持原SDRAM的驱动方式,如默认的一种驱动方式。时钟信号和序列码信号分别通过处理器上的两通用管脚引线至地址复用逻辑单元。本发明方法可应用在任何使用了处理器、存储器的环境中。
文档编号G06F1/04GK1612108SQ20031010235
公开日2005年5月4日 申请日期2003年10月27日 优先权日2003年10月27日
发明者李友谊, 方卫峰, 牛从亮, 马全红 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1