《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA+DSP的智能車全景視覺系統
基于FPGA+DSP的智能車全景視覺系統
來源:電子技術應用2011年第3期
周渝斌
上海工程技術大學 機械工程學院,上海201620
摘要: 為實現智能車全景視覺系統的應用研究平臺,設計了一種基于FPGA+雙DSP的實時6通道數字圖像采集與處理系統。該系統由兩片FPGA與兩個DSP組成。第一個FPGA進行多通道視覺圖像采集的同步控制、邏輯處理,第二片FPGA輔助DSP進行海量圖像數據的高速并行處理。兩個ZBT SRAM芯片作為數據輸入和輸出的高速緩存, 每通道的A/D輸出與ZBT SRAM接口間進行數位拼接。系統工作時,DSP通過EMIF與FPGA進行高速數據通信,而兩個DSP之間通過McBSP進行數據通信。系統工作時使用?滋C/OS操作系統進行多任務負載均衡管理,最終實現對兩路視頻信號同時實時采集和處理。
中圖分類號: TN911.73
文獻標識碼: A
文章編號: 0258-7998(2011)03-0038-04
Omni-vision system of intelligent car based on FPGA&DSP
Zhou Yubin
School of Mechanical Engineering,Shanghai University of Science and Technology, Shanghai 201620,China
Abstract: In order to realize omni-vision system of intelligent car for auto wandering in real-time processing, an image processing system with 6 vision channels based on FPGA&DSP is designed. In the system, two ZBT SRAM chips are used as the input and output cache for high data transferring. An FPGA chip is responsible for the core logic controlling and video synchronous. Digital videos are sent to processing module by camlink bus. Data are exchanged by EMIF and McBSP between FPGA and DSPs. EDMA is used for data transferring between SRAM in FPGA and ZBT SRAM. The QDMA is used for 2D data transferring to 1D for face data processing into DSP cache. Tasks are assigned to chips by μC/OS on master DSP. All this together, real-time data sampling and processing for multi-channel vision is realized.
Key words : omni-vision;multi-channel vision;FPGA;DSP;intelligent car


    基于單相機的全景視覺系統是利用凸面鏡反射四周圖像進行定位,在計算資源有限時是一種較好的選擇,且視覺導航等方向的應用也成為一種最實用的方法[1-2],這種方案雖然視野開闊,但獲取的信息有限,真實的系統中很難應用。隨著芯片計算能力的不斷提高,基于多通道的全景視覺系統已逐漸成為可能。本文介紹的智能車多通道全景視覺是指以觀測點為中心,多個相機可同時觀測車輛的前中、前左、前右、后左、后右和頂上6個方向的景物。該系統中的6臺數字相機中5臺分布在車輛的側面,1臺在頂部,可以得到車輛周圍全景360°的圖像。該系統每個相機的分辨率為百萬像素,即1 280×1 024,幀率為30 f/s,即便圖像為8 bit單色,系統的總數據率也高達200 MB/s以上。同時,6個相機圖像需要預處理,投影到同一坐標系,或者拼接成單幅完整圖像才能滿足智能車導航系統的要求,這些涉及到大量復雜計算。針對這些要求,該系統的硬件處理部分利用了DSP和FPGA芯片各自的特長,選用高速DSP+FPGA[3-6]的方案,而DSP方案也是海量圖像處理中普遍應用的[7]。高性能通用C6416 DSP芯片,配合FPGA進行高度并行數據處理,可實現高速實時的視覺圖像處理。這種方案的優點在于,不僅可以利用DSP的高速處理能力,同時利用FPGA的控制能力和在高度并行化數據處理方面的優勢,相比其他方案更容易滿足全景視覺系統所需要的高度實時處理。
