摘要:基于FPGA的全車影像系統選取Xilinx公司的Spartan3A-DSP(XC3SD1800A)FPGA作為核心處理器,該系統將多路CMOS視頻信號采集到FPGA內進行視頻格式轉換、Scaler處理、鳥瞰轉換、多路視頻合成等。本文重點介紹系統的硬件組成、系統功能框架及工作原理。
關鍵詞:FPGA 全車影像
1、前言
隨著FPGA 制作工藝的發展及成本的降低,其在成本高度敏感的汽車電子領域得到越來越廣泛的應用。FPGA具有高速并行處理能力,在進行算法簡單且有大量數據重復運算的處理上,FPGA有其無可比擬的速度優勢,因此在實時性要求較高的視頻圖像實時處理應用中FPGA成為最佳選擇之一。同時FPGA具有高度可編程性,具有極大的靈活性,在固有的硬件平臺基礎上可以通過改進代碼來提升系統性能,避免因重新設計PCB帶來不可確定的風險[2]。因此FPGA在汽車電子視頻系統中的應用將會有極大發展空間。
視頻圖像處理已經是一門比較成熟的二維信號處理技術,現已被廣泛應用于通信、生物醫學、工業檢測和軍事等各個方面。在高端汽車電子應用中涉及到大量圖像視頻處理,例如汽車全車影像系統、夜視系統、車道偏離檢測、雷達障礙物檢測等。下面將以基于FPGA的全車影像系統設計來闡述FPGA在視頻處理領域中的靈活應用。
2、基于FPGA的全車影像系統總體方案
圖1 全車影像系統框圖
該系統中主要由攝像頭采集傳輸模塊、攝像頭數據接收模塊以及視頻處理模塊、視頻顯示模塊等幾部分組成,系統框圖如圖1所示。攝像頭采集傳輸模塊由CMOS攝像頭和LVDS轉換器組成,其中攝像頭部分選用數字格式輸出的OV9710攝像頭,LVDS轉換器為MAXIM公司的MAX9257;攝像頭數據接收模塊以及視頻處理模塊由FPGA,ARM,DDR2 SDRAM,PROM,NOR flash等組成。Xilinx公司的FGPA作為核心處理芯片;ARM為ST公司的STM32F103C,通過ARM的串口通信對四個攝像頭進行基本配置;LVDS解串器采用MAXIM公司的MAX9258作為LVDS串行轉并行輸出的芯片;DDR2 SDRAM采用美光的MT47H32M16用作幀緩存芯片;PROM采用Xilinx專用的芯片作為FPGA的配置ROM;NOR flash存儲汽車鳥瞰圖像信息;顯示模塊為TFT驅動接口。
3、硬件工作原理
系統工作前需要對CMOS攝像頭進行相應的配置,以輸出符合系統設計要求的數據格式。該系統中采用ST公司的STM32作為攝像頭配置MCU,因MA9258轉換的配置接口為串行口,因此使用STM32的串行口進行配置。由于四路攝像頭的配置信息是完全一樣的,STM32的串行口通過PFGA復制為四路串行口輸出,分別連接到四路MAX9258的串行口上,在系統上電時對四路攝像頭同時進行配置。
在配置完成后,每個攝像頭輸出8位像素、行同步信號、場同步信號以及像素時鐘到MAX9257,再由MAX9257轉換為差分信號(LVDS)進行長距離傳輸;差分信號傳輸通過雙絞線傳到MAX9258,由其將差分信號恢復為攝像頭的8位像素數據、行同步信號、場同步信號以及像素時鐘信號;四路并行視頻信號傳輸至FPGA進行視頻處理,處理完的數據以Pipeline方式傳輸到DDR2 SDRAM控制器,由控制器將視頻信號寫入到DDR2 SDRAM中進行幀緩存。DDR2控制器的運行速度可達到125MHZ~133MHZ的工作頻率,DDR2 SDRRAM采用雙沿讀寫控制,因此雙沿讀寫速度可達到250MHZ~266MHZ,因此有足夠的帶寬進行讀寫操作。TFT驅動模塊以640X480@60hz的VGA時序讀取DDR2 SDRAM的視頻數據,通過LVDS送到TFT上進行顯示。
4、結論
基于FPGA的全車影像系統設計來體現了FPGA具有良好的并行處理能力,能夠極大的提升數據處理的吞吐能力。在視頻處理中特別是在預處理階段需要進行大量簡單但有極度消耗時間的處理,很多預處理算法需要進行基于模板的運算,如Bayer轉RGB,廣角攝像頭畸變校正、鳥瞰處理、濾波處理等。在這些場合,FPGA能夠充分利用其并行處理的能力,對模板快速進行運算,為后端的處理釋放更多的帶寬進行高級算法處理。因此在汽車電子中處理高速數據的場合,FPGA將會得到更多的應用。
參考文獻:
[1]朱虹,孫衛真,王竹,何積銓.基于FPGA的醫學影像實時降噪系統的設計[J].微計算機信息,2006,22(12):128-130.
[2]卿敏,沈業兵,安建平.用FPGA實現數字匹配濾波器的優化方法[J].微計算機信息,2004,20(11):118-119.
[3]張夢麟,李念強,李萍.基于AD7677和MEGA64高速數據采集系統的設計[J].計算機應用,2008,27(4):45-47.