張偉
【摘 要】本文介紹了一種由嵌入式處理器S3C2440A、CMOS圖像傳感器OV7221、FIFO幀存儲器AL4V8M440和FPGA構成的高速視頻采集與拼接顯示系統, 給出了系統的工作原理,以及軟、硬件的設計和實現方法。該系統視頻實時拼接速度可達30幀/秒,并通過LCD實時顯示兩路攝像頭拼接后的視頻信息,可以廣泛應用于監控、安防、識別等各個領域。
【關鍵詞】視頻采集;視頻拼接;高幀頻;OV7221;FIFO
Design of High-Speed Video Acquisition and Stitching System
ZHANG Wei
(The 41st Institute of China Electronics Technology Group Corporation, Bengbu Anhui 233006, China)
【Abstract】A high-speed video acquisition and stitching system composed of Embedded Processor S3C2440A、CMOS image sensor OV7221、FIFO frame memory AL4V8M440 and FPGA is presented. The systems working principle, and its circuit and programming method are also described. In this system, the video stitching speed is up to 30 f/s, and can achieve real-time display the stitching video of two cameras in LCD. The system can be applied to monitoring,security and protection,identification,etc.
【Key words】Video Acquisition; Video Stitching; High frame rate; OV7221; FIFO
0 引言
隨著數字視頻技術的快速發展以及人們安防意識不斷的增強,視頻采集與拼接處理技術在通信、廣播、監控、消費類電子和醫療等領域得到廣泛的應用。目前成熟產品多采用基于PC機的圖像采集系統,這樣的采集系統成本高、攜帶性差、占用的資源多,很多場合應用受到了限制。本文設計了一種嵌入式視頻采集與拼接顯示系統,該系統具有可靠性高、速度快、成本低、體積小、功耗低和環境適應性強等優點,具有很強的現實意義和廣泛的應用前景。
1 系統總體設計
本設計是通過采用S3C2440A CPU為主控芯片,包括雙路OV7221圖像傳感器、FIFO、FPGA和LCD,可以實現視頻的采集、拼接和實時顯示等功能。首先以雙路OV7221圖像傳感器采集物體信息,采集數據被送至兩片大容量FIFO,通過FPGA控制FIFO的讀、寫和復位信號時序實現雙路視頻數據的拼接,拼接后的視頻數據送至CPU的攝像頭接口轉換后通過LCD實時顯示視頻信息。系統總體設計如圖1所示。
2 硬件組成
2.1 主控芯片選擇
本系統采用三星公司的S3C2440A CPU為主控芯片, 它是一款基于ARM920T內核的16/32位的RISC嵌入式微處理器,主要面向手持設備以及高性價比、低功耗的應用,運行頻率最高可達400MHz。同時還提供多種集成模塊和總線接口,包括內存及LCD控制器,攝像頭、IIC總線、SPI總線、USB、SD等總線接口,能夠靈活地運用到不同的領域中。本系統主要用到的是該CPU的攝像頭接口和LCD控制器。
2.2 視頻采集模塊
本系統采用OmniVision公司的CMOS圖像傳感器0V7221芯片采集視頻信息。這是一款高靈敏度的黑白圖像傳感器,靶面尺寸是1/4英寸,支持640×480的分辨率,輸出數據寬度是8bit,通過SCCB總線的控制,該芯片能夠以子采樣、窗口等方式輸出各種分辨率8位影像數據,VGA模式最高輸出速度可達30 f/s,用戶能夠自己完全控制圖像質量、數據格式和傳輸方式,圖像處理功能過程包括伽瑪曲線、飽和度、白平衡、色度等都可以通過SCCB總線編程實現。
2.3 視頻拼接模塊
目前對于多路視頻拼接技術主要采取如下方案,分離一路視頻采集模塊的時鐘信號,對其它路視頻采集模塊進行外同步,并使用專用的解碼芯片,以達到多路視頻信號的完全同步,視頻數據的隨意切換、拼接。存在的缺點是控制電路龐大、時序復雜。
本系統采用一種新的視頻拼接技術,采用2片大容量FIFO幀存儲器,接收視頻數據流。每片FIFO分別緩存2幀數據,在FPGA產生的讀寫控制信號控制下,兩路視頻交替輸出,構成一幅完整的拼接視頻,如圖2所示。與現有技術相比具有幀速率高、圖像穩定、無縫拼接的優點。
X/Y向CMOS圖像傳感器在FPGA提供CLK的驅動下,分別產生各自的像素時鐘信號(PCLK)、行同步信號(HREF)、場同步信號(VSYNC)及8bits的視頻數據輸出,FPGA主要完成根據顯示的不同需求(垂直/水平雙顯)對FIFO相關的讀寫控制信號進行相應的控制。
兩組緩存器在FPGA輸出控制信號的作用下,分別存儲一路壓縮的CMOS視頻數據,且一幀視頻數據只占據緩存的一半空間,數據的輸出和存儲作乒乓切換,以使視頻顯示流暢。在數據存儲的同時將兩個壓縮的數據拼接成完整的一幀視頻輸出,同時輸出行、場同步信號,乒乓切換過程如圖3所示。
2.4 視頻顯示和VGA接口模塊
本系統液晶屏尺寸是5.7英寸,型號為友達公司的G057VN01,分辨率為640×480,數據信號格式為RGB565,時鐘信號包括VFRAME、VLINE、VCLK,數據使能信號DE,通過數字電位器調節LCD亮度。
本系統使用Chrontel公司的CH7005 作為VGA接口視頻轉換芯片。CH7005是一款高性能的模擬視頻編碼芯片, 內部集成了存儲器、PLL、DAC、濾波器、PAL/NTSC 編碼器等部件。對CH7005 芯片的控制, 則通過I2C 總線來完成,芯片工作時CPU的LCD 控制器向CH7005發送像素時鐘信號, CH7005 將根據像素時鐘采樣數據線。同時, LCD 控制器送出行、場同步信號, 以實現視頻同步。LCD和VGA接口模塊原理圖如圖4所示。
2.5 電源電路
系統供電電源為12 V,VGA供電為5V,通過LTC1624進行必要的電源轉換產生5V電源,CPU和FIFO、液晶供電電源都為3.3 V,CPU內核和FPGA內核需要1.2V,通過線性穩壓芯片將5V變換產生3.3V和1.2V兩路電源。系統電源電路原理圖如圖5所示。
3 軟件總體設計
采用μC/OS-II操作系統,通過C語言編程實現達對CPU及其他電路模塊的控制,包括LCD顯示初始化、攝像頭和VGA接口配置、FPGA加載等,利用按鍵選擇左右拼接顯示和上下拼接顯示功能。軟件實現功能流程如圖6所示。
4 結語
本文介紹了基于S3C2440A CPU視頻采集與拼接顯示系統設計方案,經過調試可以在LCD上清晰觀察到捕捉的圖像,同時可通過VGA外接電視同步顯示。本文的創新點在于:該系統有效地結合了S3C2440A CPU低成本、高性能的優點,極大地降低了成本,同時可可通過VGA同步顯示視頻信息,非常適合監控、安防、醫療、識別等領域使用,具有廣闊的市場前景。
【參考文獻】
[1]Samsung Electronics.S3C2440A 32-bit CMOS microprocessor users manual[Z].2004.
[2]OmniVision Technologies, Inc. Datasheet of OV7720/OV7221[Z].www.omnivison.com.
[3]金峰.基于FPGA的多路視頻拼接系統設計[D].浙江工業大學碩士論文,2015.
[4]田澤.ARM9嵌入式開發實驗與實踐[M].北京:北京航空航天大學出版社,2006.
[5]宣林,胡晨.一種嵌入式平臺上模擬視頻模塊的設計與實現[J].電子器件,2006,29(2):447-450.
[責任編輯:朱麗娜]