0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AT32 MCU SDRAM控制器的使用

0739hhbb ? 來(lái)源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2022-12-19 15:07 ? 次閱讀

SDRAM介紹

同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)特點(diǎn):

同步:memory工作時(shí)需要同步時(shí)鐘

動(dòng)態(tài):存儲(chǔ)陣列需要不斷刷新

隨機(jī):自由指定地址讀寫(xiě)數(shù)據(jù)

容量大價(jià)格便宜

SDRAM存儲(chǔ)結(jié)構(gòu)

SDRAM支持多BANK,通過(guò)指定BANK號(hào),行地址,列地址找到目標(biāo)存儲(chǔ)單元。

圖1 存儲(chǔ)結(jié)構(gòu)

0a0f2246-7d26-11ed-8abf-dac502259ad0.png ? ?

SDRAM信號(hào)

0a347910-7d26-11ed-8abf-dac502259ad0.png

SDRAM內(nèi)部框圖

如下以W9825G6KH內(nèi)部框圖舉例:

圖2 W9825G6KH框圖

0a61b498-7d26-11ed-8abf-dac502259ad0.png

1時(shí)鐘控制

2命令控制

3地址控制

4存儲(chǔ)陣列,4個(gè)BANK

5數(shù)據(jù)

SDRAM常用命令表

SDRAM通過(guò)信號(hào)線上的不同狀態(tài)來(lái)產(chǎn)生各種命令。

表1 SDRAM命令表

0af65a62-7d26-11ed-8abf-dac502259ad0.png ?

注意:L=Low Level H=High Level X=don't Care A10=H表示Precharge all bank,A10=L表示Precharge選擇的BANK

No-Operation 表示選中當(dāng)前設(shè)備,當(dāng)前沒(méi)有操作。

Bank/Row active 在對(duì)SDRAM進(jìn)行讀寫(xiě)時(shí),需要先激活對(duì)應(yīng)的bank和行,該命令用于選擇一個(gè)bank的一行進(jìn)行激活,以便接下來(lái)進(jìn)行讀寫(xiě)訪問(wèn)。

Read 激活的行有效之后,對(duì)列地址進(jìn)行尋址,讀出數(shù)據(jù)。

Write 激活的行有效之后,對(duì)列地址進(jìn)行尋址,寫(xiě)入數(shù)據(jù)。

Precharge 預(yù)充電命令,在某一行上的讀寫(xiě)完成之后,關(guān)閉現(xiàn)有的行,準(zhǔn)備激活新行。

Refresh 刷新命令,SDRAM需要不斷的刷新操作才能保存數(shù)據(jù),根據(jù)SDRAM設(shè)備參數(shù)按照固定周期進(jìn)行刷新。

Load Mode Register 加載模式寄存器,修改SDRAM設(shè)備的功能參數(shù),burst模式,latency等。

圖3 mode register

0b1abce0-7d26-11ed-8abf-dac502259ad0.png ? ?

SDRAM Power On Sequence

圖4 SDRAM Power On

0b6149da-7d26-11ed-8abf-dac502259ad0.png

AT32 SDRAM控制器

SDRAM控制器主要特點(diǎn)如下:

同時(shí)支持兩個(gè)SDRAM設(shè)備

支持8位/16位數(shù)據(jù)總線寬度

支持13位行地址,11位列地址(最大可以支持4x16Mx16bit=128MB)

支持4個(gè)內(nèi)部Bank

支持word/half word/byte訪問(wèn)

支持Burst Read,有6x32bit讀FIFO緩存

SDRAM時(shí)鐘支持HCLK/2, HCLK/3, HCLK/4

支持低功耗模式(自刷新模式,掉電模式)

地址映射

圖5 SDRAM地址映射

0b8f8b4c-7d26-11ed-8abf-dac502259ad0.png ?

SDRAM Device1起始地址:0xC0000000 SDRAM Device2起始地址:0xD0000000

I/O引腳配置

表2 SDRAM IO引腳列表

0bacc7d4-7d26-11ed-8abf-dac502259ad0.png

使用SDRAM IO引腳初始化如下,可根據(jù)具體使用引腳進(jìn)行修改:

