FPGA+DSP核心架構(gòu)的實(shí)時(shí)三維圖像信息處理
2 模塊設(shè)計(jì)
2.1 視頻采集與數(shù)字化模塊
由于模擬攝像機(jī)采集的是PAL制的復(fù)合視頻信號(hào)(CVBS),所以必須先將其數(shù)字化才能開始后繼數(shù)字視頻處理。視頻采集與數(shù)字化模塊主要包括一片視頻多路復(fù)用器MAX440、一片SAA7111A、一片I2C接口控制器PCF8584和一些連接邏輯。MAX440用來快速切換來自不同模擬輸入端的模擬視頻流,SAA7111A模數(shù)轉(zhuǎn)換器是該模塊的核心,它采集模擬視頻,將其數(shù)字化為720×576的RGB(8,8,8)真彩色信號(hào)格式的數(shù)字視頻,其輸出的RGB真彩色信號(hào)為16位,其中高字節(jié)和低字節(jié)數(shù)據(jù)周期分別為74ns和37ns,即低字節(jié)的頻率是高字節(jié)的1倍。這樣就要利用觸發(fā)器和兩個(gè)分別為13.5MHz和27MHz的時(shí)鐘信號(hào),將輸入數(shù)據(jù)格式轉(zhuǎn)換為24位、周期均為74ns的RGB真彩色信號(hào),此外,它還為整個(gè)硬件系統(tǒng)提供必要的時(shí)鐘和同步信號(hào);PCI接口控制器通過PCF8584來配置和控制SAA7111A,連接邏輯由FPGA實(shí)現(xiàn)。
2.2 FPGA圖像預(yù)處理模塊
預(yù)處理從巨大的視頻信息中提取極少量的對(duì)三維重建有用的信息傳送至DSP后處理。該模塊包括主處理FPGA芯片和高速FIFO,負(fù)責(zé)實(shí)時(shí)采集視頻信號(hào)并對(duì)采集到的無壓縮的視頻信息進(jìn)行預(yù)處理,包括提取激光中心線、提取輪廓線、提取中心顏色線三個(gè)部分。
為了提高視頻采集的整體性能,更重要的是為預(yù)處理提供相鄰的有激光幀和無激光幀,必須通過視頻幀緩存首先暫存無激光幀。緩存由3片AverLogic公司的AL422B及一些由FPGA實(shí)現(xiàn)的連接邏輯組成;當(dāng)前端模塊輸出無激光幀時(shí),SA7111A控制3片AL422B寫操作,將其存入FIFO;當(dāng)前端輸出有激光幀時(shí),后端的視頻處理模塊控制3片AL422B進(jìn)行讀操作,讀出暫存在其中的無激光幀數(shù)據(jù)。預(yù)處理FPGA將讀取的無激光幀和有激光幀進(jìn)行相減運(yùn)算。輸出同樣采用3組緩存分別用來暫存激光樣條數(shù)據(jù)、目標(biāo)輪廓線數(shù)據(jù)和圖像中心線數(shù)據(jù);所有模塊均采用同步時(shí)鐘控制,同步時(shí)鐘采用由SAA7111A模數(shù)轉(zhuǎn)換器產(chǎn)生的LLC2信號(hào)。為了提高系統(tǒng)速度,算法復(fù)雜、耗時(shí)較長(zhǎng)的計(jì)算過程進(jìn)行了流水線處理。
2.3 DSP三維重建模塊
為了應(yīng)對(duì)三維圖像大數(shù)據(jù)量復(fù)雜高速運(yùn)算的需要,這里采用了兩片TigerSHARC 201芯片并行三維重建運(yùn)算。由控制FPGA對(duì)兩片DSP所要處理的圖像進(jìn)行任務(wù)分配,DSP結(jié)合預(yù)處理FPGA存入FIFO的數(shù)據(jù)和PCI總線所給處理參數(shù)進(jìn)行定標(biāo)參數(shù)計(jì)算、坐標(biāo)計(jì)算、三維重建和構(gòu)型。由于TS201內(nèi)部集成的總線仲裁機(jī)制,雙DSP可以實(shí)現(xiàn)無縫連接,大大減小了多DSP協(xié)調(diào)工作的設(shè)計(jì)難度。DSP間的連接是依靠其擁有的全雙工LinkPort,它采用LVDS(低電平差分信號(hào))輸入數(shù)據(jù)。鏈路口能獨(dú)立或同時(shí)工作,在時(shí)鐘的上升沿和下降沿鎖存數(shù)據(jù)。鏈路時(shí)鐘頻率最高可以與處理器核相同,高達(dá)500MHz,每個(gè)鏈路能完成500Mbps的單向數(shù)據(jù)傳輸。每個(gè)DSP的4個(gè)LinkPort合起來最大的通透率為4.0Gbps。連線短且簡(jiǎn)單,不需要額外的輔助電路,且可有效防止連線長(zhǎng)引起的信號(hào)畸變。LinkPort傳輸協(xié)議由控制FPGA完成。
2.4 PCI通信接口模塊
根據(jù)三維信息獲取系統(tǒng)的速度傳輸要求,采用PCI接口完成該系統(tǒng)與通用PC的信息交互。PCI接口控制器是硬件部分的控制中心和數(shù)據(jù)交換中心,它接收設(shè)備驅(qū)動(dòng)程序的命令和數(shù)據(jù),配置和控制系統(tǒng)的各個(gè)模塊使其協(xié)調(diào)工作,完成系統(tǒng)任務(wù);它還負(fù)責(zé)將采集到和處理后的數(shù)據(jù)通過PCI總線轉(zhuǎn)送給通用PC。本系統(tǒng)采用PLX公司的32bit/33MHz PCI9030作為接口芯片,串行EEPROM-FM93CS56L電可擦除只讀存儲(chǔ)器保存PCI9030的配置信息。
2.5 系統(tǒng)控制與數(shù)據(jù)交換模塊
控制單元對(duì)處理器的數(shù)據(jù)處理單元和輸入數(shù)據(jù)格式轉(zhuǎn)換單元以及所有FIFO存儲(chǔ)器產(chǎn)生控制,與預(yù)處理FPGA配合完成DSP的LinkPort協(xié)議。由于數(shù)據(jù)處理單元中為流水處理,在控制單元的設(shè)計(jì)中要特別注意由流水線產(chǎn)生的固定周期的延時(shí),延時(shí)的周期數(shù)等于相應(yīng)流水線的級(jí)數(shù)??刂茊卧€與PCI接口連接,接收來自主計(jì)算機(jī)的控制信號(hào)和背景閾值等信息??刂艶PGA還是SAA7111A、PCI接口和DSP之間的圖像和信息交換的橋梁,為其提供所需要的參數(shù)和數(shù)據(jù)信息。
評(píng)論