基于FPGA的高分辨率視頻圖像處理的SDRAM控制器設計
SDRAM控制器主狀態(tài)機如圖2所示。
本文引用地址:http://dyxdggzs.com/article/248971.htm

在主狀態(tài)機完成初始化狀態(tài),進(jìn)入等待狀態(tài)后,等待讀/寫(xiě)命令和視頻數據輸入信號。如果無(wú)視頻輸入,狀態(tài)機始終在等待狀態(tài),并周期性的對SDRAM進(jìn)行刷新,直到有視頻和讀/寫(xiě)命令輸入。這部分的狀態(tài)圖如圖3所示。

由于猝發(fā)的最大長(cháng)度為256,在每?jì)尚胁僮髦g都要進(jìn)行激活、讀/寫(xiě)命令、猝發(fā)終止、刷新等操作。由于讀/寫(xiě)數據都使用的是像素時(shí)鐘的頻率,這樣總個(gè)FPGA系統只有一個(gè)時(shí)鐘域,能保證整個(gè)系統完全按照同步系統來(lái)設計,能提高整個(gè)系統的可靠性。這樣會(huì )帶來(lái)一個(gè)問(wèn)題,要想僅僅在視頻的有效時(shí)間,即DEN高電平部分完成一行視頻數據的讀/寫(xiě)工作,這是不能滿(mǎn)足要求的。為了解決這個(gè)問(wèn)題,需要借用行同步、前廊和后廊的時(shí)間,但是DEN無(wú)效后不傳輸視頻數據的,為了解決這個(gè)矛盾在SDRAM控制器和數據流輸入/輸出接口之間要分別設計兩個(gè)FIFO,深度大于一行的視頻數據,采用乒乓操作保證視頻流的流暢。
3 SDRAM控制器應用實(shí)例
在某型號的機載大屏顯示器系統中,視頻圖像處理系統中使用該SDRAM控制器進(jìn)行了調試,實(shí)現FPGA對SDRAM的控制,完成相應的視頻處理算法和實(shí)現了圖像的翻轉功能。此部分系統簡(jiǎn)要框圖如圖4所示。
該系統輸入的為多路DVI信號,輸入視頻分辨率均為1 280×1 024,DVI信號經(jīng)過(guò)DVI解碼后輸入FPGA.
為了完成FPGA內部的視頻處理算法和圖像翻轉的功能,在FPGA外部掛了兩組SDRAM,實(shí)現了乒乓操作,保證了系統的處理速度。處理后的視頻經(jīng)過(guò)LVDS信號轉化,輸出到液晶屏上顯示。

對于左右翻轉在FPGA內部采用雙口RAM進(jìn)行操作能夠輕易實(shí)現。而圖像的上下翻轉,由于涉及到一幀數據的處理,需要經(jīng)過(guò)外部緩存SDRAM實(shí)現。在采用上述SDRAM控制器的基礎上,控制SDRAM的讀方式就能實(shí)現,在將視頻數據寫(xiě)入SDRAM的時(shí)候,寫(xiě)地址從第一行按順序寫(xiě)入。讀的過(guò)程相反,要從最后行開(kāi)始讀。
由于SDRAM的一行容量不能裝下整行的視頻信息,所以讀的行地址要求每次從讀過(guò)的行的地址減去存一行視頻需要的SDRAM的物理行數,在一行視頻數據沒(méi)有讀完前要從當前行不斷的自增。如1 280×1 024的視頻數據,共需要5 120(5×1 024)SDRAM行存一幀數據。要上下翻轉輸出圖像,首先要輸出視頻數據的第1 024行,也就是要從SDRAM的5 115行開(kāi)始按順序讀出,讀完第5 120行后,SDRAM地址轉到5 110行讀視頻流的第1 023行,如此類(lèi)推,直到讀完整幀的視頻數據。該視頻處理系統與顯示效果如圖5所示。

4結論
該設計針對高分辨率視頻圖像處理的SDR SDRAM控制器的設計,采用統一像素時(shí)鐘進(jìn)行系統操作,降低系統的復雜度,提高系統的可靠性;通過(guò)寫(xiě)修改相關(guān)參數,能夠適應所有VESA分辨率的視頻處理,通用性強;具有自刷新功能,在無(wú)外部信號輸入情況下能夠自動(dòng)刷新,保證最后存儲數據不會(huì )丟失;能夠通過(guò)增加外部模塊,控制讀寫(xiě)地址,實(shí)現圖像翻轉功能。此控制器在A(yíng)l-tera的StratixⅡ系列FPGA EP2S60F1020I4平臺上,成功實(shí)現各種視頻處理功能,驗證了此控制器的實(shí)用性。
fpga相關(guān)文章:fpga是什么
評論