專利名稱:地址復用邏輯兼容多種sdram的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種SDRAM的應(yīng)用技術(shù),更確切地說是涉及地址復用邏輯與SDRAM實現(xiàn)兼容的技術(shù),可以應(yīng)用于任何使用處理器和存儲器的場合,如通信、計算機、人工智能、儀器儀表等。
背景技術(shù):
在某些情況下,處理器的SDRAM控制器送出的地址是線性地址,但是SDRAM以及使用了SDRAM的內(nèi)存條要求的地址卻是行、列復用的地址,為了讓處理器能夠訪問SDRAM,必須在處理器與SDRAM之間增加一個地址復用邏輯單元,由這個地址復用邏輯單元對處理器送出的線性地址進行行、列復用,再將復用后的行、列地址送給SDRAM或SDRAM內(nèi)存條,處理器與SDRAM間的連接關(guān)系如圖1所示。圖中,在處理器11與SDRAM 12之間設(shè)置了一個地址復用邏輯單元13,地址復用邏輯單元13在處理器11輸出的控制信號作用下,將處理器11輸出的線性地址處理成行列復用地址送SDRAM的地址輸入端,SDRAM 12在處理器11輸出的控制信號作用下,與處理器11進行數(shù)據(jù)的雙向讀寫操作。
地址復用邏輯單元13的行列地址復用方式如圖2所示。處理器將包含行列地址信息以及BANK選擇信號的線性地址送給地址復用邏輯單元13,地址復用邏輯單元13根據(jù)處理器送來的行列分割指示信號(PSDMUX信號)按事先設(shè)定好的規(guī)則進行地址信號的分割,分出行地址、列地址和BANK選擇信號,然后按行地址在先、列地址在后的順序?qū)⑿小⒘袕陀玫刂匪徒oSDRAM,在送出行、列復用地址的同時送出BANK選擇信號。
常用的SDRAM,根據(jù)容量的不同,其地址線的驅(qū)動方式主要有以下幾類12行×9列、12行×10列、13行×10列等。驅(qū)動方式的不同將導致處理器輸出線性地址所包含信息的變化,比如說使用12行×9列的SDRAM時,處理器的地址線A20~A28輸出列地址信息(9列),A18~A19輸出BANK選擇信息,A6~A17輸出行地址信息(12行)。下表1列出采用12行×9列的SDRAM內(nèi)存條時,處理器地址線A[6-28]對行列地址及BANK選擇信號的分配(處理器地址高位A
和地址低位A[29-31]的狀態(tài)與本發(fā)明無關(guān))
表1但是如果使用12行×10列的SDRAM內(nèi)存條時,則處理器的地址線A19~A28將輸出列地址信息(10列),A17~A18將輸出BANK選擇信息,A5~A16將輸出行地址信息(12行)。下表2列出采用12行×10列的內(nèi)存條時,處理器地址線A[5-28]對行列地址及BANK選擇信號的分配(處理器地址高位A
和地址低位A[29-31]的狀態(tài)與本發(fā)明無關(guān))
表2比較以上兩種驅(qū)動方式,發(fā)現(xiàn)后者雖然列地址僅增加了一位,結(jié)果導致了處理器線性地址各位的信息發(fā)生了很大的變化,因此要使同樣的印制電路板(PCB)設(shè)計能夠兼容不同容量的SDRAM,地址復用邏輯單元的復用方式必須能夠通過軟件設(shè)置進行靈活地修改。
發(fā)明內(nèi)容
本發(fā)明的目的是設(shè)計一種地址復用邏輯兼容多種SDRAM的方法,針對不同容量的SDRAM導致處理器線性地址信息發(fā)生很大變化的問題,提出一種解決方案,通過靈活地修改地址復用邏輯單元的復用方式,使同樣的電路設(shè)計能夠兼容不同容量的SDRAM。
實現(xiàn)本發(fā)明目的的技術(shù)方案是這樣的一種地址復用邏輯兼容多種SDRAM的方法,由地址復用邏輯單元對處理器輸出的線性地址進行地址信號分割,將分出的行、列復用地址送SDRAM,其特征在于在進行地址信號分割前還執(zhí)行以下處理步驟A.處理器根據(jù)SDRAM的驅(qū)動方式選取配置字,選取的配置字與當前SDRAM的驅(qū)動方式相對應(yīng);B.處理器對通過CPU接口掛接在CPU總線上的地址復用邏輯單元內(nèi)的第一寄存器進行寫配置字操作;C.地址復用邏輯單元根據(jù)第一寄存器的值,選取與該值對應(yīng)的驅(qū)動方式,并按該驅(qū)動方式對處理器輸出的線性地址進行行、列地址復用處理。
所述步驟A中,處理器軟件通過讀SDRAM內(nèi)存條上的EEPROM獲得當前SDRAM的驅(qū)動方式。
在執(zhí)行所述的步驟A前,處理器獲得當前SDRAM的驅(qū)動方式,判斷該驅(qū)動方式是否與默認的驅(qū)動方式一致,一致時中止執(zhí)行步驟A至C,不一致時執(zhí)行步驟A至C。
在執(zhí)行步驟B前還包括處理器向地址復用邏輯單元中的第二寄存器寫入一個特定值;寫入特定值后的第二寄存器打開第一寄存器的開關(guān),使處理器對第一寄存器的寫配置字操作有效。
在執(zhí)行步驟B后還包括B1.處理器回讀寫入第一寄存器的配置字;B2.判斷該回讀的配置字是否與步驟B寫入的配置字一致,一致時再向地址復用邏輯單元中的第二寄存器寫入一個非特定值,寫入非特定值后的第二寄存器關(guān)閉第一寄存器的開關(guān),使后續(xù)的處理器對第一寄存器的寫配置字操作無效;不一致時,重復執(zhí)行步驟B和步驟B1與B2。
所述的步驟B2中還包括判斷重復執(zhí)行步驟B和步驟B1與B2的次數(shù)是否超過一預設(shè)值,超過預設(shè)值時,產(chǎn)生告警信號或復位信號。
本發(fā)明的技術(shù)方案是處理器將對SDRAM的驅(qū)動信息傳遞給地址復用邏輯單元,地址復用邏輯單元鎖存由處理器送來的對SDRAM的驅(qū)動信息,并根據(jù)鎖存的驅(qū)動信息選擇相應(yīng)的復用方式,對SDRAM地址線進行驅(qū)動,從而實現(xiàn)地址復用邏輯單元兼容多種SDRAM的發(fā)明目的。
本發(fā)明的目的是通過在處理器與地址復用邏輯單元之間增加通信接口實現(xiàn)的,即通過連接CPU接口,將地址復用邏輯單元作為處理器CPU的一個外設(shè)掛在CPU總線上,使處理器CPU可以對地址復用邏輯單元內(nèi)部的寄存器進行寫操作。設(shè)置在地址復用邏輯單元里的寄存器,用于存儲不同容量SDRAM的驅(qū)動信息,每一個驅(qū)動信息與一種地址復用方式相對應(yīng),地址復用邏輯單元通過判斷寄存器當前的值來選擇相應(yīng)的地址復用方式,進行線性地址與行、列復用地址的轉(zhuǎn)換。因而,本發(fā)明是一種通過處理器CPU向地址復用邏輯單元寫入不同的配置字來實現(xiàn)對不同容量SDRAM地址線進行驅(qū)動,進而兼容各種容量SDRAM。
本發(fā)明技術(shù)方案所需的控制信號少,可靠性較高,軟件操作簡單,邏輯實現(xiàn)方便,使地址復用邏輯單元可以很靈活可靠地兼容不同驅(qū)動方式的SDRAM。
圖1是處理器與SDRAM連接關(guān)系示意圖;圖2是地址復用邏輯單元的復用方式示意圖;圖3是本發(fā)明兼容不同驅(qū)動方式SDRAM的原理性框圖;圖4是64Mbyte基于頁交錯模式下的行、列地址分配。
具體實施例方式
本發(fā)明通過CPU接口將地址復用邏輯單元作為處理器CPU的一個外設(shè)掛在CPU的總線上,使CPU可以對地址復用邏輯單元內(nèi)部的寄存器進行操作。在地址復用邏輯單元里設(shè)置一個第一寄存器(REG1)用于存儲不同容量SDRAM的驅(qū)動信息,每一個驅(qū)動信息與一種地址復用方式相對應(yīng),地址復用邏輯單元通過判斷第一寄存器(REG1)當前的值來選擇相應(yīng)的地址復用方式,完成線性地址與行、列復用地址的轉(zhuǎn)換。
參見圖3,圖中示意出本發(fā)明兼容不同驅(qū)動方式SDRAM的結(jié)構(gòu)設(shè)計。圖中在處理器11與SDRAM 12間設(shè)置了地址復用邏輯單元13,地址復用邏輯單元13通過CPU接口連接處理器11,從而使地址復用邏輯單元13能作為一個外設(shè)掛在CPU總線上,處理器CPU可以對地址復用邏輯單元13進行寫操作。
在地址復用邏輯單元13中設(shè)置一個第一寄存器(REG1),用于存儲SDRAM的驅(qū)動信息。不同容量SDRAM所對應(yīng)的驅(qū)動信息,可作為配置字由處理器CPU控制寫入地址復用邏輯單元13的該第一寄存器(REG1)中。地址復用邏輯單元13則根據(jù)該第一寄存器(REG1)中的值決定復用方式,按該復用方式進行線性地址與行、列復用地址的轉(zhuǎn)換。
為了保證可靠性和防止對第一寄存器(REG1)的誤操作導致地址復用的錯誤,本發(fā)明在地址復用邏輯單元里還設(shè)計了一個第二寄存器(REG2),該第二寄存器(REG2)作為第一寄存器(REG1)的控制開關(guān),用于防止第一寄存器(REG1)的誤操作,即只有向第二寄存器(REG2)寫入一個特定的值(假如為0×55),才能由該第二寄存器(REG2)打開第一寄存器(REG1)的開關(guān),接下來對第一寄存器(REG1)的寫操作才有效。
軟件設(shè)計時,按一定的順序配置寄存器REG1和REG2。首先向REG2里寫入一個特定的值(如0×55),打開REG1的開關(guān);接下來處理器CPU向寄存器REG1里寫入與當前SDRAM容量相關(guān)的配置字驅(qū)動信息。為了確保處理器CPU對寄存器REG1寫入的是正確的配置數(shù)據(jù),在軟件設(shè)計時還在對REG1作完寫操作后,緊接著對REG1的數(shù)據(jù)進行回讀比較,如果正確就向REG2里寫一個不是特定值(0×55)的數(shù)(假設(shè)為0×00),來關(guān)閉REG1,否則就再次對REG1進行寫和回讀比較操作,如果該回讀比較操作超過一定的次數(shù)(可以根據(jù)具體情況在軟件中設(shè)置),CPU就認為有誤,產(chǎn)生告警信號或者復位信號,復位處理器與內(nèi)存條單板。
參見圖4,基于頁交錯模式下的內(nèi)存條行、列地址分配(與處理器間的地址對應(yīng)關(guān)系)。并結(jié)合參見圖3。實施例處理器選用MOTOROLA的MPC8260,MPC8260的60X總線掛接了64MByte的SDRAM內(nèi)存條,其驅(qū)動方式為12行×9列×4BANK。MPC8260的60X總線工作在兼容模式的時候,其60x地址線輸出的地址不是SDRAM所要求的行列復用的地址,而是線性地址,各地址信號的功能分配如表1所示。
當MPC8260需要訪問內(nèi)存單元時,MPC8260送出對應(yīng)的物理地址,地址復用邏輯單元將該物理地址鎖存,并根據(jù)MPC8260送出的PSDMUX信號,對此物理地址進行行列地址分割,然后分別送往SDRAM。
當PSDMUX=1時,地址復用邏輯單元將MPC8260 A6、SDA10、A8-A17管腳上的值復用到內(nèi)存條SDRAM的地址管腳A11-A0上(行地址)。內(nèi)存條SDRAM地址A10與8260地址線中的A7對應(yīng),但不相連,只與MPC8260的SDA10管腳相連。SDA10是SDRAM控制機制的特殊引腳,此信號在行地址期間作為SDRAM地址A10使用,在列地址期間作為命令使用。A19、A18送到SDRAM的BANK選擇線,也可將MODCK3、MODCK2(多功能管腳,分別復用到BNKSEL2和BNKSEL1)送到SDRAM的BANK選擇線,實現(xiàn)BANK信號選擇。
當PSDMUX=0時,地址復用邏輯單元將MPC8260的A20-A28送出到內(nèi)存條的地址管腳上(列地址)上。
隨著器件升級和業(yè)務(wù)擴展對內(nèi)存的需要,當使用的內(nèi)存條要升級為128MByte,其驅(qū)動方式為12×10×4,由于列地址的增加,需要對地址復用邏輯的行列地址切換進行修改。
采用64MByte單面以及128MByte雙面的內(nèi)存條時,地址邏輯的切換按照表1進行。
采用128MByte單面以及256MByte雙面的內(nèi)存條時,由于列地址多了一根,因此需要修改地址切換的方式,地址邏輯的切換按照表2進行。
地址復用邏輯單元上電時的缺省狀態(tài)可定為12行×9列。上電后,處理器軟件通過讀內(nèi)存條上的EEPROM來判斷內(nèi)存條的型號(容量、驅(qū)動方式),如果內(nèi)存條的型號是12行×9列,處理器軟件則不必向地址復用邏輯單元發(fā)送配置字信息,按默認的復用方式進行線性地址與行、列復用地址間的轉(zhuǎn)換;如果內(nèi)存條的型號是除12行×9列以外的型號,則MPC8260通過60X總線向地址復用邏輯單元的相關(guān)寄存器(REG1、REG2)發(fā)送與當前SDRAM型號相對應(yīng)的配置字信息,地址復用邏輯單元根據(jù)不同的配置字信息選擇相應(yīng)的地址復用方式對線性地址進行行、列復用。
權(quán)利要求
1.一種地址復用邏輯兼容多種SDRAM的方法,由地址復用邏輯單元對處理器輸出的線性地址進行地址信號分割,將分出的行、列復用地址送SDRAM,其特征在于在進行地址信號分割前還執(zhí)行以下處理步驟A.處理器根據(jù)SDRAM的驅(qū)動方式選取配置字,選取的配置字與當前SDRAM的驅(qū)動方式相對應(yīng);B.處理器對通過CPU接口掛接在CPU總線上的地址復用邏輯單元內(nèi)的第一寄存器進行寫配置字操作;C.地址復用邏輯單元根據(jù)第一寄存器的值,選取與該值對應(yīng)的驅(qū)動方式,并按該驅(qū)動方式對處理器輸出的線性地址進行行、列地址復用處理。
2.根據(jù)權(quán)利要求1所述的一種地址復用邏輯兼容多種SDRAM的方法,其特征在于所述步驟A中,處理器軟件通過讀SDRAM內(nèi)存條上的EEPROM獲得當前SDRAM的驅(qū)動方式。
3.根據(jù)權(quán)利要求1所述的一種地址復用邏輯兼容多種SDRAM的方法,其特征在于在執(zhí)行所述的步驟A前,處理器獲得當前SDRAM的驅(qū)動方式,判斷該驅(qū)動方式是否與默認的驅(qū)動方式一致,一致時中止執(zhí)行步驟A至C,不一致時執(zhí)行步驟A至C。
4.根據(jù)權(quán)利要求1所述的一種地址復用邏輯兼容多種SDRAM的方法,其特征在于在執(zhí)行步驟B前還包括處理器向地址復用邏輯單元中的第二寄存器寫入一個特定值;寫入特定值后的第二寄存器打開第一寄存器的開關(guān),使處理器對第一寄存器的寫配置字操作有效。
5.根據(jù)權(quán)利要求1所述的一種地址復用邏輯兼容多種SDRAM的方法,其特征在于在執(zhí)行步驟B后還包括B1.處理器回讀寫入第一寄存器的配置字;B2.判斷該回讀的配置字是否與步驟B寫入的配置字一致,一致時再向地址復用邏輯單元中的第二寄存器寫入一個非特定值,寫入非特定值后的第二寄存器關(guān)閉第一寄存器的開關(guān),使后續(xù)的處理器對第一寄存器的寫配置字操作無效;不一致時,重復執(zhí)行步驟B和步驟B1與B2。
6.根據(jù)權(quán)利要求5所述的一種地址復用邏輯兼容多種SDRAM的方法,其特征在于所述的步驟B2中還包括判斷重復執(zhí)行步驟B和步驟B1與B2的次數(shù)是否超過一預設(shè)值,超過預設(shè)值時,產(chǎn)生告警信號或復位信號。
全文摘要
本發(fā)明涉及一種地址復用邏輯兼容多種SDRAM的方法,處理器CPU向作為其外設(shè)的地址復用邏輯單元寫不同的配置字,實現(xiàn)對不同容量SDRAM地址線的驅(qū)動,進而兼容SDRAM。包括處理器根據(jù)SDRAM的驅(qū)動方式選取配置字,選取的配置字與當前SDRAM的驅(qū)動方式相對應(yīng);處理器對通過CPU接口掛接在CPU總線上的地址復用邏輯單元內(nèi)的第一寄存器進行寫配置字操作;地址復用邏輯單元根據(jù)第一寄存器的值,選取與該值對應(yīng)的驅(qū)動方式,并按該驅(qū)動方式對處理器輸出的線性地址進行行、列地址復用處理。實施時,處理器還可向地址復用邏輯單元中的第二寄存器寫入一個特定值,再由該第二寄存器打開第一寄存器的開關(guān),使后續(xù)的處理器對第一寄存器的寫配置字操作有效,以確保地址復用正確。
文檔編號G06F12/00GK1612109SQ20031010235
公開日2005年5月4日 申請日期2003年10月27日 優(yōu)先權(quán)日2003年10月27日
發(fā)明者牛從亮, 李友誼, 方衛(wèi)峰, 蔣麟軍, 林立強 申請人:華為技術(shù)有限公司