0bdaeef2-7d26-11ed-8abf-dac502259ad0.png

SDRAM讀寫(xiě)時(shí)序

寫(xiě)SDRAM時(shí)序

0c71e85c-7d26-11ed-8abf-dac502259ad0.png

讀SDRAM時(shí)序

0ca6b438-7d26-11ed-8abf-dac502259ad0.png ? ?

SDRAM配置

通過(guò)配置寄存器SDRAM_CTRLx來(lái)設(shè)置SDRAM設(shè)備的容量,訪問(wèn)方式等,詳細(xì)信息可參考RM。此寄存器包括如下配置:(W9825G6KH作為示例)

行地址/列地址配置

0cdda29a-7d26-11ed-8abf-dac502259ad0.png ?

行地址和列地址根據(jù)SDRAM設(shè)備地址位數(shù)進(jìn)行配置,如下示例:

0d021c6a-7d26-11ed-8abf-dac502259ad0.png

數(shù)據(jù)總線寬度

0d2c2190-7d26-11ed-8abf-dac502259ad0.png ?

根據(jù)SDRAM設(shè)備支持?jǐn)?shù)據(jù)總線寬度進(jìn)行配置,如下示例支持16bit數(shù)據(jù)寬度:
0d497fce-7d26-11ed-8abf-dac502259ad0.png

內(nèi)部區(qū)塊個(gè)數(shù)

0d5e34d2-7d26-11ed-8abf-dac502259ad0.png ?

SDRAM設(shè)備支持內(nèi)部bank個(gè)數(shù):

0d7e7058-7d26-11ed-8abf-dac502259ad0.png

列地址選通延遲(CAS)

0da4cbe0-7d26-11ed-8abf-dac502259ad0.png ?

SDRAM設(shè)備支持延遲:

0dc919c8-7d26-11ed-8abf-dac502259ad0.png

寫(xiě)保護(hù)配置(WRP)

如果配置了寫(xiě)保護(hù),在寫(xiě)SDRAM設(shè)備時(shí)會(huì)參數(shù)Bus error。

XMC_SDCLK時(shí)鐘分頻(CLKDIV)

BSTR(連續(xù)讀)

RD(讀延時(shí))

配置代碼例程:

0df3afe4-7d26-11ed-8abf-dac502259ad0.png ? ?

SDRAM時(shí)序參數(shù)配置

要正常使用SDRAM設(shè)備,需要正確配置此部分的實(shí)現(xiàn)參數(shù),此參數(shù)可在SDRAM設(shè)備的datasheet中找到對(duì)應(yīng)值。

配置寄存器SDRAM_TMx:

TMRD(加載模式寄存器到激活延遲)

TXSR(退出自刷新延遲)

TRAS(自刷新周期)

TRC(刷新命令到激活命令延遲)

TWR(寫(xiě)命令到預(yù)充電命令延遲)

TRP(預(yù)充電到激活命令延遲)

TRCD(行激活到列延遲)

例TRCD:最小18ns,SDRAM時(shí)鐘144MHz,一個(gè)SDRAM時(shí)鐘大約為7ns,因此TRCD至少要配置為延遲3個(gè)SDRAM時(shí)鐘周期。 例TWR:SDRAM設(shè)備要求2個(gè)SDRAM時(shí)鐘,因此配置為2

SDRAM設(shè)備對(duì)時(shí)序要求:(W9825G6KH作為示例)

0e21ab6a-7d26-11ed-8abf-dac502259ad0.png

配置代碼例程:

0e5ab342-7d26-11ed-8abf-dac502259ad0.png ? ?

SDRAM啟動(dòng)序列配置

Clock enable時(shí)鐘使能

0e7d6644-7d26-11ed-8abf-dac502259ad0.png

預(yù)充電

0f14ac98-7d26-11ed-8abf-dac502259ad0.png

設(shè)置刷新計(jì)數(shù)器

0f374afa-7d26-11ed-8abf-dac502259ad0.png

計(jì)算方法:counter=(SDRAM resfresh period / number of rows)-20;

刷新速率=64ms/8K=7.8125us; counter=7.8125us*144MHz–20=1105;

