<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA+DSP的智能車(chē)全景視覺(jué)系統

基于FPGA+DSP的智能車(chē)全景視覺(jué)系統

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

基于單相機的是利用凸面鏡反射四周圖像進(jìn)行定位,在計算資源有限時(shí)是一種較好的選擇,且視覺(jué)導航等方向的應用也成為一種最實(shí)用的方法[1-2],這種方案雖然視野開(kāi)闊,但獲取的信息有限,真實(shí)的系統中很難應用。隨著(zhù)芯片計算能力的不斷提高,基于多通道的已逐漸成為可能。本文介紹的智能車(chē)多通道全景視覺(jué)是指以觀(guān)測點(diǎn)為中心,多個(gè)相機可同時(shí)觀(guān)測車(chē)輛的前中、前左、前右、后左、后右和頂上6個(gè)方向的景物。該系統中的6臺數字相機中5臺分布在車(chē)輛的側面,1臺在頂部,可以得到車(chē)輛周?chē)?60°的圖像。該系統每個(gè)相機的分辨率為百萬(wàn)像素,即1 280×1 024,幀率為30 f/s,即便圖像為8 bit單色,系統的總數據率也高達200 MB/s以上。同時(shí),6個(gè)相機圖像需要預處理,投影到同一坐標系,或者拼接成單幅完整圖像才能滿(mǎn)足智能車(chē)導航系統的要求,這些涉及到大量復雜計算。針對這些要求,該系統的硬件處理部分利用了DSP和FPGA芯片各自的特長(cháng),選用高速DSP+FPGA[3-6]的方案,而DSP方案也是海量圖像處理中普遍應用的[7]。高性能通用C6416 DSP芯片,配合FPGA進(jìn)行高度并行數據處理,可實(shí)現高速實(shí)時(shí)的視覺(jué)圖像處理。這種方案的優(yōu)點(diǎn)在于,不僅可以利用DSP的高速處理能力,同時(shí)利用FPGA的控制能力和在高度并行化數據處理方面的優(yōu)勢,相比其他方案更容易滿(mǎn)足所需要的高度實(shí)時(shí)處理。

1 系統總體方案設計

為適合高速圖像采集,本系統選用CMOS傳感器,CMOS的一個(gè)優(yōu)點(diǎn)是數據讀取速度快。系統由高速CMOS相機、基于CamLink技術(shù)的圖像讀取、的圖像處理三部分構成,如圖1所示。從圖1可以看出,該系統有兩片FPGA,圖像讀取模塊中的FPGA1負責從CMOS相機抓圖和通訊控制,FPGA2則輔助兩片DSP進(jìn)行高速圖像處理,實(shí)現同時(shí)對6個(gè)相機圖像的實(shí)時(shí)處理。

邏輯控制芯片FPGA1選用XILINX公司的XC3S1000LFG456作為視頻數據采集控制芯片,該芯片是Spartan3低功耗系列的一種,具有1 M個(gè)邏輯門(mén),24個(gè)18×18乘法器及豐富的片上存儲空間,足夠進(jìn)行視頻采集的同步邏輯控制。并行計算FPGA選用XILINX公司Virtex-4系列中的XC4VFX60-FF1152,內部有4 Mbit RAM,56 880個(gè)邏輯門(mén)和128個(gè)XtremeDSP模塊,足夠進(jìn)行大量高速數據處理,特別是片上18 KRAM模塊工作在500 MHz,支持真正的雙端口讀寫(xiě)同步操作,為該芯片作為芯片間高速數據交互提供了資源。2個(gè)協(xié)處理DSP芯片為T(mén)I公司高性能C6416,擁有8個(gè)并行處理單元,工作頻率為600 Hz,最高處理速度可達4 800 兆指令/秒(MFLOPS)。

本文引用地址:http://dyxdggzs.com/article/201706/349210.htm

系統設計采集圖像大小為1 280×1 024像素,最高速度可達每相機60 f/s的實(shí)時(shí)采集。6路攝像頭輸出的數字視頻信號經(jīng)過(guò)FPGA1進(jìn)行同步分離后,進(jìn)入輸入端高速數據緩沖區。系統采用兩片ZBT SRAM進(jìn)行乒乓數據采集,當一幀圖像采集完,FPGA1通知FPGA2進(jìn)行數據轉移,FPGA2將數據預處理后由DSP經(jīng)EDMA保存到SRAM后等待進(jìn)一步處理。

2 多通道數字圖像采集

由于智能車(chē)的目標是在公路上行駛,該系統需要處理場(chǎng)景中快速運動(dòng)的物體,要求圖像采集模塊必須足夠快地從相機轉移出幀數據,以便對快速運動(dòng)的物體軌跡進(jìn)行記錄,因此,相機模塊的處理速度是決定該系統是否達到要求的重要一環(huán)。由于相機技術(shù)的快速發(fā)展,已經(jīng)能從市面上買(mǎi)到足夠快的傳感器來(lái)捕獲高速運動(dòng)的物體,如車(chē)輛。

2.1 圖像抓取模塊

