新聞中心

        EEPW首頁 > 嵌入式系統 > 市場分析 > 基于FPGA的高分辨率視頻圖像處理的SDRAM控制器設計

        基于FPGA的高分辨率視頻圖像處理的SDRAM控制器設計

        作者: 時間:2014-06-29 來源:網絡 收藏

          本文介紹了一種基于的用于視頻圖像處理的控制器的設計方法。通過設置的工作狀態,使其工作在猝發模式。在視頻時序信號控制下,用多行連續的存儲空間,存取視頻數據。并在數據接口部分增加FIFO,緩存一行視頻,在像素時鐘控制下,實現視頻數據實時的存儲和讀取。通過改變相關參數,能對所有VESA分辨率視頻流進行操作。具有通用性強、系統復雜度低、可靠性高、可擴展等特點。在某型號的機載大屏顯示器系統中,用該SDRAM控制器實現了圖像的翻轉等功能,也驗證了該控制器的實用性。

        本文引用地址:http://www.104case.com/article/248971.htm

          0引言

          隨著人們對視頻圖像的清晰度和細節顯示要求的不斷提高,、高bit位的視頻標準相繼被推出。

          造成了數據處理速度和數據處理量極大的增加,也給數據緩存的容量和控制提出較高的要求。在常用的存儲器中,SDRAM具有大容量和高速度的特點,并且價格也比較便宜,在視頻圖像處理中被廣泛的用于圖像緩存。在基于視頻圖像處理系統中,不可避免地會涉及到用實現SDRAM控制器的方法。但由于SDRAM的操作方式較復雜,常見的控制器支持的視頻分辨率普遍都不高。在高分辨率的視頻圖像已經普及的今天,支持高分辨率的SDRAM控制器的設計也已經被越來越多的視頻圖像處理人士關注。本文介紹的這種控制器,采用的是Micron公司的MT48LC4M32B2TG(1M×32×4 banks)SDR SDRAM,在Altera的StratixⅡ系列FPGA EP2S60F1020I4上進行的開發。

          在此平臺上采用VHDL語言開發了SDRAM的控制器。

          該控制器實現了最高分辨率為1 600×1 200@60 Hz的視頻流的緩存和圖像翻轉的功能。

          1 SDRAM基本操作

          SDRAM主要包括初始化、讀/寫操作、刷新、激活、預充電等操作。以MICRON公司的MT48LC4M32B2TG型號SDRAM為例分別介紹。

          1.1初始化

          SDRAM在上電后必須執行初始化操作,主要流程為:首先在電源電壓和時鐘穩定后,經過100μs的延時,執行一次空操作;然后進行預充電操作,使所有BANK都進入空閑狀態;再然后執行兩個自動刷新命令;執行完自動刷新后進入模式設置狀態,通過地址總線A[11:0]發送數據來設置模式寄存器。模式寄存器設置定義如圖1所示。

          

         

          1.2讀/寫操作

          首先激活具體的BANK和行;然后發出讀或寫命令,和所要訪問的起始列。在讀命令發出后,要等待CAS延遲時間,有效數據才會出現在數據總線上。在寫命令發出后,有效數據立即出現在數據總線上。讀寫命令可分為單個模式和猝發模式,猝發模式根據猝發長度分為1,2,4,8和全頁模式。猝發操作可用猝發終止命令(BURST TERMINATE)結束。

          1.3刷新

          由于SDRAM的內部電路特點,必須執行刷新命令,以防止數據丟失。要求64 ms內至少刷新4 096次。

          1.4激活

          在讀/寫命令之前都要發出激活命令,激活特定BANK中的某一行。激活后此行一直處于有效狀態,直到接收到預充電命令。

          1.5預充電

          預充電命令用于關閉特定BANK中的某一行,或者所有BANK.

          各種操作命令對應的SDRAM管腳電平狀態如表1所示。

          

         

          2 SDRAM控制器的設計

          在視頻圖像處理中SDRAM主要用作數據緩存,也就是FPGA對SDRAM操作最頻繁的為讀命令、寫命令,在這兩個命令中間插著激活、預充電、猝發終止、刷新等命令。對于高分辨率的視頻流,分辨率都在1 280×1 024以上,也就是每行的點像素都要大于1 280個,數據量非常的龐大。

          為了降低SDRAM的操作時鐘的頻率和提高視頻處理的實時性,采用猝發的模式對SDRAM進行操作。對于SDRAM MT48LC4M32B2TG地址為A[7:0],猝發操作的最大長度為256.也就是說為了存儲和讀出一行的視頻數據要對SDRAM的多行進行操作。如1 280×1 024分辨率,需要5行SDRAM空間(256×5=1 280)。

          對于不能被256整除的列數如1 600,就要采用控制猝發長度的方式,為了控制方便采用8行SDRAM空間存儲一行視頻數據(200×8=1 600)。標準的VESA分辨率都可以用此方式存儲。在SDRAM控制器中設置了SDRAM的猝發長度的選擇功能,只要修改需要的猝發長度即可,不要重新設計代碼。

          為了保證SDRAM的刷新要求,在每一行的SDRAM操作完成后就進行一次刷新操作,此操作經由輸入的視頻行同步信號(HSY)的觸發,如果外部視頻信號突然無輸入,為了保證最后存儲的數據不丟失,進入自刷新模式。一當控制器檢測到HSY無變化就會啟用自刷新模式,周期對SDRAM刷新。

        fpga相關文章:fpga是什么



        上一頁 1 2 下一頁

        關鍵詞: FPGA SDRAM 高分辨率

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贵溪市| 喀喇沁旗| 喜德县| 蛟河市| 三原县| 依安县| 黄平县| 曲周县| 天长市| 永善县| 土默特左旗| 贺兰县| 饶阳县| 长春市| 康平县| 内丘县| 麦盖提县| 孟连| 毕节市| 临洮县| 兰考县| 崇义县| 探索| 扎囊县| 射阳县| 乌鲁木齐县| 丹阳市| 波密县| 洪江市| 壶关县| 兴国县| 保山市| 怀远县| 阳西县| 涞水县| 顺平县| 松原市| 伊春市| 泰顺县| 修水县| 龙岩市|