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

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

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

關(guān)于SDRAM控制器的基礎(chǔ)知識(shí)詳解

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2021-04-19 09:46 ? 次閱讀

FPGA視頻圖像處理系統(tǒng)中,經(jīng)常需要使用到SDRAM作為視頻圖像緩存。SDRAM控制器可以分為上電初始化,自動(dòng)刷新,讀操作和寫(xiě)操作這四個(gè)部分,他們之間的轉(zhuǎn)換可以通過(guò)狀態(tài)機(jī)來(lái)控制。下面分別實(shí)現(xiàn)這幾個(gè)部分。

1.SDRAM上電初始化

SDRAM上電初始化時(shí)序如下圖所示。

c2878e84-9ff2-11eb-8b86-12bb97331649.jpg

由時(shí)序圖可知初始化大概的過(guò)程為:上電后等待電源VDD和時(shí)鐘信號(hào)穩(wěn)定100μs(期間命令為空命令),同時(shí)在100μs內(nèi)設(shè)置CKE(時(shí)鐘使能)信號(hào)為高。隨后對(duì)所有Bank發(fā)送預(yù)充電(PRECH ARGE)命令,發(fā)送兩次自動(dòng)刷新(REFRESH)命令,最后發(fā)送裝載模式寄存器(LOAD MODE REGISTER)命令,并將設(shè)置寄存器的值傳入地址總線A0~A11。

c295a2a8-9ff2-11eb-8b86-12bb97331649.png

上述過(guò)程的實(shí)現(xiàn)可以通過(guò)線性序列機(jī)來(lái)實(shí)現(xiàn)。即需要對(duì)初始化過(guò)程時(shí)間進(jìn)行計(jì)數(shù),當(dāng)時(shí)間到達(dá)時(shí)就執(zhí)行某個(gè)命令。下面是部分代碼。

1.計(jì)時(shí)器

c2a5df56-9ff2-11eb-8b86-12bb97331649.png

2.命令執(zhí)行時(shí)間設(shè)置

c2b13130-9ff2-11eb-8b86-12bb97331649.jpg

3.對(duì)應(yīng)時(shí)間執(zhí)行對(duì)應(yīng)命令

c2cd462c-9ff2-11eb-8b86-12bb97331649.png

2.SDRAM自動(dòng)刷新

同樣給出自動(dòng)刷新的時(shí)序圖。

c3055f30-9ff2-11eb-8b86-12bb97331649.jpg

過(guò)程比較簡(jiǎn)單:首先對(duì)所有Bank預(yù)充電,然后發(fā)送兩次自動(dòng)刷新命令。

c3508924-9ff2-11eb-8b86-12bb97331649.png

同樣可以使用線性序列機(jī)的方法來(lái)實(shí)現(xiàn),這里就不重復(fù)了。但需要添加一個(gè)刷新?tīng)顟B(tài)標(biāo)志。ref_opt_done=1表示刷新完成,ref_opt=1表示正在刷新。

c35c7dec-9ff2-11eb-8b86-12bb97331649.png

3.SDRAM寫(xiě)操作

c36e59e0-9ff2-11eb-8b86-12bb97331649.jpg

從時(shí)序圖上看首先發(fā)出激活命令,并給出行地址Bank地址;隨后發(fā)出寫(xiě)命令,并指定寫(xiě)入Bank,起始列地址和寫(xiě)入數(shù)據(jù);最后進(jìn)行預(yù)充電,關(guān)閉所有Bank。這里每次突發(fā)寫(xiě)入4個(gè)數(shù)據(jù),即突發(fā)長(zhǎng)度為4,突發(fā)長(zhǎng)度可以在之前初始化的模式寄存器中設(shè)置。

c37f345e-9ff2-11eb-8b86-12bb97331649.png

同樣使用序列機(jī)的實(shí)現(xiàn)方法,在寫(xiě)操作中也需要添加寫(xiě)操作完成狀態(tài)標(biāo)志,和過(guò)程狀態(tài)標(biāo)志。此外只有當(dāng)寫(xiě)入突發(fā)長(zhǎng)度數(shù)據(jù)的時(shí)候我們才使能數(shù)據(jù)線輸入有效,其他時(shí)刻讓數(shù)據(jù)線保持高阻態(tài),所以要添加一個(gè)寫(xiě)數(shù)據(jù)狀態(tài)標(biāo)志W(wǎng)r_data_valid=1時(shí)表示正在寫(xiě)數(shù)據(jù)。