MT9M413是一種分辨率為130萬(wàn)像素1 280×1 024的CMOS傳感器,最高可實(shí)現500 fps的采集速度。而MT9M413內部集成有10 bit A/D轉換器,可直接輸出3.3 V的數字信號,無(wú)需電平轉換電路,簡(jiǎn)化了系統的設計。MT9M413可以工作在灰度或彩色模式下,但是卻需要不同的偏置參考電壓,兩片數模轉化芯片DAC6573用于生成該偏置電壓。圖2給出了相機模塊的框圖。

高速相機模塊主要包括以下三部分:
(1)傳感器部分:包括高速像素時(shí)鐘下的光電信號轉換傳感器。

(2)信號分離:預先編寫(xiě)好在FPGA1內部的程序,用來(lái)產(chǎn)生傳感器模塊和數據接口所需要的控制信號。

(3)接口板:將數字信號轉換成高速LVDS信號對,并從主處模塊接收控制信號。

該模塊的三個(gè)部分通過(guò)高速Samtec連接器(QTH-090-01-L-D-A)連在一起,以增加系統的靈活性。主處理板與高速相機模塊間采用CamLink協(xié)議連接,以滿(mǎn)足系統很高的帶寬。根據采集圖像的大小、幀率和數據位精度,CamLink電路可配置成基本、中等、全幅3種模式,由FPGA1中的程序控制。FPGA1的另一個(gè)任務(wù)是進(jìn)行視頻信號的同步、通知FPGA2設置參數,如視頻開(kāi)窗、幀率、曝光時(shí)間等。

2.2 FPGA控制模塊

系統的邏輯控制芯片是FG456,其主要工作是控制輸入/輸出幀存,以便通知主處理芯片及時(shí)將存在ZBT SRAM中的圖像數據讀出,片上可編程時(shí)鐘PLL用來(lái)產(chǎn)生驅動(dòng)該FPGA所需的不同時(shí)鐘,FPGA內部的計數器通過(guò)改變加法器不同的進(jìn)位信號控制采集圖像的大小。
FPGA1接收到來(lái)自CMOS傳感器的視頻同步信號后,開(kāi)始將原始像素數據按照CamLink協(xié)議打包通過(guò)高速Semtec連接器送到下一個(gè)模塊中的FPGA2。

2.3 ZBT-RAM中的數據乒乓

系統設計的視頻信號采集能力是,從CMOS采集到1 024×1 024大小的數字圖像,并通過(guò)兩片Zero-bus turnaround(ZBT) SRAM作為數據乒乓的幀緩存,ZBT SRAM沒(méi)有總線(xiàn)延遲,不需像DDR那樣必須通過(guò)FIFO進(jìn)行管理。ZBT SRAM為系統提供了最大的吞吐量,從而提供了最大的系統帶寬[8-9]。為保證系統的高速性能,FPGA1的3個(gè)內部時(shí)鐘管理模塊DCMs用來(lái)產(chǎn)生ZBT-RAM需要的時(shí)鐘,一個(gè)為控制時(shí)鐘,另外兩個(gè)為視頻輸入的banks的信號。系統中的兩片1 M×36 bit ZBT SRAM,每片ZBT SRAM可同時(shí)接收兩路視頻的滿(mǎn)幀數據采集。如果兩路信號都為60 f/s,則每秒采集120 MB數據,而ZBT SRAM的工作頻率為250 MHz,最大數據吞吐為4.5 GB/s,完全滿(mǎn)足數據采集速度系統的要求。

3 芯片間通信

多芯片協(xié)處理系統中最重要的一個(gè)方面就是芯片間數據通信的效率,該效率直接影響系統的運行效率。而數據延遲和傳輸帶寬,是最值得關(guān)注的兩個(gè)方面。本系統采用多種方式進(jìn)行數據傳輸,提高了系統的靈活性。

3.1 FPGA2與DSPs間的數據通信

根據應用特點(diǎn)和系統接口,本系統采用兩種方式連接FPGA和DSP:32 bit EMIF-A and McBSP0。選用32 bit EMIF-A作為DSP與FPGA間進(jìn)行高速數據通信主要原因是傳輸速率高,可充分利用TMS320C6416內EDMA方式傳輸數據的優(yōu)點(diǎn)。如圖3所示。

FPGA內部的EMIF FIFO接口模塊用于轉換DSP的EMIF信號,將數據轉移至接收FIFO。當接收滿(mǎn)一幀數據后,FPGA的計算內核開(kāi)始從該接收FIFO獲取數據并處理,然后將處理完的數據寫(xiě)到發(fā)送FIFO。發(fā)送FIFO數據滿(mǎn)時(shí),啟動(dòng)DMA中斷將數據傳送到DSP片內Cache。由于該EMIF-A是工作在133 MHz的32 bit總線(xiàn),峰值數據率可達532 MB/s。

