本公司目前MCU系列,到目前為止, SWM34x 支持外接8M16M SDRAM,SWD34S系列已經(jīng)把SDRAM合封入芯片,合封的SDRAM大小根據(jù)芯片型號不同,具體見官方手冊。
在SDRAM使用過程中,需要對SDRAMC控制的各個參數(shù)進(jìn)行配置,具體參數(shù)如下表格,不同系列芯片參數(shù)稍微有點(diǎn)區(qū)別,但是配置原理一樣。下面以SWM34x SDRAM_CTRL控制器外接Winbond W9812G6KH-6為例進(jìn)行參數(shù)配置說明。
表一 MCU端需要配置的參數(shù)
| 參數(shù)名字 | |
| MCU端需要用到的參數(shù) | |
| Bank | |
| RowAddr |
| ColAddr | |
| CASLatency | |
| RR | |
| RFC |
| RP | |
| RCD | |
| WR | |
| RAS |
| RC | |
| RRD | |
| XS | |
| RD_Delay |
以SWM34x 為例
分別說明表一中各項(xiàng)參數(shù)的計算方法
1、Bank:指的是SDRAM分了幾個塊,這個在SDRAM芯片手冊里面有說明,如W9812G6KH-6文檔中列明Bank等于4
如下圖

2. RowAddr:SDRAM中每個bank單元每一頁的地址,如W9812G6KH-6 一個Bank有4096個頁,所以頁地址占用12bit,故RowAddr=12。
3.ColAddr:SDRAM中每個Bank單元每一頁中每一行的地址,如W9812G6KH-6 一個Bank有4096個頁,每頁有512行,所以行地址暫用9bit,故ColAddr=9,根據(jù)寄存器規(guī)范,PageSize需設(shè)置為0x001
圖下圖

4. RR: SDRAM的REFRESH_RATE,即刷新頻率,根據(jù)W9812G6KH-6芯片手冊,刷新周期為64mS,在150M時鐘下,則一個clk=6.67nS, RR的計算公式為64000000(nS)/4096(頁數(shù)量)/6.67nS(每一個clk的時間)=需要的clk數(shù)量。所以RR=0x926.
5. RFC(從刷新或加載模式到刷新或激活的最小CLK周期數(shù)): SDRAM的手冊有列明參數(shù)最小值,以W9812G6KH-6芯片手冊為例,RFC最小值為60nS(圖3), 在MCU工作在150M時鐘下,轉(zhuǎn)換成寄存器值:RFC=60ns/6.67=8,即可得SDRAM需要的最小值8(圖4)。

(圖3)

(圖4)
6.RP(從預(yù)充電到激活或刷新的最小CLK周期數(shù)):SDRAM手冊會有寫明,如W9812G6KH-6芯片RP=15nS,MCU端計算RP方法為RP=15nS/6.67=2.
7. RCD(從激活到讀取或?qū)懭氲淖钚LK周期數(shù)):SDRAM手冊會有寫明,如W9812G6KH-6芯片RCD=15nS, MCU端計算RCD方法為RCD=15nS/6.67=2.
8.WR(從上次寫入傳輸?shù)筋A(yù)充電的最小CLK周期數(shù)): 固定為2.
9.RAS(從激活到預(yù)充電的最小CLK周期數(shù)): SDRAM手冊會有寫明,如W9812G6KH-6芯片RCD=42nS, MCU端計算RAS方法為RAS=42nS/6.67=6.
10.RC(從激活到激活的最小CLK周期數(shù)): SDRAM手冊會有寫明,如W9812G6KH-6芯片RC=60nS, MCU端計算RC方法為RC=60nS/6.67=8. 如下圖

11.RRD(對于不同的bank,從激活到激活的最小CLK周期數(shù)):SDRAM手冊會有寫明,如W9812G6KH-6芯片RRD=12nS, MCU端計算RRD方法為RRD=12nS/6.67=1.
12.XS(從自刷新退出到發(fā)出任何命令的最小CLK周期數(shù)減1): SDRAM手冊會有寫明,如W9812G6KH-6芯片RRD=72nS, MCU端計算XS方法為XS=72nS/6.67=10.
13.CASLatency:等于3或者2.
14.RD_Delay: 等于CASLatency、或等于CASLatency+1.
實(shí)際應(yīng)用
如果SWM34x 系統(tǒng)頻率為150M,則SDRAM控制器讀寫W9812G6KH-6(16M SDRAM),各項(xiàng)參數(shù)配置如下:
SDRAM_InitStruct.ClkDiv = SDRAM_CLKDIV_1;
SDRAM_InitStruct.NbrBank = 2;//SDRAM_BANK_4
SDRAM_InitStruct.NbrRowAddr = 12;//SDRAM_ROW_12
SDRAM_InitStruct.NbrColAddr = 1;//SDRAM_COLUMN_9
SDRAM_InitStruct.CASLatency =3;//SDRAM_CASLATENCY_3
SDRAM_InitStruct.TimeTRC =8 ;
SDRAM_InitStruct.TimeTRRD = 1;
SDRAM_InitStruct.TimeTRCD = 2;
SDRAM_InitStruct.TimeTRAS = 6;
SDRAM_InitStruct.TimeTRP = 2;
SDRAM_InitStruct.TimeRFC =8;
SDRAM_InitStruct.TimeTXS=10;
SDRAMC->T64 = 0x926;
SDRAMC->RDDELAY = SDRAM_InitStruct.CASLatency+1;
(以上只介紹了配置方法,部分參數(shù)并沒有完全配對,需要修改驗(yàn)證)
審核編輯:劉清
-
mcu
+關(guān)注
關(guān)注
147文章
19110瀏覽量
403252 -
寄存器
+關(guān)注
關(guān)注
31文章
5618瀏覽量
130386 -
RFC
+關(guān)注
關(guān)注
0文章
17瀏覽量
10304 -
SDRAM控制器
+關(guān)注
關(guān)注
0文章
29瀏覽量
10087
原文標(biāo)題:華芯微特 | MCU之SDRAM參數(shù)配置
文章出處:【微信號:gh_ed4f95bde4df,微信公眾號:華芯微特32位MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
C8051F330/1/2/3/4/5系列MCU:混合信號ISP Flash MCU的卓越之選
BD3531F:DDR - SDRAM 終端穩(wěn)壓器的卓越之選
深入解析 ICS83840B DDR SDRAM MUX
eZ80L92 MCU:高性能嵌入式解決方案的理想之選
Epson S1D13513 XGA 外部 SDRAM 顯示控制器:嵌入式顯示的理想之選
如何正確配置AG32 MCU,實(shí)現(xiàn)FLASH或者代碼加密?
如何評估SDRAM的有效帶寬
CC2340R:2.4GHz無線MCU的卓越之選
DDR3 SDRAM參考設(shè)計手冊
極海APM32E030 MCU中高速時鐘的配置和相關(guān)注意事項(xiàng)
在極海APM32系列MCU中如何把代碼重定位到SDRAM運(yùn)行
MCU外設(shè)初始化:為什么參數(shù)配置必須優(yōu)先于使能
飛凌嵌入式ElfBoard ELF 1板卡-文件系統(tǒng)之配置網(wǎng)絡(luò)參數(shù)
MCU之SDRAM參數(shù)配置
評論