天天看點

TMS320C6474學習總結(十三)----DDR2

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;