TMS320C6474中的DDR2控制器
1. DDR2控制器
DDR2記憶體控制器作為DDR2 SDRAM的接口,相容JESD79-2B标準的DDR2 SDRAM,主要特點:
·最高支援512MB
·總線寬度為32/16bits
·内部bank數:1,2,4,8
·頁大小:256,512,,1024,2048
·SDRAM自動初始化
·自重新整理模式
·可設定的時序參數
·大端或小端傳輸
DSP内部的主裝置,如EDMA3控制器及CPU可以通過交換網絡直接通路DDR2控制器。PLL2對輸入時鐘進行10倍頻,輸出的時鐘作為DDR2的輸入。
DDR2CLKOUT可按下面的公式計算:
DDR2CLKOUT frequency = (PLL2 input clock frequency *10)/2
2. DDR2控制器的初始化
DDR2 SDRAM中的MR及EMR寄存器用于配置裝置的操作模式。這些寄
存器主要配置突發類型、突發長度、CAS延時等。DDR2控制器在初始化期間
通過MRS及EMRS指令來配置DDR2的MR及EMR寄存器。
DDR2控制器會在如下情況進行初始化操作:
2.1、在硬複位或軟複位後自動進行初始化
在複位之後進行的初始化操作,DDR2控制器中FIFO存儲的所有指令及數
據将丢失。但是,如果是由寫入SDCFG寄存器觸發初始化操作,資料及指令不
會丢失,且DDR2控制器會確定在目前的指令執行完成後再進行初始化。
複位後的初始化會使用SDRAM timing1及SDRAM timing2寄存器中的預設值配置DDR2;使用MR及EMR中預設值配置DDR2的模式寄存器。由于軟複位并不複位DDR2控制器的寄存器,随後的初始化動作仍将使用之前的配置。
2.2、在對SDCFG的低16bit進行寫操作後
對SDCFG的低16bit位進行寫操作也會觸發初始化動作,按如下流程操作進
行初始化:
1、置SDCFG中BOOT_UNLOCK位及TIMUNLOCK位開啟修改操作
2、配置時序參數寄存器SDTIM1及SDTIM2
3、在DMCCTL中寫入RL讀取延時,保持保留區域的值不被修改
4、設定SDRFC,設定DDR2的重新整理率
5、設定SDCFG,置TIMUNLOCK位并清BOOT_UNLOCK位
6、清TIMUNLOCK位
初始化結束後,DDR2控制器進行一次自動重新整理,使DDR2控制器處于空閑
狀态,DDR2的所有bank被關閉。
注:在使用DDR2之前必須要對DDR2進行初始化操作
DDR_SDCFG = 0x00D3CA32;
DDR_SDRFC = 0x00000a29;
DDR_SDTIM1 = 0x4D246C9A;
DDR_SDRIM2 = 0x00993c42;
DDR_DDRPHYC = 0x00000006;
DDR_SDCFG = 0x0053CA32;