《電子技術應用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 嵌入式实时图像处理系统中SDRAM控制器的实现
嵌入式实时图像处理系统中SDRAM控制器的实现
王利颖 蒋亚东 罗凤武
摘要: 嵌入式实时图像处理系统中SDRAM控制器的实现,介绍一种用于嵌入式实时图像处理系统的SDRAM控制器的实现方案。根据实时系统对数据传输速率及连续性的要求,将SDRAM配置为全页突发操作模式,并采用异步FIFO作为FPGA与SDRAM间的数据缓冲器。为配合SDRAM的全页操作模式,并充分利用其高速读写性能,将FIFO设计为基于乒乓操作的流水线结构,实现了数据的无缝缓存。将该方案用于实时红外热成像系统,经实验结果表明,该SDRAM控制器执行效率高,占用资源少,可移植性强。
關鍵詞: SDRAM 控制器 嵌入式
Abstract:
Key words :

0 引 言
    SDRAM作為大容量、高速度、低價格、低功耗的存儲器件,在嵌入式實時圖像處理系統中具有很高的應用價值,但其控制機制復雜,因此需要設計控制器,以簡化系統對SDRAM的訪問。雖然目前許多微處理器及DSP都提供了與SDRAM的直接接口,但這種通用控制器的執行效率很低,難以滿足實時系統對速度的要求。鑒于此,介紹一種基于FPGA設計而實現高效SDRAM控制器的方案。結合實際系統,該方案將SDRAM配置為全頁突發模式,并采用異步FIFO作為FPGA與SDRAM間的數據緩沖器。分析表明,全頁突發操作模式能夠很好地發揮SDRAM高速讀寫的性能;同時,設計成乒乓操作結構的異步FIFO,在保證數據連續性的同時,更能降低低速前端對高速SDRAM訪問的影響。

1 SDRAM簡介
1.1 SDRAM的特點

    相對于其他存儲器件,SDRAM具備以下特性。
    (1)上電后必須通過一個初始化進程配置模式寄存器的值,以決定SDRAM的工作模式;
    (2)基于三極管和電容的存儲結構SDRAM決定了必須對其定時執行刷新操作,以免數據丟失;
    (3)訪問SDRAM時,先由Active命令激活要讀寫的Bank及行并鎖存行址,然后在Read/Write命令有效時鎖存列址。當訪問當前Bank的其他行時,須先使用Pre-charge命令關閉當前行;
    (4)SDRAM的內部操作由命令控制,CS_N,RAS_N,CAS_N和WE_N在時鐘上升沿的狀態決定了具體的操作,Bank及行列地址線在部分操作中作為輔助參數輸入。
1.2 全頁(Full-page)模式突發操作
   
進行大量數據讀寫時,全頁突發模式是充分利用SDRAM性能,提高讀寫速度的良好選擇。
    激活Bank的某一行后即可對該行進行讀寫操作。
寫入數據在發出寫命令的當前時鐘周期即可有效,因此寫操作可以在單周期內完成;而讀出數據將在發出讀命令之后CL(CAS Latency)時鐘周期才能輸出到總線,即隨機讀取單個數據至少需要1+CL時鐘周期。可見,隨機讀操作會大大降低系統效率。若采用全頁突發方式,對于列寬度為n的SDRAM存儲器,整頁輸出所需的總周期數為2n+CL,平均單個數據輸出所需周期為(2n+CL)/2n△1,由此讀操作延遲對系統效率的影響可降至最低。