0f5b0b8e-7d26-11ed-8abf-dac502259ad0.png

自動(dòng)刷新

0f83707e-7d26-11ed-8abf-dac502259ad0.png

加載模式寄存器

0f9cf7b0-7d26-11ed-8abf-dac502259ad0.png

SDRAM例程

SDRAM Basic 此例程配置SDRAM設(shè)備之后,對(duì)SDRAM設(shè)備進(jìn)行讀寫(xiě)操作,并判斷讀寫(xiě)數(shù)據(jù)是否正確,包括如下步驟:

GPIO初始化

SDRAM配置

0fb5b944-7d26-11ed-8abf-dac502259ad0.png

SDRAM啟動(dòng)序列

0fea6522-7d26-11ed-8abf-dac502259ad0.png

SDRAM讀寫(xiě)訪問(wèn)

1022e762-7d26-11ed-8abf-dac502259ad0.png ?

SDRAM DMA

此例程配置SDRAM設(shè)備之后,使用對(duì)SDRAM設(shè)備進(jìn)行讀寫(xiě)操作,并判斷讀寫(xiě)數(shù)據(jù)是否正確,包括如下步驟:

GPIO初始化(同SDRAM Basic)

SDRAM配置(同SDRAM Basic)

SDRAM啟動(dòng)序列(同SDRAM Basic)

SDRAN DMA讀寫(xiě)

1047fe44-7d26-11ed-8abf-dac502259ad0.png ? ? ?


審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17149

    瀏覽量

    351224
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16367

    瀏覽量

    178114
  • SDRAM
    +關(guān)注

    關(guān)注

    7

    文章

    423

    瀏覽量

    55229
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7492

    瀏覽量

    163853
  • AT32
    +關(guān)注

    關(guān)注

    1

    文章

    113

    瀏覽量

    2102

原文標(biāo)題:AT32講堂039 | AT32 MCU SDRAM控制器的使用