c6ad4be8-9ff2-11eb-8b86-12bb97331649.png

4.SDRAM讀操作

c6c199c2-9ff2-11eb-8b86-12bb97331649.jpg

與寫(xiě)操作類似,但是我們輸入讀命令的時(shí)候,數(shù)據(jù)并不是立刻輸出,而是要經(jīng)過(guò)一個(gè)CAS_Latency后輸出。這個(gè)延時(shí)也可以通過(guò)模式寄存器的配置來(lái)調(diào)整。我們同樣需要給出讀操作完成、讀操作過(guò)程,讀出突發(fā)數(shù)據(jù)的有效區(qū)間。

c6f9adb2-9ff2-11eb-8b86-12bb97331649.png

c7088134-9ff2-11eb-8b86-12bb97331649.png

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

首先SDRAM上電后進(jìn)入空閑狀態(tài),初始化完成后進(jìn)入刷新?tīng)顟B(tài),然后根據(jù)輸入命令進(jìn)行轉(zhuǎn)換,實(shí)際上狀態(tài)機(jī)的控制對(duì)于刷新操作,讀/寫(xiě)操作是有一個(gè)優(yōu)先級(jí)的:刷新操作》寫(xiě)操作》讀操作。即假設(shè)寫(xiě)命令和刷新命令同時(shí)到來(lái)時(shí)先執(zhí)行刷新操作。下圖為狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖。具體實(shí)現(xiàn)可參考完整代碼。

c73766de-9ff2-11eb-8b86-12bb97331649.jpg

由于SDRAM需要固定時(shí)間間隔刷新一次,我們還得考慮一個(gè)刷新定時(shí)器,固定時(shí)間產(chǎn)生一個(gè)刷新請(qǐng)求。

c7617398-9ff2-11eb-8b86-12bb97331649.png

最后我們還需要考慮如果在讀操作的時(shí)候,產(chǎn)生了刷新請(qǐng)求或?qū)懻?qǐng)求怎么辦呢?寫(xiě)操作的時(shí)候,產(chǎn)生了刷新請(qǐng)求或讀請(qǐng)求怎么辦?或者在刷新操作時(shí)產(chǎn)生了讀/寫(xiě)請(qǐng)求怎么辦?

對(duì)于刷新請(qǐng)求的突然到來(lái)我們采取記住刷新標(biāo)志,等待當(dāng)前任務(wù)完成后進(jìn)行刷新操作。

在刷新操作時(shí)讀/寫(xiě)請(qǐng)求突然到來(lái),我們也采取記住讀/寫(xiě)標(biāo)志,等待當(dāng)前任務(wù)完成后進(jìn)行讀/寫(xiě)操作。

但是對(duì)于在讀/寫(xiě)操作時(shí)外部讀/寫(xiě)請(qǐng)求的到來(lái),我們選擇了忽略這次請(qǐng)求。部分代碼如下。

c76b6e20-9ff2-11eb-8b86-12bb97331649.jpg

由于視頻信號(hào)數(shù)據(jù)讀入讀出都是連續(xù)不斷的,因此在某些時(shí)刻會(huì)導(dǎo)致讀寫(xiě)的遺漏,但一般會(huì)在SDRAM讀出寫(xiě)入前加上一個(gè)FIFO進(jìn)行緩存控制數(shù)據(jù)的讀寫(xiě),當(dāng)寫(xiě)FIFO中數(shù)據(jù)大于一次突發(fā)長(zhǎng)度時(shí),使能寫(xiě)信號(hào);當(dāng)讀FIFO中數(shù)據(jù)小于突發(fā)長(zhǎng)度時(shí),使能讀信號(hào),就可以解決這個(gè)問(wèn)題。
編輯:lyn

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21622

    瀏覽量

    601241
  • 計(jì)時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    416

    瀏覽量

    32605
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4722

    瀏覽量

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

    關(guān)注

    0

    文章

    28

    瀏覽量

    8125