1 系統總體方案設計
    為適合高速圖像采集,本系統選用CMOS傳感器,CMOS的一個優點是數據讀取速度快。系統由高速CMOS相機、基于CamLink技術的圖像讀取、FPGA+DSP的圖像處理三部分構成,如圖1所示。從圖1可以看出,該系統有兩片FPGA,圖像讀取模塊中的FPGA1負責從CMOS相機抓圖和通訊控制,FPGA2則輔助兩片DSP進行高速圖像處理,實現同時對6個相機圖像的實時處理。

    邏輯控制芯片FPGA1選用XILINX公司的XC3S1000LFG456作為視頻數據采集控制芯片,該芯片是Spartan3低功耗系列的一種,具有1 M個邏輯門,24個18×18乘法器及豐富的片上存儲空間,足夠進行視頻采集的同步邏輯控制。并行計算FPGA選用XILINX公司Virtex-4系列中的XC4VFX60-FF1152,內部有4 Mbit RAM,56 880個邏輯門和128個XtremeDSP模塊,足夠進行大量高速數據處理,特別是片上18 KRAM模塊工作在500 MHz,支持真正的雙端口讀寫同步操作,為該芯片作為芯片間高速數據交互提供了資源。2個協處理DSP芯片為TI公司高性能C6416,擁有8個并行處理單元,工作頻率為600 Hz,最高處理速度可達4 800 兆指令/秒(MFLOPS)。
    系統設計采集圖像大小為1 280×1 024像素,最高速度可達每相機60 f/s的實時采集。6路攝像頭輸出的數字視頻信號經過FPGA1進行同步分離后,進入輸入端高速數據緩沖區。系統采用兩片ZBT SRAM進行乒乓數據采集,當一幀圖像采集完,FPGA1通知FPGA2進行數據轉移,FPGA2將數據預處理后由DSP經EDMA保存到SRAM后等待進一步處理。
2 多通道數字圖像采集
    由于智能車的目標是在公路上行駛,該系統需要處理場景中快速運動的物體,要求圖像采集模塊必須足夠快地從相機轉移出幀數據,以便對快速運動的物體軌跡進行記錄,因此,相機模塊的處理速度是決定該系統是否達到要求的重要一環。由于相機技術的快速發展,已經能從市面上買到足夠快的傳感器來捕獲高速運動的物體,如車輛。
2.1 圖像抓取模塊
    MT9M413是一種分辨率為130萬像素1 280×1 024的CMOS傳感器,最高可實現500 fps的采集速度。而MT9M413內部集成有10 bit A/D轉換器,可直接輸出3.3 V的數字信號,無需電平轉換電路,簡化了系統的設計。MT9M413可以工作在灰度或彩色模式下,但是卻需要不同的偏置參考電壓,兩片數模轉化芯片DAC6573用于生成該偏置電壓。圖2給出了相機模塊的框圖。

    高速相機模塊主要包括以下三部分:
    (1)傳感器部分:包括高速像素時鐘下的光電信號轉換傳感器。
    (2)信號分離:預先編寫好在FPGA1內部的程序,用來產生傳感器模塊和數據接口所需要的控制信號。
    (3)接口板:將數字信號轉換成高速LVDS信號對,并從主處模塊接收控制信號。
    該模塊的三個部分通過高速Samtec連接器(QTH-090-01-L-D-A)連在一起,以增加系統的靈活性。主處理板與高速相機模塊間采用CamLink協議連接,以滿足系統很高的帶寬。根據采集圖像的大小、幀率和數據位精度,CamLink電路可配置成基本、中等、全幅3種模式,由FPGA1中的程序控制。FPGA1的另一個任務是進行視頻信號的同步、通知FPGA2設置參數,如視頻開窗、幀率、曝光時間等。
2.2 FPGA控制模塊
    系統的邏輯控制芯片是FG456,其主要工作是控制輸入/輸出幀存,以便通知主處理芯片及時將存在ZBT SRAM中的圖像數據讀出,片上可編程時鐘PLL用來產生驅動該FPGA所需的不同時鐘,FPGA內部的計數器通過改變加法器不同的進位信號控制采集圖像的大小。
    FPGA1接收到來自CMOS傳感器的視頻同步信號后,開始將原始像素數據按照CamLink協議打包通過高速Semtec連接器送到下一個模塊中的FPGA2。
2.3 ZBT-RAM中的數據乒乓
      系統設計的視頻信號采集能力是,從CMOS采集到
1 024×1 024大小的數字圖像,并通過兩片Zero-bus turnaround(ZBT) SRAM作為數據乒乓的幀緩存,ZBT SRAM沒有總線延遲,不需像DDR那樣必須通過FIFO進行管理。ZBT SRAM為系統提供了最大的吞吐量,從而提供了最大的系統帶寬[8-9]。為保證系統的高速性能,FPGA1的3個內部時鐘管理模塊DCMs用來產生ZBT-RAM需要的時鐘,一個為控制時鐘,另外兩個為視頻輸入的banks的信號。系統中的兩片1 M×36 bit ZBT SRAM,每片ZBT SRAM可同時接收兩路視頻的滿幀數據采集。如果兩路信號都為60 f/s,則每秒采集120 MB數據,而ZBT SRAM的工作頻率為250 MHz,最大數據吞吐為4.5 GB/s,完全滿足數據采集速度系統的要求。
3 芯片間通信
    多芯片協處理系統中最重要的一個方面就是芯片間數據通信的效率,該效率直接影響系統的運行效率。而數據延遲和傳輸帶寬,是最值得關注的兩個方面。本系統采用多種方式進行數據傳輸,提高了系統的靈活性。
