精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于SDRAM控制器的基礎知識詳解

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2021-04-19 09:46 ? 次閱讀

FPGA視頻圖像處理系統中,經常需要使用到SDRAM作為視頻圖像緩存。SDRAM控制器可以分為上電初始化,自動刷新,讀操作和寫操作這四個部分,他們之間的轉換可以通過狀態機來控制。下面分別實現這幾個部分。

1.SDRAM上電初始化

SDRAM上電初始化時序如下圖所示。

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

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

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

上述過程的實現可以通過線性序列機來實現。即需要對初始化過程時間進行計數,當時間到達時就執行某個命令。下面是部分代碼。

1.計時器

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

2.命令執行時間設置

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

3.對應時間執行對應命令

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

2.SDRAM自動刷新

同樣給出自動刷新的時序圖。

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

過程比較簡單:首先對所有Bank預充電,然后發送兩次自動刷新命令。

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

同樣可以使用線性序列機的方法來實現,這里就不重復了。但需要添加一個刷新狀態標志。ref_opt_done=1表示刷新完成,ref_opt=1表示正在刷新。

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

3.SDRAM寫操作

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

從時序圖上看首先發出激活命令,并給出行地址Bank地址;隨后發出寫命令,并指定寫入Bank,起始列地址和寫入數據;最后進行預充電,關閉所有Bank。這里每次突發寫入4個數據,即突發長度為4,突發長度可以在之前初始化的模式寄存器中設置。

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

同樣使用序列機的實現方法,在寫操作中也需要添加寫操作完成狀態標志,和過程狀態標志。此外只有當寫入突發長度數據的時候我們才使能數據線輸入有效,其他時刻讓數據線保持高阻態,所以要添加一個寫數據狀態標志Wr_data_valid=1時表示正在寫數據。

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

4.SDRAM讀操作

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

與寫操作類似,但是我們輸入讀命令的時候,數據并不是立刻輸出,而是要經過一個CAS_Latency后輸出。這個延時也可以通過模式寄存器的配置來調整。我們同樣需要給出讀操作完成、讀操作過程,讀出突發數據的有效區間。

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

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

5.SDRAM控制器設計

首先SDRAM上電后進入空閑狀態,初始化完成后進入刷新狀態,然后根據輸入命令進行轉換,實際上狀態機的控制對于刷新操作,讀/寫操作是有一個優先級的:刷新操作》寫操作》讀操作。即假設寫命令和刷新命令同時到來時先執行刷新操作。下圖為狀態機的狀態轉移圖。具體實現可參考完整代碼。

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

由于SDRAM需要固定時間間隔刷新一次,我們還得考慮一個刷新定時器,固定時間產生一個刷新請求。

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

最后我們還需要考慮如果在讀操作的時候,產生了刷新請求或寫請求怎么辦呢?寫操作的時候,產生了刷新請求或讀請求怎么辦?或者在刷新操作時產生了讀/寫請求怎么辦?

對于刷新請求的突然到來我們采取記住刷新標志,等待當前任務完成后進行刷新操作。

在刷新操作時讀/寫請求突然到來,我們也采取記住讀/寫標志,等待當前任務完成后進行讀/寫操作。

但是對于在讀/寫操作時外部讀/寫請求的到來,我們選擇了忽略這次請求。部分代碼如下。

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

由于視頻信號數據讀入讀出都是連續不斷的,因此在某些時刻會導致讀寫的遺漏,但一般會在SDRAM讀出寫入前加上一個FIFO進行緩存控制數據的讀寫,當寫FIFO中數據大于一次突發長度時,使能寫信號;當讀FIFO中數據小于突發長度時,使能讀信號,就可以解決這個問題。
編輯:lyn

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21678

    瀏覽量

    602037
  • 計時器
    +關注

    關注

    1

    文章

    419

    瀏覽量

    32647
  • 代碼
    +關注

    關注

    30

    文章

    4753

    瀏覽量

    68368
  • SDRAM控制器
    +關注

    關注

    0

    文章

    28

    瀏覽量

    8133

原文標題:SDRAM控制器設計

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    品質管理基礎知識

    品質管理基礎知識
    的頭像 發表于 11-01 11:08 ?308次閱讀
    品質管理<b class='flag-5'>基礎知識</b>

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識
    的頭像 發表于 10-24 15:00 ?192次閱讀
    Verilog HDL的<b class='flag-5'>基礎知識</b>

    高速數模轉換基礎知識

    電子發燒友網站提供《高速數模轉換基礎知識.pdf》資料免費下載
    發表于 10-18 11:19 ?0次下載
    高速數模轉換<b class='flag-5'>器</b><b class='flag-5'>基礎知識</b>

    高速模數轉換基礎知識

    電子發燒友網站提供《高速模數轉換基礎知識.pdf》資料免費下載
    發表于 10-18 10:31 ?0次下載
    高速模數轉換<b class='flag-5'>器</b><b class='flag-5'>基礎知識</b>

    TI電池監控IC的HDQ通信基礎知識

    電子發燒友網站提供《TI電池監控IC的HDQ通信基礎知識.pdf》資料免費下載
    發表于 10-12 10:01 ?0次下載
    TI電池監控<b class='flag-5'>器</b>IC的HDQ通信<b class='flag-5'>基礎知識</b>

    負載開關基礎知識

    電子發燒友網站提供《負載開關基礎知識.pdf》資料免費下載
    發表于 10-08 09:56 ?1次下載
    負載開關<b class='flag-5'>基礎知識</b>

    DDR4 SDRAM控制器的主要特點

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

    運算放大器和比較基礎知識

    電子發燒友網站提供《運算放大器和比較基礎知識.pdf》資料免費下載
    發表于 07-13 09:37 ?10次下載

    一文詳解智能汽車域控制器基礎知識

    分布式架構下汽車搭載數十個控制器,且為保證性能穩定性及安全性,每個控制器芯片硬件算力相對其上運行的程序都有所冗余。這就導致從整車維度,各個控制器的能力“各自為政”,無法高效協同。
    發表于 04-20 09:49 ?1103次閱讀
    一文<b class='flag-5'>詳解</b>智能汽車域<b class='flag-5'>控制器</b><b class='flag-5'>基礎知識</b>

    FPGA基礎知識介紹

    電子發燒友網站提供《FPGA基礎知識介紹.pdf》資料免費下載
    發表于 02-23 09:45 ?29次下載

    關于控制器基礎知識分享

    控制器存儲和管理用戶賬號、密碼策略、組策略以及其他安全相關的信息。它允許用戶通過認證獲得對域內資源的訪問權限。用戶登錄到域中的計算機時,域控制器會驗證用戶的身份,并授予相應的權限。
    的頭像 發表于 01-24 16:31 ?902次閱讀

    射頻與微波基礎知識

    射頻與微波基礎知識
    的頭像 發表于 01-16 10:05 ?812次閱讀
    射頻與微波<b class='flag-5'>基礎知識</b>

    smt32h750擴展sdram

    STM32H750是STMicroelectronics推出的一款高性能微控制器,其特點之一是可擴展的SDRAM(同步動態隨機存儲)接口。本文將詳細介紹STM32H750擴展SDRAM
    的頭像 發表于 01-04 14:09 ?1330次閱讀

    電氣技術基礎知識

    電氣技術基礎知識
    的頭像 發表于 12-14 09:11 ?1500次閱讀
    電氣技術<b class='flag-5'>基礎知識</b>

    電子元器件的基礎知識

    電子元器件的基礎知識
    的頭像 發表于 12-04 10:42 ?4911次閱讀
    電子元器件的<b class='flag-5'>基礎知識</b>