文章出處:【微信號(hào):AT32 MCU 雅特力科技,微信公眾號(hào):AT32 MCU 雅特力科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    識(shí)別AT32 MCU的應(yīng)用筆記

    本應(yīng)用筆記介紹了在AT32控制器上如何實(shí)現(xiàn)當(dāng)前使用內(nèi)核版本、MCU廠商及型號(hào)的識(shí)別
    發(fā)表于 10-24 06:37

    AT32控制器上創(chuàng)建Multi MCU IAP應(yīng)用程序的方法

    對(duì)于大多數(shù)基于閃存的系統(tǒng),一項(xiàng)重要要求是能夠在最終產(chǎn)品中安裝固件時(shí)進(jìn)行更新。此功能稱為應(yīng)用程序內(nèi)編程(IAP)。本應(yīng)用筆記的目的是提供在AT32控制器上創(chuàng)建Multi MCU IAP應(yīng)用程序的方法
    發(fā)表于 10-24 06:48

    AT32控制器上移植ThreadX操作系統(tǒng)

    AT32控制器上移植ThreadX操作系統(tǒng)主要演示ThreadX操作系統(tǒng)移植到AT32 MCU的過(guò)程和方法。
    發(fā)表于 10-25 06:46

    AT32 MCU SDRAM應(yīng)用說(shuō)明

    AT32 MCU SDRAM Application Note本文主要講解AT32 SDRAM 控制器
    發(fā)表于 10-25 06:37

    使用Verilog實(shí)現(xiàn)基于FPGA的SDRAM控制器

    摘 要:介紹了SDRAM的特點(diǎn)和工作原理,提出了一種基于FPGA的SDRAM控制器的設(shè)計(jì)方法,使用該方法實(shí)現(xiàn)的控制器可非常方便地對(duì)SDRAM
    發(fā)表于 06-20 13:04 ?2192次閱讀

    SDRAM控制器簡(jiǎn)易化設(shè)計(jì)

    SDRAM存儲(chǔ)芯片擁有快速讀寫(xiě)的性能,可以應(yīng)用以回波模擬系統(tǒng)作為數(shù)據(jù)高速緩存。SDRAM芯片是由SDRAM控制器
    發(fā)表于 10-24 15:08 ?0次下載
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>簡(jiǎn)易化設(shè)計(jì)

    基于VHDL的SDRAM控制器的實(shí)現(xiàn)

    基于VHDL的SDRAM控制器的實(shí)現(xiàn)
    發(fā)表于 01-22 13:43 ?12次下載

    EPM1240的SDRAM控制器的設(shè)計(jì)

    EPM1240的SDRAM控制器的設(shè)計(jì)
    發(fā)表于 10-31 08:24 ?21次下載
    EPM1240的<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

    SDRAM控制器的設(shè)計(jì)

    邏輯復(fù)雜,接口方式與普通的存儲(chǔ)差異很大。為了解決這個(gè)矛盾,需要設(shè)計(jì)專用的SDRAM控制器,使用戶像使用SRAM -樣方便的使用SDRAM。考慮到
    發(fā)表于 11-28 19:51 ?5次下載
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

    FPGA讀寫(xiě)SDRAM的實(shí)例和SDRAM的相關(guān)文章及一些SDRAM控制器設(shè)計(jì)論文

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA讀寫(xiě)SDRAM的實(shí)例和SDRAM的相關(guān)文章及一些SDRAM控制器設(shè)計(jì)論文主要包括了:FPGA讀寫(xiě)SDRAM
    發(fā)表于 12-25 08:00 ?56次下載
    FPGA讀寫(xiě)<b class='flag-5'>SDRAM</b>的實(shí)例和<b class='flag-5'>SDRAM</b>的相關(guān)文章及一些<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設(shè)計(jì)論文

    如何使用FPGA設(shè)計(jì)SDRAM控制器

    針對(duì)SDRAM 操作繁瑣的問(wèn)題,在對(duì)SDRAM 存儲(chǔ)和全頁(yè)突發(fā)式操作進(jìn)行研究的基礎(chǔ)上,提出一種簡(jiǎn)易SDRAM 控制器的設(shè)計(jì)方法。該設(shè)計(jì)方法
    發(fā)表于 12-18 16:13 ?6次下載
    如何使用FPGA設(shè)計(jì)<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>

    基于SDRAM控制器軟核的Verilog設(shè)計(jì)

    ,SDRAM控制邏輯復(fù)雜,使用很不方便。 為了解決這個(gè)矛盾,需要設(shè)計(jì)專用的SDRAM控制器,使系統(tǒng)用戶象使用SRAM一樣方便的使用SDRAM
    的頭像 發(fā)表于 06-30 09:16 ?2704次閱讀
    基于<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>軟核的Verilog設(shè)計(jì)

    AT32講堂039 | AT32 MCU SDRAM控制器的使用

    SDRAM介紹同步動(dòng)態(tài)隨機(jī)存儲(chǔ)SDRAM)特點(diǎn):同步:memory工作時(shí)需要同步時(shí)鐘動(dòng)態(tài):存儲(chǔ)陣列需要不斷刷新隨機(jī):自由指定地址讀寫(xiě)數(shù)據(jù)容量大價(jià)格便宜SDRAM存儲(chǔ)結(jié)構(gòu)
    的頭像 發(fā)表于 12-19 11:46 ?1457次閱讀
    <b class='flag-5'>AT32</b>講堂039 | <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的使用

    關(guān)于AT32 MCU溫度傳感的應(yīng)用

    關(guān)于AT32 MCU溫度傳感的應(yīng)用
    的頭像 發(fā)表于 10-27 09:44 ?724次閱讀
    關(guān)于<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>溫度傳感<b class='flag-5'>器</b>的應(yīng)用

    AT32控制器硬件設(shè)計(jì)指南及抗EMC設(shè)計(jì)要點(diǎn)

    電子發(fā)燒友網(wǎng)站提供《AT32控制器硬件設(shè)計(jì)指南及抗EMC設(shè)計(jì)要點(diǎn).pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:53 ?0次下載
    <b class='flag-5'>AT32</b>微<b class='flag-5'>控制器</b>硬件設(shè)計(jì)指南及抗EMC設(shè)計(jì)要點(diǎn)