原文標(biāo)題:SDRAM控制器設(shè)計(jì)

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    品質(zhì)管理基礎(chǔ)知識(shí)

    品質(zhì)管理基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 11-01 11:08 ?257次閱讀
    品質(zhì)管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    高速數(shù)模轉(zhuǎn)換基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《高速數(shù)模轉(zhuǎn)換基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 10-18 11:19 ?0次下載
    高速數(shù)模轉(zhuǎn)換<b class='flag-5'>器</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>

    高速模數(shù)轉(zhuǎn)換基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《高速模數(shù)轉(zhuǎn)換基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 10-18 10:31 ?0次下載
    高速模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>

    TI電池監(jiān)控IC的HDQ通信基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《TI電池監(jiān)控IC的HDQ通信基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:01 ?0次下載
    TI電池監(jiān)控<b class='flag-5'>器</b>IC的HDQ通信<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    負(fù)載開(kāi)關(guān)基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《負(fù)載開(kāi)關(guān)基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 09:56 ?1次下載
    負(fù)載開(kāi)關(guān)<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    DDR4 SDRAM控制器的主要特點(diǎn)

    DDR4 SDRAM(Double Data Rate Fourth Synchronous Dynamic Random Access Memory)控制器作為現(xiàn)代計(jì)算系統(tǒng)中的重要組成部分,其
    的頭像 發(fā)表于 09-04 12:55 ?451次閱讀

    運(yùn)算放大器和比較基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《運(yùn)算放大器和比較基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 07-13 09:37 ?10次下載

    一文詳解智能汽車域控制器基礎(chǔ)知識(shí)

    分布式架構(gòu)下汽車搭載數(shù)十個(gè)控制器,且為保證性能穩(wěn)定性及安全性,每個(gè)控制器芯片硬件算力相對(duì)其上運(yùn)行的程序都有所冗余。這就導(dǎo)致從整車維度,各個(gè)控制器的能力“各自為政”,無(wú)法高效協(xié)同。
    發(fā)表于 04-20 09:49 ?1072次閱讀
    一文<b class='flag-5'>詳解</b>智能汽車域<b class='flag-5'>控制器</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>

    關(guān)于控制器基礎(chǔ)知識(shí)分享

    控制器存儲(chǔ)和管理用戶賬號(hào)、密碼策略、組策略以及其他安全相關(guān)的信息。它允許用戶通過(guò)認(rèn)證獲得對(duì)域內(nèi)資源的訪問(wèn)權(quán)限。用戶登錄到域中的計(jì)算機(jī)時(shí),域控制器會(huì)驗(yàn)證用戶的身份,并授予相應(yīng)的權(quán)限。
    的頭像 發(fā)表于 01-24 16:31 ?873次閱讀

    射頻與微波基礎(chǔ)知識(shí)

    射頻與微波基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 01-16 10:05 ?787次閱讀
    射頻與微波<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    smt32h750擴(kuò)展sdram

    STM32H750是STMicroelectronics推出的一款高性能微控制器,其特點(diǎn)之一是可擴(kuò)展的SDRAM(同步動(dòng)態(tài)隨機(jī)存儲(chǔ))接口。本文將詳細(xì)介紹STM32H750擴(kuò)展SDRAM
    的頭像 發(fā)表于 01-04 14:09 ?1266次閱讀

    電氣技術(shù)基礎(chǔ)知識(shí)

    電氣技術(shù)基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 12-14 09:11 ?1465次閱讀
    電氣技術(shù)<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    電子元器件的基礎(chǔ)知識(shí)

    電子元器件的基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 12-04 10:42 ?4873次閱讀
    電子元器件的<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    傳感網(wǎng)絡(luò)通信基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《傳感網(wǎng)絡(luò)通信基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 11-15 11:50 ?0次下載
    傳感<b class='flag-5'>器</b>網(wǎng)絡(luò)通信<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    電池的基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《電池的基礎(chǔ)知識(shí).doc》資料免費(fèi)下載
    發(fā)表于 11-15 11:29 ?1次下載
    電池的<b class='flag-5'>基礎(chǔ)知識(shí)</b>