資源描述:
《基于FPGA的視頻監(jiān)控系統(tǒng)設計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、基于FPGA的視頻監(jiān)控系統(tǒng)設計與實現(xiàn) 摘要:隨著經(jīng)濟和社會的發(fā)展,無論是在公共還是在個人空間,人們的安全意識越來越高,傳統(tǒng)的鎖已不能滿足其需求,現(xiàn)在市面上的各種監(jiān)控系統(tǒng)種類繁多,大多采用單片機之類的微處理器實現(xiàn),監(jiān)控往往不僅需要報警而且要求對視頻進行采集和存儲,對于監(jiān)控視頻的大數(shù)據(jù)量處理,對于單片機來講處理能力往往不足,采用并行的FPGA技術作為處理器將會提升性能,解決數(shù)據(jù)處理的瓶頸問題,本文設計并實現(xiàn)一種采用FPGA技術實現(xiàn)的視頻監(jiān)控系統(tǒng),經(jīng)過測試驗證本系統(tǒng)具有較高的穩(wěn)定性,表現(xiàn)出了較好的性能?! £P鍵詞:FPGA視頻監(jiān)控;并行處理;VGA顯示 中圖分類號:TN4文獻標識碼:A
2、文章編號:1673-1069(2016)17-156-2 1視頻監(jiān)控系統(tǒng)設計 本視頻監(jiān)控系統(tǒng)主要由圖像采集終端,視頻轉換接口,VGA顯示終端組成,傳感器OV5620采集到現(xiàn)實景物后,將生成的RAW數(shù)據(jù)流由ITU數(shù)據(jù)輸出端口發(fā)送給視頻轉換接口。視頻轉換接口將ITU數(shù)據(jù)輸入端口送來的RAW數(shù)據(jù)流轉換成RGB數(shù)據(jù)流發(fā)送,通過VGA端口發(fā)送給顯示終端顯示。OV5620輸出圖像的最大分辨率為2592×1944?! ?系統(tǒng)硬件設計 硬件電路主要包括CMOS攝像頭傳感器,數(shù)據(jù)采集模塊,SDRAM存儲模塊,VGA視頻輸出接口模塊?! ≡诂F(xiàn)實景物的采集與顯示過程中,視頻轉換接口功能的實現(xiàn)通過以下
3、步驟來完成: ①對采集到的RAW數(shù)據(jù)流進行轉換。視頻轉換接口收到的是像素的RAW值,因此需要將每個像素的色彩值由RAW空間轉換到RGB空間,然后再對RGB進行數(shù)據(jù)平均,輸出RGB數(shù)據(jù),實現(xiàn)色彩空間的轉換。②將轉換后的每個像素的RGB值寫入存儲器中。由于視頻的轉換接口和VGA接口的視頻數(shù)據(jù)流工作的時鐘域是不同的,需要SDRAM來作為緩存,存儲一幀圖像的數(shù)據(jù),以供VGA顯示器顯示。③從存儲器中讀出像素的RGB值,并將其轉換成VGA模擬信號值。由于FPGA內(nèi)部沒有D/A轉換單元,因此不能通過FPGA來直接產(chǎn)生模擬信號,還需要另外添加專門的圖像D/A芯片(ADV7123)來完成模擬信號的產(chǎn)
4、生。系統(tǒng)工作時,F(xiàn)PGA將從SDRAM存儲器中讀出的RGB值送至圖像DA芯片進行數(shù)模轉換變成模擬信號值VGA接口直接輸出,系統(tǒng)就能將圖像在VGA顯示器上直接顯示?! ?系統(tǒng)軟件設計 3.1攝像頭采集圖像模塊程序設計 攝像頭的采集過程和VGA的顯示恰好是個相反的過程,VGA的顯示是由FPGA產(chǎn)生行列時序,供給D/A轉換器,產(chǎn)生驅(qū)動VGA顯示器的模擬信號。而攝像頭的采集圖像是攝像頭自動產(chǎn)生行列信號,用FPGA進行采集就行。在對攝像頭進行采集之前,需要用SCCB協(xié)議給攝像頭進行配置,SCCB協(xié)議兼容I2C協(xié)議,前者寫數(shù)據(jù)和I2C是一樣的,就是讀數(shù)據(jù)的時序不一樣。本設計中因為只對攝像頭進
5、行配置,只用到了SCCB的寫協(xié)議?! ?.2圖像轉換模塊程序設計 攝像頭數(shù)據(jù)采集模塊采集到RAW數(shù)據(jù),需要轉化為RGB格式的數(shù)據(jù),才能夠驅(qū)動攝像頭。10位的RAW數(shù)據(jù)經(jīng)過空間轉換把10位的采集數(shù)據(jù)轉換為10位的RGB數(shù)據(jù),然后數(shù)據(jù)進入第二個模塊,對空間轉換的10位RGB數(shù)據(jù)進行數(shù)據(jù)平均得到R[9..0],G[9..0],B[9..0],然后RGB數(shù)據(jù)經(jīng)過SDRAM進行緩存。采用行緩沖+流水線的處理方式,將前一級抓取到的行數(shù)據(jù)(bayercolorpattern),實時轉換成標準的30位RGB數(shù)據(jù)并進行適當?shù)南虏蓸?,以便于后繼的圖像處理及顯示?! ?.3SDRAM程序設計 SDRA
6、M在此系統(tǒng)里,充當?shù)氖菆D像緩存的作用,攝像頭將數(shù)據(jù)采集進來,將圖像存儲到SDRAM中,然后VGA控制模塊從SDRAM讀出并顯示在VGA顯示器上。核心的代碼如下: Sdram_Control_4Portu8(//HOSTSide .REF_CLK(CLOCK_50), .RESET_N(1'b1), .CLK_100OUT(CLOCK_100), //FIFOWriteSide1 .WR1_DATA({tCMOS_R,tCMOS_G,tCMOS_B}), .WR1(tCMOS_DVAL), .WR1_ADDR(0), .WR1_MAX_ADDR(1280*960),
7、 .WR1_LENGTH(9'h100), .WR1_LOAD(wSYNC), .WR1_CLK(CMOS_PIXCLK), //FIFOReadSide1 .RD1_DATA({Image_Read_R,Image_Read_G,Image_Read_B}), .RD1(VGA_Read_Req), .RD1_ADDR(0), .RD1_MAX_ADDR(1280*960), .RD1_LENGTH(9'h100), .RD1_LOAD