3.1 FPGA2與DSPs間的數據通信
    根據應用特點和系統接口,本系統采用兩種方式連接FPGA和DSP:32 bit EMIF-A and McBSP0。選用32 bit EMIF-A作為DSP與FPGA間進行高速數據通信主要原因是傳輸速率高,可充分利用TMS320C6416內EDMA方式傳輸數據的優點。如圖3所示。

    FPGA內部的EMIF& FIFO接口模塊用于轉換DSP的EMIF信號,將數據轉移至接收FIFO。當接收滿一幀數據后,FPGA的計算內核開始從該接收FIFO獲取數據并處理,然后將處理完的數據寫到發送FIFO。發送FIFO數據滿時,啟動DMA中斷將數據傳送到DSP片內Cache。由于該EMIF-A是工作在133 MHz的32 bit總線,峰值數據率可達532 MB/s。
    FPGA2與DSPs間的第二種通信方法是McBSP(Multichannel Buffered Serial Port),兩個DSP的McBSP0連到FPGA。McBSP是一種全復用串行口,工作頻率為125 Mb/s。進行串行通信時,具有獨立的幀同步FSX,FSR和位同步時鐘CLKX、CLKR,提供系統時鐘信號為CLKS。在從模式下,可由外部時鐘驅動,主模式下可由McBSP采樣時鐘驅動。接收和發送也很簡單,各需要一個數據線:DR,DX。McBSP通信協議簡單,可節省FPGA的資源。
3.2 兩片DSP間的數據通信
    兩片DSP之間的通信也有兩種通信方式。第一種通信是通過McBSP接口。為了獲得最大的數據傳送率,將兩片DSP的McBSP1和McBSP2連接起來,這樣每個DSP可以做為時鐘主控和幀主控。換句話說,同一片DSP的一個McBSP接口作為主控在通信時產生數據發送時鐘和幀同步時鐘,同時另外一個接口作為從控等待控制信號以接收數據。圖中,當DSP-A的McBSP1為主控發送數據時,McBSP2為從控;同時DSP-B的McBSP2為主控,DSP-A的McBSP1等待從DSP-B的同步信號以接收數據。
    除了McBSP之外,兩片DSP間還通過EMIF-A進行高速連接映射,FPGA內部的32 bit雙向接口通過FIFO實現,如圖4所示。這種基于FIFO的雙向數據傳送口支持DSP間復雜的數據交換和控制消息傳遞。DSP的EMIF-A工作頻率為133 MHz,數據傳輸時,FPGA的可編程FIFO閾值中斷支持DSP間通過EDMA方式。

3.3 與上位機PC的數據通信
    為了實現從PC進行遠程控制,特別是用無線網絡連接控制通信,系統特別設計了以太網接口、USB2.0接口和PCI接口。網絡連接是通過FPGA2的標準GMII接口,以太網PHY連接到外部RJ45。GPIO接口配置成USB2.0數據接口,而4個PCI則是將PCI芯片連接到FPGA2內的MGT模塊來實現的。