FPGA2與DSPs間的第二種通信方法是McBSP(Multichannel Buffered Serial Port),兩個(gè)DSP的McBSP0連到FPGA。McBSP是一種全復用串行口,工作頻率為125 Mb/s。進(jìn)行串行通信時(shí),具有獨立的幀同步FSX,FSR和位同步時(shí)鐘CLKX、CLKR,提供系統時(shí)鐘信號為CLKS。在從模式下,可由外部時(shí)鐘驅動(dòng),主模式下可由McBSP采樣時(shí)鐘驅動(dòng)。接收和發(fā)送也很簡(jiǎn)單,各需要一個(gè)數據線(xiàn):DR,DX。McBSP通信協(xié)議簡(jiǎn)單,可節省FPGA的資源。

3.2 兩片DSP間的數據通信

兩片DSP之間的通信也有兩種通信方式。第一種通信是通過(guò)McBSP接口。為了獲得最大的數據傳送率,將兩片DSP的McBSP1和McBSP2連接起來(lái),這樣每個(gè)DSP可以做為時(shí)鐘主控和幀主控。換句話(huà)說(shuō),同一片DSP的一個(gè)McBSP接口作為主控在通信時(shí)產(chǎn)生數據發(fā)送時(shí)鐘和幀同步時(shí)鐘,同時(shí)另外一個(gè)接口作為從控等待控制信號以接收數據。圖中,當DSP-A的McBSP1為主控發(fā)送數據時(shí),McBSP2為從控;同時(shí)DSP-B的McBSP2為主控,DSP-A的McBSP1等待從DSP-B的同步信號以接收數據。

除了McBSP之外,兩片DSP間還通過(guò)EMIF-A進(jìn)行高速連接映射,FPGA內部的32 bit雙向接口通過(guò)FIFO實(shí)現,如圖4所示。這種基于FIFO的雙向數據傳送口支持DSP間復雜的數據交換和控制消息傳遞。DSP的EMIF-A工作頻率為133 MHz,數據傳輸時(shí),FPGA的可編程FIFO閾值中斷支持DSP間通過(guò)EDMA方式。


3.3 與上位機PC的數據通信

為了實(shí)現從PC進(jìn)行遠程控制,特別是用無(wú)線(xiàn)網(wǎng)絡(luò )連接控制通信,系統特別設計了以太網(wǎng)接口、USB2.0接口和PCI接口。網(wǎng)絡(luò )連接是通過(guò)FPGA2的標準GMII接口,以太網(wǎng)PHY連接到外部RJ45。GPIO接口配置成USB2.0數據接口,而4個(gè)PCI則是將PCI芯片連接到FPGA2內的MGT模塊來(lái)實(shí)現的。

4 高速并行數字圖像處理結果

在智能車(chē)視覺(jué)系統中,除了要預先將多通道畫(huà)面進(jìn)行拼接等預處理外,更重要的是完成自動(dòng)導航和目標跟蹤,這些都牽涉到海量數據流的實(shí)時(shí)傳輸和運算。本次實(shí)驗為基于特征點(diǎn)的運動(dòng)物體追蹤,包括以下步驟:(1)背景學(xué)習;(2)全畫(huà)面運動(dòng)估計、圖像差分;(3)差分部分的特征提??;(4)特征點(diǎn)的幀間運動(dòng)估計;(5)基于K-means法的特征點(diǎn)分類(lèi)。

基于全景畫(huà)面的特征點(diǎn)跟蹤需要對多通道視頻同時(shí)進(jìn)行運算,運算過(guò)程復雜,包括跟蹤前與跟蹤后的處理任務(wù),如何將這些任務(wù)分配到不同的芯片上并使板載資源做到任務(wù)間最大共享,需要根據任務(wù)強度估計后放到不同的芯片上。同時(shí),由于μC/OS是一種可移植性強、代碼微小的實(shí)時(shí)、多任務(wù)操作系統,適合在本系統的DSP上運行[10]。移植μC/OS操作系統到一個(gè)DSP上,將該DSP作為主控DSP進(jìn)行任務(wù)分配,本次實(shí)驗的各個(gè)任務(wù)分配如圖5所示。由于兩個(gè)DSP協(xié)助FPGA2進(jìn)行運算具有強大的計算能力,可進(jìn)行多目標跟蹤,FPGA2承擔了大量的并行數據運算,如運動(dòng)探測包括的差分、運動(dòng)估計、圖像拼接,而DSP則承擔特征點(diǎn)提取和追蹤這些不能并行運算的部分。實(shí)驗結果表明,6路視頻采集后的全景圖像上可作實(shí)時(shí)多目標追蹤。

本系統通過(guò)選用相配合的方式,同時(shí)利用了兩種芯片的性能優(yōu)勢,既保證系統的執行速度,也能保證可靠的邏輯控制。該系統實(shí)現了6路1 M大小視頻圖像信號的同時(shí)采集和處理,由FPGA1對系統的運行邏輯進(jìn)行控制,通過(guò)優(yōu)化在DSP上運行的圖像處理程序,可實(shí)現智能車(chē)導航應用中全景圖像范圍內的目標追蹤。該系統還可作為一個(gè)獨立的圖像處理系統,后續通過(guò)添加其他如立體視覺(jué)和光學(xué)跟蹤等的算法,形成其他多方面的圖像應用研究平臺。同時(shí)該方案也為其他基于多DSP和FPGA混合圖像處理平臺設計提供了參考。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>