田 杰,王廣龍,喬中濤,高鳳岐
(軍械工程學(xué)院納米技術(shù)與微系統(tǒng)實驗室,石家莊050003)
基于FPGA高速視頻圖像實時采集與處理系統(tǒng)設(shè)計
田杰,王廣龍*,喬中濤,高鳳岐
(軍械工程學(xué)院納米技術(shù)與微系統(tǒng)實驗室,石家莊050003)
針對高速視頻圖像實時采集與處理系統(tǒng)處理數(shù)據(jù)量大與系統(tǒng)實時性之間的矛盾,設(shè)計了一種基于高性能FPGA的高帶寬處理系統(tǒng)。采用Cyclone IV GX系列芯片為核心處理器,4片DDR2構(gòu)造64 bit總線。完成了高速系統(tǒng)硬件電路設(shè)計,系統(tǒng)主要由視頻圖像傳感器、FPGA、DDR2、VGA控制器件等組成。實現(xiàn)了高速視頻圖像數(shù)據(jù)的實時采集、緩存、處理、顯示等一系列過程。實驗表明,利用此系統(tǒng)進行高速視頻圖像的實時采集、處理與顯示時動態(tài)畫面流暢、實時性好。
FPGA;實時性;視頻圖像處理;時序分析
隨著經(jīng)濟的快速發(fā)展,各個領(lǐng)域?qū)Ω咚僖曨l圖像采集與處理的速度與精度提出了更高的要求,譬如:機器人導(dǎo)航領(lǐng)域、現(xiàn)場監(jiān)控領(lǐng)域、安防領(lǐng)域等。在此背景下,高速視頻圖像實時采集與處理技術(shù)得到了長足的發(fā)展[1]。
20世紀70年代,人們開始利用高速攝像機來記錄運動的物體,但當時高速攝像機是以膠片的形式作為記錄介質(zhì),無法實現(xiàn)數(shù)據(jù)的實時處理[2]?,F(xiàn)如今,在國外,高速工業(yè)相機的采樣頻率高達1 000 frame/s[3],而國內(nèi)高速視頻圖像采集處理系統(tǒng)正處于發(fā)展中階段,一般來說采樣頻率不超過100 frame/s。目前,對高速視頻圖像進行采集處理可以分成兩類。第1類,基于軟件的處理技術(shù),這類處理方式是在PC機的平臺上利用應(yīng)用軟件對高速視頻圖像進行處理,此類處理方式對系統(tǒng)的實時性要求低,處理結(jié)果更加理想;第2類,基于硬件的處理,利用FPGA、DSP對高速視頻圖像進行處理,實時性好,更多地應(yīng)用于工業(yè)控制領(lǐng)域,但其圖像處理結(jié)果不如前者理想[4]。由于高速視頻圖像實時采集與處理系統(tǒng)具有數(shù)據(jù)量大,數(shù)據(jù)相關(guān)性高,而且對圖像的幀、場時間具有嚴格的限制,因此,高速視頻圖像實時采集與處理領(lǐng)域?qū)χ醒胩幚硇酒⑼獠看鎯π酒墓ぷ魉俾室约昂诵乃惴ǖ倪\算復(fù)雜度等都提出了極大的挑戰(zhàn)。
本課題設(shè)計的系統(tǒng)應(yīng)用于工控領(lǐng)域,國內(nèi)一些公司開發(fā)的高速視頻圖像采集卡多是基于DSP芯片進行處理,但DSP的串行處理方式限制了處理速度[5],由于FPGA具有并行處理能力與流水線技術(shù),因此,本文選用高性能FPGA進行實時采集與處理[6]。
收稿日期:2015-06-12修改日期:2015-09-12
高速視頻圖像采用300 frame/s的速率進行采樣,分辨率為640像素×480像素的標清像素,采用四路高速攝像頭同步進行數(shù)據(jù)采集,則每秒采集的數(shù)據(jù)量達369 Mbyte,傳輸速率約為3 Gbit/s。因此,對主要芯片型號的選擇提出以下兩點要求:FPGA芯片應(yīng)具有豐富的通用I/O接口以及邏輯單元;高速數(shù)據(jù)緩存模塊應(yīng)構(gòu)造多位數(shù)據(jù)傳輸總線以實現(xiàn)數(shù)據(jù)的高速緩存。
鑒于此,選擇Altera公司Cyclone IV GX系列芯片作為核心處理器,其可用I/O數(shù)達310,邏輯單元數(shù)為49 888;選擇4片DDR2構(gòu)造64 bit總線,每片DDR2的容量為1 Gbit。當FPGA與DDR2之間的時鐘頻率為200 MHz時,傳輸速率達12.8 Gbit/s,充分滿足系統(tǒng)設(shè)計需求。
系統(tǒng)采用核心板+擴展板的方式構(gòu)成。核心板主要包括FPGA+4片DDR2,承擔(dān)起高速視頻圖像采集處理的核心算法。系統(tǒng)功能模塊如圖1所示,圖中細線代表控制總線,粗線代表數(shù)據(jù)總線。
圖1 系統(tǒng)框圖
高速視頻圖像實時采集與處理系統(tǒng)工作原理為:首先采用4路高速CMOS攝像頭作為輸入,將得到的視頻信號經(jīng)視頻解碼芯片轉(zhuǎn)換后再傳輸給FPGA,其中,F(xiàn)PGA通過IIC控制視頻解碼芯片;然后FPGA控制DDR2實現(xiàn)圖像數(shù)據(jù)的高速緩存,當DDR2完成一幀圖像的存儲以后,F(xiàn)PGA讀取DDR2中的數(shù)據(jù)并對其進行圖像處理;并將得到的結(jié)果輸出給VGA顯示模塊,并最終通過VGA接口進行顯示。
2.1高速視頻輸入模塊
本設(shè)計利用4路高速CMOS攝像頭采集到的視頻圖像信號作為輸入,采用Techwell公司的TW2867作為視頻解碼芯片,其可輸入4路復(fù)合視頻信號,PAL/NTSC/SECAM自動識別,輸出BT656,可多路復(fù)用總線,F(xiàn)PGA端解復(fù)用,實現(xiàn)多通道視頻圖像數(shù)據(jù)的同步輸入。FPGA通過IIC總線與視頻解碼芯片進行通信,F(xiàn)PGA與視頻解碼芯片之間的連接關(guān)系如圖2所示。
圖2 FPGA與TW2867連接關(guān)系示意圖
2.2高速緩存模塊
高速緩存DDR2在整個高速視頻圖像實時采集與處理系統(tǒng)硬件電路設(shè)計過程中占有重要位置。其總線寬度、存儲容量等參數(shù)對系統(tǒng)實時性產(chǎn)生極大的影響。本文采用4片DDR2構(gòu)造64 bit總線,總?cè)萘繛? Gbit,F(xiàn)PGA與DDR2之間的時鐘工作頻率達200 MHz,DDR2內(nèi)部時鐘頻率達400 MHz。圖3所示為高速緩存模塊(4片DDR2)與FPGA之間數(shù)據(jù)、地址、控制線之間連接關(guān)系示意圖。
圖3 FPGA與DDR2連接圖
在DDR2原理圖設(shè)計過程中,DDR2的時鐘信號線必須連接到FPGA中的differential I/O上;命令線、地址線連接到FPGA的通用I/O上即可;數(shù)據(jù)線DQ、數(shù)據(jù)選通信號線DQS必須連接到FPGA的DQ/DQS引腳上。
在PCB布線過程中,為保證系統(tǒng)運行過程中時序的正確性,要保證高速緩存模塊數(shù)據(jù)線等長布線。
2.3電源模塊
系統(tǒng)電源模塊作為整個系統(tǒng)正常工作的動力,其在電子系統(tǒng)設(shè)計過程中至關(guān)重要。在進行電源模塊設(shè)計之前,先對系統(tǒng)進行功耗分析,各主要芯片所需電壓、電流大小如表1所示。
表1 系統(tǒng)功耗分析
由表1中各芯片所需電壓、電流大小進行電源樹設(shè)計,系統(tǒng)選用專用電源芯片MP1495DJ,其支持4.5 V~16 V電壓輸入,為簡化設(shè)計,本系統(tǒng)全部采用12 V電壓輸入,輸出電壓由MP1495DJ中8腳的相關(guān)電阻R1、R2、RT決定,其中,R1、R2、RT所處位置以及大小可依據(jù)MP1495DJ數(shù)據(jù)手冊中給出的參考值進行選擇,這里不做贅述。系統(tǒng)電源樹設(shè)計如圖4所示。
圖4 電源樹設(shè)計
2.4電源完整性及信號完整性設(shè)計
電源完整性設(shè)計目的是在保證流經(jīng)系統(tǒng)的電流足夠大的前提下盡可能降低電源的紋波。需要解決的核心問題是得到足夠低的電源目標阻抗。解決方案是合理地選擇和放置去耦電容,條件允許情況下可以選擇添加單獨的電源層、地層。利用PDN工具計算VCCINT的電源目標阻抗,結(jié)果如表2所示。
通過添加不同數(shù)量、不同大小的去耦電容,以保證VCCINT電源實際阻抗Zeff在Feffctive范圍內(nèi)始終小于電源目標阻抗Ztarget,圖5所示為Zeff與頻率之間的關(guān)系(通過添加去耦電容得到)。表3列出來此時需要添加的去耦電容的大小以及數(shù)量。
表2 目標阻抗計算
圖5 電源阻抗與頻率關(guān)系圖
表3 去耦電容大小及數(shù)量
多數(shù)信號完整性[7]問題是由于反射問題引起的[8],通過引入合適的終端組件進行阻抗匹配可以將反射影響控制在可接受范圍內(nèi)[9,10],如圖6所示。
圖6 不同終端阻值時反射分析圖
布線結(jié)束后,對PCB板進行信號完整性分析,圖6所示為某一網(wǎng)絡(luò)(信號完整性分析結(jié)果當中狀態(tài)顯示為failed)反射分析圖,通過在其端口增加大小不同的電阻,阻值變換范圍由0 Ω~150 Ω,圖中上、下部分分別是此網(wǎng)絡(luò)的連接端口。從中發(fā)現(xiàn),當引入終端阻抗大小為80 Ω時,系統(tǒng)信號完整性檢測效果最好。
3.1高速視頻圖像采集模塊
四路圖像傳感器將得到的模擬視頻數(shù)據(jù)信號通過視頻解碼芯片傳輸給FPGA,其中,F(xiàn)PGA通過IIC總線配置視頻解碼芯片的寄存器。利用FPGA的兩個引腳模擬IIC總線時序。圖7所示為視頻解碼芯片內(nèi)部寄存器配置流程圖。
圖7 配置視頻解碼芯片流程圖
3.2高速視頻圖像實時處理模塊
本文以基于Sobel的邊緣檢測算法為例,采用兩個3×3卷積核形成邊緣檢測算子,分別將之與圖像做平面卷積得到橫向與縱向檢測的梯度,最后將圖像兩個方向的梯度絕對值相加并進行閾值判斷,判斷像素是否為邊緣點。算法實現(xiàn)框圖如圖8所示。
圖8 Sobel算法實現(xiàn)框圖
由于FPGA具有并行處理能力與流水線技術(shù),便于實現(xiàn)高速視頻圖像的的實時處理。以計算水平梯度Gx為例,通過構(gòu)建Line Buffer的方式計算圖像中像素點P5的Gx。梯度Gx實現(xiàn)結(jié)構(gòu)圖如圖9所示。
圖9 梯度Gx實現(xiàn)結(jié)構(gòu)圖
圖中,P1,P2,…,P9為依次由圖像傳入的像素點,X1,X2,…,X9為Sobel算子的參數(shù)。Line Buffer通過使用 Megafunction中的 altshift_tab實現(xiàn),其中,tap的個數(shù)以及每個tap輸出的緩存長度都設(shè)置為3。加法器及乘法器亦可以通過Megafunction構(gòu)造。
3.3系統(tǒng)顯示模塊
高速視頻圖像實時采集與處理系統(tǒng)利用FPGA進行處理,并將處理結(jié)果通過VGA接口顯示。利用FPGA的兩個引腳模擬HSYNC與VSYNC控制信號。本文采用的顯示模式為640像素×480像素× 60 Hz,其時鐘與行掃描信號、場掃描信號之間的關(guān)系如圖10所示。
圖10 VGA接口時序圖
其中,場計數(shù)器驅(qū)動時鐘應(yīng)為行計數(shù)器的溢出信號,當行計數(shù)器為800時,場計數(shù)器加1,場計數(shù)器的周期為525。當行計數(shù)器與場計數(shù)器同時計數(shù)到有效顯示區(qū)域時,圖像正確顯示。
利用Verilog語言可以方便構(gòu)造出VGA正常工作所需要的時序信號,保證系統(tǒng)正常顯示。
基于FPGA的高速視頻圖像實時采集與處理系統(tǒng)硬件設(shè)計完成后,首先實現(xiàn)四路攝像頭的實時顯示,顯示結(jié)果見圖11所示。實驗過程中,目標實時顯示,無時滯發(fā)生。
圖11 四路攝像頭實時顯示結(jié)果
然后對其中一路攝像頭采集到的圖像信息進行邊緣提取并通過VGA接口顯示。圖12為通過VGA接口傳出的邊緣提取后圖像。通過系統(tǒng)的顯示設(shè)備可以檢測到系統(tǒng)每幀圖像的處理時間為16.7 ms,實時性好,動態(tài)畫面流暢,且同時邊緣提取圖像能夠清晰顯示,符合系統(tǒng)設(shè)計需求。
圖12 邊緣提取圖
高速視頻圖像實時采集與處理系統(tǒng)被廣泛應(yīng)用于安防、智能車、監(jiān)控等各領(lǐng)域。本文利用高性能FPGA、四片DDR2等器件進行硬件電路設(shè)計,充分滿足高速視頻圖像實時采集與處理過程中對系統(tǒng)實時性的需求,并在此基礎(chǔ)上實現(xiàn)了目標的邊緣檢測。實驗表明,系統(tǒng)動態(tài)畫面流暢,實時性好。
[1] Yahia Said,Taoufik Saidani,F(xiàn)ethi Smach,et al.Embedded Real-Time Video Processing System on FPGA[J].Lecture Notes in Computer Science,2012,7340:93-102.
[2] 張祥.高幀率視頻圖像獲取與實時處理系統(tǒng)硬件設(shè)計[D].西南交通大學(xué),2014.
[3] Brekke B,Nilsen L C L,Lund J,et al.Ultra-High Frame Rate Tissue Doppler Imaging[J].Ultrasound in Medicine&Biology,2014,40(1):222-231.
[4] 葉敏,周文暉,顧偉康.基于FPGA的實時圖像濾波及邊緣檢測方法[J].傳感技術(shù)學(xué)報,2007,20(3):623-627.
[5] 馮輝宗,陳葉,徐洋.基于FPGA的實時圖像采集與Sobel邊緣檢測[J].傳感器與微系統(tǒng),2011(6):116-118.
[6] 馮偉昌,林玉池,何冬.基于FPGA的雙通道實時圖像處理系統(tǒng)[J].傳感技術(shù)學(xué)報,2010,23(8):1118-1122.
[7] 白同云.高速PCB電源完整性研究[J].中國電子科學(xué)研究院學(xué)報,2006,1(1):22-30.
[8] T W,H C,T W.Overview of Power Integrity Solutions on Package and PCB:Decoupling and EBG Isolation[J].IEEE Transactions on Electromagnetic Compatibility,2010,52(2):134-140.
[9] 閆靜純,李濤,蘇浩航.高速高密度PCB電源完整性分析[J].電子器件,2012,35(3):296-299
[10]任勇峰,張凱華,程海亮.基于FPGA的高速數(shù)據(jù)采集存儲系統(tǒng)設(shè)計[J].電子器件,2015,38(1):135-139.
田杰(1990-),女,漢族,黑龍江哈爾濱人,在讀碩士研究生,主要研究領(lǐng)域為視頻圖像處理與微系統(tǒng),ysdmhj@ 163.com;
王廣龍(1964-),男,教授,博士生導(dǎo)師,主要從事微傳感器與微納米系統(tǒng)研究。
Design of a High-Speed Real-Time Video Acquisition and Processing System Based on FPGA
TIAN Jie,WANG Guanglong*,QIAO Zhongtao,GAO Fengqi
(Laboratory of Nanotechnology and Microsystems,Ordnance Engineering College,Shijiazhuang 050003,China)
A high-bandwidth system based on high-performance FPGA is designed to deal with the contradiction between the high-volume data with real-time performance in video processing system.The system consists of the chips of Cyclone IV GX and four pieces of DDR2 which make up 64-bit bus.The circuit has been completed and the system is made up of image sensors,F(xiàn)PGA,DDR2,VGA controller and so on.The system realizes the real-time data acquisition,data-caching,processing and display.The experiment shows that high-speed real-time video acquisition and processing system can be achieved and the system has the characteristics of excellent real-time performance.
FPGA;real-time performance;video processing;time series analysis
TP391
A
1005-9490(2016)03-0623-05
EEACC:7220;0230H10.3969/j.issn.1005-9490.2016.03.024