4 高速并行數字圖像處理結果
    在智能車視覺系統中,除了要預先將多通道畫面進行拼接等預處理外,更重要的是完成自動導航和目標跟蹤,這些都牽涉到海量數據流的實時傳輸和運算。本次實驗為基于特征點的運動物體追蹤,包括以下步驟:(1)背景學習;(2)全畫面運動估計、圖像差分;(3)差分部分的特征提取;(4)特征點的幀間運動估計;(5)基于K-means法的特征點分類。
    基于全景畫面的特征點跟蹤需要對多通道視頻同時進行運算,運算過程復雜,包括跟蹤前與跟蹤后的處理任務,如何將這些任務分配到不同的芯片上并使板載資源做到任務間最大共享,需要根據任務強度估計后放到不同的芯片上。同時,由于μC/OS是一種可移植性強、代碼微小的實時、多任務操作系統,適合在本系統的DSP上運行[10]。移植μC/OS操作系統到一個DSP上,將該DSP作為主控DSP進行任務分配,本次實驗的各個任務分配如圖5所示。由于兩個DSP協助FPGA2進行運算具有強大的計算能力,可進行多目標跟蹤,FPGA2承擔了大量的并行數據運算,如運動探測包括的差分、運動估計、圖像拼接,而DSP則承擔特征點提取和追蹤這些不能并行運算的部分。實驗結果表明,6路視頻采集后的全景圖像上可作實時多目標追蹤。

    本系統通過選用FPGA+DSP相配合的方式,同時利用了兩種芯片的性能優勢,既保證系統的執行速度,也能保證可靠的邏輯控制。該系統實現了6路1 M大小視頻圖像信號的同時采集和處理,由FPGA1對系統的運行邏輯進行控制,通過優化在DSP上運行的圖像處理程序,可實現智能車導航應用中全景圖像范圍內的目標追蹤。該系統還可作為一個獨立的圖像處理系統,后續通過添加其他如立體視覺和光學跟蹤等的算法,形成其他多方面的圖像應用研究平臺。同時該方案也為其他基于多DSP和FPGA混合圖像處理平臺設計提供了參考。
參考文獻
[1] 王亮.智能移動機器人定位技術研究[D].哈爾濱:哈爾濱工程大學,2004.
[2] NAYAR S.Catadiop tric qmnidirectional camera[A].IEEE Conf Computer Vision and Pattern Recognition[C].Washington D C,997.
[3] 李立金,華標,陳智君,等.基于FPGA和DSP的高分辨率圖像采集系統[J],數據采集與處理,2008,23(1):117-122.
[4] 衰大偉,張躍文.基于DSP+FPGA的電子圖像直接穩定技術研究[J].儀器儀表學報,2007,28(4):735-737.
[5] 周賢波,馮龍齡.基于DSP和FPGA圖像采集技術的研究.光學技術,2006,32(Suppl):141-143.
[6] Shirvaikar Mukul1,Bushnaq,Tariq1.A comparison between DSP and FPGA platforms for realtime imaging applications,Proceedings of SPIE-IS  and T Electronic Imaging - Real-Time Image  and Video Processing,2009,7244.
[7] CHAUBEY R C.Computerized image analysis  software for the comet assay,Molecular Toxicology Protocols,ISSN 1064-3745,2008,291.
[8] 錢博,劉元濤,鐘鳴.高速數字信號處理中的雙緩沖ZBT  Sram控制器設計[J].沈陽理工大學學報.2008,27(2).
[9] 陳興耀,王振華,田金文,等.高速遙感圖像壓縮系統ZBT SRAM控制器的設計[J].微電子學與計算機.2005,22(3).
[10] 李紀奎,向懷坤,胡泓,等.基于?滋COS-Ⅱ的視頻動態交通信息采集系統研究[J].哈爾濱工業大學學報,2007,39(2).

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品国产三级国产AV主播| 日韩国产欧美精品在线| 四虎成人精品在永久在线观看| 91成人在线免费观看| 扒开腿狂躁女人爽出白浆| 亚洲人成在线观看| 男女下面的一进一出视频| 国产伦精品一区二区三区免费迷| 77777_亚洲午夜久久多人| 少妇高潮太爽了在线观看| 久久精品国产99久久久| 欧美精品免费观看二区| 天天色天天干天天射| 久久狠狠高潮亚洲精品| 水蜜桃视频在线免费观看| 四虎在线成人免费网站| jizz中文字幕| 天天干天天色综合| 久久久久久a亚洲欧洲AV冫| 欧美在线观看第一页| 再深一点再重一点| 香蕉视频在线观看网站| 成人凹凸短视频在线观看| 亚洲一区在线观看视频| 男人免费桶女人45分钟视频| 国产一区日韩二区欧美三区| 天天躁夜夜躁狂狂躁综合| 夜夜躁日日躁狠狠久久| 中文字幕15页| 欧美日韩一区二区三区色综合| 动漫人物将机机桶机机网站| 高清不卡免费一区二区三区| 国产精品自在自线| re99热久久这里只有精品| 无码人妻精品丰满熟妇区| 亚洲av女人18毛片水真多| 毛茸茸性XXXX毛茸茸毛茸茸| 八戒网站免费观看视频| 色老二精品视频在线观看| 国产成人精品无码免费看| 91进入蜜桃臀在线播放|