基于FPGA的高分辨率視頻圖像處理的SDRAM控制器設計
SDRAM控制器主狀態(tài)機如圖2所示。
本文引用地址:http://butianyuan.cn/article/248971.htm
在主狀態(tài)機完成初始化狀態(tài),進入等待狀態(tài)后,等待讀/寫命令和視頻數(shù)據(jù)輸入信號。如果無視頻輸入,狀態(tài)機始終在等待狀態(tài),并周期性的對SDRAM進行刷新,直到有視頻和讀/寫命令輸入。這部分的狀態(tài)圖如圖3所示。
由于猝發(fā)的最大長度為256,在每兩行操作之間都要進行激活、讀/寫命令、猝發(fā)終止、刷新等操作。由于讀/寫數(shù)據(jù)都使用的是像素時鐘的頻率,這樣總個FPGA系統(tǒng)只有一個時鐘域,能保證整個系統(tǒng)完全按照同步系統(tǒng)來設計,能提高整個系統(tǒng)的可靠性。這樣會帶來一個問題,要想僅僅在視頻的有效時間,即DEN高電平部分完成一行視頻數(shù)據(jù)的讀/寫工作,這是不能滿足要求的。為了解決這個問題,需要借用行同步、前廊和后廊的時間,但是DEN無效后不傳輸視頻數(shù)據(jù)的,為了解決這個矛盾在SDRAM控制器和數(shù)據(jù)流輸入/輸出接口之間要分別設計兩個FIFO,深度大于一行的視頻數(shù)據(jù),采用乒乓操作保證視頻流的流暢。
3 SDRAM控制器應用實例
在某型號的機載大屏顯示器系統(tǒng)中,視頻圖像處理系統(tǒng)中使用該SDRAM控制器進行了調(diào)試,實現(xiàn)FPGA對SDRAM的控制,完成相應的視頻處理算法和實現(xiàn)了圖像的翻轉(zhuǎn)功能。此部分系統(tǒng)簡要框圖如圖4所示。
該系統(tǒng)輸入的為多路DVI信號,輸入視頻分辨率均為1 280×1 024,DVI信號經(jīng)過DVI解碼后輸入FPGA.
為了完成FPGA內(nèi)部的視頻處理算法和圖像翻轉(zhuǎn)的功能,在FPGA外部掛了兩組SDRAM,實現(xiàn)了乒乓操作,保證了系統(tǒng)的處理速度。處理后的視頻經(jīng)過LVDS信號轉(zhuǎn)化,輸出到液晶屏上顯示。
對于左右翻轉(zhuǎn)在FPGA內(nèi)部采用雙口RAM進行操作能夠輕易實現(xiàn)。而圖像的上下翻轉(zhuǎn),由于涉及到一幀數(shù)據(jù)的處理,需要經(jīng)過外部緩存SDRAM實現(xiàn)。在采用上述SDRAM控制器的基礎上,控制SDRAM的讀方式就能實現(xiàn),在將視頻數(shù)據(jù)寫入SDRAM的時候,寫地址從第一行按順序?qū)懭搿Wx的過程相反,要從最后行開始讀。
由于SDRAM的一行容量不能裝下整行的視頻信息,所以讀的行地址要求每次從讀過的行的地址減去存一行視頻需要的SDRAM的物理行數(shù),在一行視頻數(shù)據(jù)沒有讀完前要從當前行不斷的自增。如1 280×1 024的視頻數(shù)據(jù),共需要5 120(5×1 024)SDRAM行存一幀數(shù)據(jù)。要上下翻轉(zhuǎn)輸出圖像,首先要輸出視頻數(shù)據(jù)的第1 024行,也就是要從SDRAM的5 115行開始按順序讀出,讀完第5 120行后,SDRAM地址轉(zhuǎn)到5 110行讀視頻流的第1 023行,如此類推,直到讀完整幀的視頻數(shù)據(jù)。該視頻處理系統(tǒng)與顯示效果如圖5所示。
4結(jié)論
該設計針對高分辨率視頻圖像處理的SDR SDRAM控制器的設計,采用統(tǒng)一像素時鐘進行系統(tǒng)操作,降低系統(tǒng)的復雜度,提高系統(tǒng)的可靠性;通過寫修改相關參數(shù),能夠適應所有VESA分辨率的視頻處理,通用性強;具有自刷新功能,在無外部信號輸入情況下能夠自動刷新,保證最后存儲數(shù)據(jù)不會丟失;能夠通過增加外部模塊,控制讀寫地址,實現(xiàn)圖像翻轉(zhuǎn)功能。此控制器在Al-tera的StratixⅡ系列FPGA EP2S60F1020I4平臺上,成功實現(xiàn)各種視頻處理功能,驗證了此控制器的實用性。
fpga相關文章:fpga是什么
評論