2 SDRAM控制器設計
    實際的實時紅外熱成像系統采用了ISSI公司生產的型號為IS42S16160B的SDRAM作為數據緩存,其存儲單元組織結構為4 Bank×8 192行×512列×16位。
    SDRAM控制器主要由時鐘鎖相環模塊、初始化模塊、刷新計數模塊、數據通路模塊、輸入/輸出FIFO模塊、FIFO接口模塊和主控制器模塊組成,如圖1所示。

    在該SDRAM控制器中,片上時鐘鎖相環模塊的作用是將輸入時鐘倍頻為所需要的時鐘,并根據電路板布局進行移相,以保證在時鐘上升沿準確采樣命令及數據。初始化模塊負責產生規定了時間、順序和個數的控制命令對SDRAM進行配置,并在進程結束后發出ini_end信號,以啟動主控制器。刷新控制模塊的作用是每隔最長7.812 5μs發出刷新請求信號ref_req,并接收主控制器發出的ref_ack信號重置刷新計數器。數據通路模塊用于控制數據的有效輸入/輸出。
    由于系統對控制器中讀寫操作的數據連續性要求很高,且讀寫速度比較低,而控制器對SDRAM中讀寫操作的數據連續性并無要求,且讀寫速度很高,因此需要使用異步FIFO作為輸入/輸出緩存。輸入/輸出FIFO的數據寬度為16 b,深度可視系統需要而定,但應大于一次讀寫的數據長度LENGTH。另外,為配合SDRAM的全頁突發模式,并充分發揮SDRAM高速讀寫的特點,FIFO采用了乒乓操作的流水線結構。現以輸入FIFO為例,當某個輸入FIFO寫滿LENGTH數據時,主控制器從該輸入FIFO讀出數據寫入SDRAM,同時系統向另一個輸入FIFO寫入數據。

    FIFO接口模塊的主要信號如圖2所示。其作用是將FIFO的狀態信號轉換為主控制器的讀寫請求信號,并控制切換輸入/輸出的兩個FIFO。以向SDRAM寫入數據為例,若某個輸入FIFO的寫人數據個數標志信號in_wr_used與LENGTH相等,則向主控制器發出寫SDRAM請求,并將該輸入FIFO中的LENGTH數據一次寫入SDRAM,同時控制系統向另一個輸入FIFO寫入數據。
    SDRAM支持多種工作模式,將其全部包含在主控制器狀態機中會大大增加設計難度,并降低運行速度。考慮到一些模式在實時圖像處理系統中并不需要,所以對SDRAM主控制器韻狀態進行了簡化,如圖3所示。

    對該主控制器有以下兩點需要說明:
    (1)器件僅在上電后進行一次初始化配置,進入正常工作狀態后就不再改變工作模式。初始化時序仿真結果,如圖4所示。

    (2)當SDRAM工作在全頁突發模式時,讀寫操作所訪問的地址將在頁內循環,直至收到Burst-Termi-nate命令或Pre-charge命令。由于在Burst-Termi-nate命令后還需發出Pre-charge命令,才能保證芯片正常工作,因此設計采用了Pre-charge命令終止頁模式。為保證LENGTH數據中正確讀出或寫入SDRAM,發出Pre-charge命令時必須滿足一定的時序要求。對于讀操作,Pre-charge應在最后一個有效輸出數據之前CL-l時鐘發出;對于寫操作,Pre-charge應在最后一個有效輸入數據之后tDPL時間發出。圖5和圖6給出SDRAM控制器的讀寫操作時序仿真結果,其中,OUT_VALID及IN_VALID信號分別表明輸出及輸入數據有效。

3 結 語
    針對實時圖像處理系統的特點,定制SDRAM控制器。在Altera公司的主流芯片Cyclone II(EP2C70F896C6)上成功地使用了Verilog HDL編程語言,其占用355個邏輯單元(不到FPGA總邏輯資源的1%);4個M4K塊和1個PLL鎖相環。在320×240的實時紅外熱成像系統中,該SDRAM控制器的工作狀態良好,并可通過改變LENGTH參數而方便地用于任意分辨率的實時圖像處理系統中,可移植性強。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 69av在线视频| 日韩亚洲精品电影| 久久精品视频在线| 国产99在线播放| 久久国产精品亚洲va麻豆| 久久亚洲国产成人| 国产日韩精品在线观看| 久久视频在线免费观看| 国产精品视频在线播放| 欧美中文在线视频| 欧美精品一区二区三区免费播放| 色黄久久久久久| 国产精品天天狠天天看| 欧美精品尤物在线| 欧日韩免费视频| 日韩中文字幕免费视频| 天天人人精品| 日韩有码在线播放| 久久精品99久久久香蕉| 精品国产综合久久| 91精品久久久久久久久久久久久| 亚洲综合国产精品| 色综合久久av| 欧美精品在线网站| 午夜精品美女久久久久av福利| 一区二区视频在线播放| 麻豆一区二区三区在线观看| 亚洲熟妇无码一区二区三区| 大波视频国产精品久久| 久久99视频免费| 日日噜噜噜夜夜爽亚洲精品| 久久久天堂国产精品女人| 久久综合中文色婷婷| 麻豆av一区二区三区久久| 久久久中文字幕| 国产精品日韩高清| 日韩精品视频在线观看视频| 久久天天躁夜夜躁狠狠躁2022| 精品一区二区不卡| 日本亚洲欧美三级| 国产精品爽爽爽|