同步動態(tài)隨機存儲器(SDRAM)特點:
- 同步:memory工作時需要同步時鐘
- 動態(tài):存儲陣列需要不斷刷新
- 隨機:自由指定地址讀寫數(shù)據(jù)
- 容量大價格便宜
SDRAM存儲結構
SDRAM支持多BANK,通過指定BANK號,行地址,列地址找到目標存儲單元。
圖1 存儲結構
SDRAM信號線
SDRAM內(nèi)部框圖
如下以W9825G6KH內(nèi)部框圖舉例:圖2 W9825G6KH框圖
- 1時鐘控制
- 2命令控制
- 3地址控制
- 4存儲陣列,4個BANK
- 5數(shù)據(jù)
SDRAM常用命令表
SDRAM通過信號線上的不同狀態(tài)來產(chǎn)生各種命令。表1 SDRAM命令表注意:L=Low Level H=High Level X=don't CareA10=H表示Precharge all bank,A10=L表示Precharge選擇的BANK
- No-Operation表示選中當前設備,當前沒有操作。
- Bank/Row active在對SDRAM進行讀寫時,需要先激活對應的bank和行,該命令用于選擇一個bank的一行進行激活,以便接下來進行讀寫訪問。
- Read激活的行有效之后,對列地址進行尋址,讀出數(shù)據(jù)。
- Write激活的行有效之后,對列地址進行尋址,寫入數(shù)據(jù)。
- Precharge預充電命令,在某一行上的讀寫完成之后,關閉現(xiàn)有的行,準備激活新行。
- Refresh刷新命令,SDRAM需要不斷的刷新操作才能保存數(shù)據(jù),根據(jù)SDRAM設備參數(shù)按照固定周期進行刷新。
- Load Mode Register加載模式寄存器,修改SDRAM設備的功能參數(shù),burst模式,latency等。
圖3 mode register
SDRAM Power On Sequence
圖4 SDRAM Power On
AT32 SDRAM控制器
SDRAM控制器主要特點如下:
- 同時支持兩個SDRAM設備
- 支持8位/16位數(shù)據(jù)總線寬度
- 支持13位行地址,11位列地址(最大可以支持4x16Mx16bit=128MB)
- 支持4個內(nèi)部Bank
- 支持word/half word/byte訪問
- 支持Burst Read,有6x32bit讀FIFO緩存
- SDRAM時鐘支持HCLK/2, HCLK/3, HCLK/4
- 支持低功耗模式(自刷新模式,掉電模式)
地址映射
圖5 SDRAM地址映射SDRAM Device1起始地址:0xC0000000SDRAM Device2起始地址:0xD0000000
I/O引腳配置
表2 SDRAM IO引腳列表
使用SDRAM IO引腳初始化如下,可根據(jù)具體使用引腳進行修改:
SDRAM讀寫時序
- 寫SDRAM時序
讀SDRAM時序
SDRAM配置
通過配置寄存器SDRAM_CTRLx來設置SDRAM設備的容量,訪問方式等,詳細信息可參考RM。此寄存器包括如下配置:(W9825G6KH作為示例)
- 行地址/列地址配置
行地址和列地址根據(jù)SDRAM設備地址位數(shù)進行配置,如下示例:
數(shù)據(jù)總線寬度
根據(jù)SDRAM設備支持數(shù)據(jù)總線寬度進行配置,如下示例支持16bit數(shù)據(jù)寬度:
內(nèi)部區(qū)塊個數(shù)
SDRAM設備支持內(nèi)部bank個數(shù):
列地址選通延遲(CAS)
SDRAM設備支持延遲:
寫保護配置(WRP)
- 如果配置了寫保護,在寫SDRAM設備時會參數(shù)Bus error。
- XMC_SDCLK時鐘分頻(CLKDIV)
- BSTR(連續(xù)讀)
- RD(讀延時)
配置代碼例程:
SDRAM時序參數(shù)配置
要正常使用SDRAM設備,需要正確配置此部分的實現(xiàn)參數(shù),此參數(shù)可在SDRAM設備的datasheet中找到對應值。
配置寄存器SDRAM_TMx:
- TMRD(加載模式寄存器到激活延遲)
- TXSR(退出自刷新延遲)
- TRAS(自刷新周期)
- TRC(刷新命令到激活命令延遲)
- TWR(寫命令到預充電命令延遲)
- TRP(預充電到激活命令延遲)
- TRCD(行激活到列延遲)
例TRCD:最小18ns,SDRAM時鐘144MHz,一個SDRAM時鐘大約為7ns,因此TRCD至少要配置為延遲3個SDRAM時鐘周期。例TWR:SDRAM設備要求2個SDRAM時鐘,因此配置為2
SDRAM設備對時序要求:(W9825G6KH作為示例)
配置代碼例程:
SDRAM啟動序列配置
- Clock enable時鐘使能
預充電
設置刷新計數(shù)器
計算方法:counter=(SDRAM resfresh period / number of rows)-20;
刷新速率=64ms/8K=7.8125us;counter=7.8125us*144MHz–20=1105;
自動刷新
加載模式寄存器
SDRAM例程
SDRAM Basic此例程配置SDRAM設備之后,對SDRAM設備進行讀寫操作,并判斷讀寫數(shù)據(jù)是否正確,包括如下步驟:
- GPIO初始化
- SDRAM配置
SDRAM啟動序列
SDRAM讀寫訪問
SDRAM DMA此例程配置SDRAM設備之后,使用對SDRAM設備進行讀寫操作,并判斷讀寫數(shù)據(jù)是否正確,包括如下步驟:
- GPIO初始化(同SDRAM Basic)
- SDRAM配置(同SDRAM Basic)
- SDRAM啟動序列(同SDRAM Basic)
- SDRAN DMA讀寫
關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運算效能,并支持工業(yè)級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產(chǎn)品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業(yè)縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費、商務及工控等領域。
-
mcu
+關注
關注
146文章
17173瀏覽量
351625 -
控制器
+關注
關注
112文章
16393瀏覽量
178475
發(fā)布評論請先 登錄
相關推薦
EE-127:ADSP-21065L片內(nèi)SDRAM控制器
![EE-127:ADSP-21065L片內(nèi)<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
ADSP-21161 SHARC片內(nèi)SDRAM控制器
![ADSP-21161 SHARC片內(nèi)<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
C2000?實時控制微控制器(MCU)使用入門
![C2000?實時<b class='flag-5'>控制</b>微<b class='flag-5'>控制器</b>(<b class='flag-5'>MCU</b>)使用入門](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用MSP430? MCU的伺服電機控制器
![使用MSP430? <b class='flag-5'>MCU</b>的伺服電機<b class='flag-5'>控制器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32轉AT32代碼轉換
![STM32轉<b class='flag-5'>AT32</b>代碼轉換](https://file1.elecfans.com/web2/M00/02/F1/wKgaoma5syyAYzztAAA5LSZZo34694.png)
AT32講堂088 | 雅特力AT32F402/F405時鐘配置
![<b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | 雅特力AT32F402/F405時鐘配置](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
AT32講堂087 | 雅特力AT32 IDE快速入門指南
![<b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | 雅特力<b class='flag-5'>AT32</b> IDE快速入門指南](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
DDR4 SDRAM控制器的主要特點
使用MSPM0 MCU設計基于梯形的BLDC電機控制器
![使用MSPM0 <b class='flag-5'>MCU</b>設計基于梯形的BLDC電機<b class='flag-5'>控制器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
雅特力AT32 MCU的隨機數(shù)生成
![雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機數(shù)生成](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
AT32講堂085 | 雅特力AT32 MCU HICK時鐘校準
![<b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時鐘校準](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
Rohm推出16位微控制器(MCU)
電機控制器mcu的作用 電機控制器mcu的功用是什么
針對 C2000? 微控制器的集成微控制器 (MCU) 電源解決方案數(shù)據(jù)表
![針對 C2000? 微<b class='flag-5'>控制器</b>的集成微<b class='flag-5'>控制器</b> (<b class='flag-5'>MCU</b>) 電源解決方案數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論