基于Camera Link接口的圖像跟蹤系統(tǒng)的設(shè)計(jì)
這28 b數(shù)據(jù)中包括3個數(shù)據(jù)端口:A口(8 b)、B口(8 b)、C口(8 b),和4個視頻控制信號FVAL(幀有效)、DVAL(數(shù)據(jù)有效)、LVAL(行有效)、SPARE(空,暫時未用)。至于經(jīng)過Camera Link芯片轉(zhuǎn)換后的時鐘信號,則是整個相機(jī)的同步驅(qū)動信號,所有的數(shù)據(jù)和視頻控制信號都是和該時鐘信號同步的,相機(jī)的時序圖見圖3。
相機(jī)可以配置成8 b或10 b的輸出位寬,40 MHz像素時鐘或80 MHz像素時鐘,2×40 MHz或2×80 MHz的數(shù)據(jù)輸出速率。關(guān)于Camera Link的采集數(shù)據(jù)的邏輯代碼,關(guān)鍵之處在于產(chǎn)生存儲器的地址信號、存儲器寫信號以及在對應(yīng)的地址處將數(shù)據(jù)穩(wěn)定地寫進(jìn)存儲器。我們用像素時鐘產(chǎn)生列地址計(jì)數(shù)器,行同步信號產(chǎn)生行地址計(jì)數(shù)器,二者拼接產(chǎn)生存儲器的地址信號。這樣產(chǎn)生的有效地址雖然不連續(xù),但意義明確,而且有利于顯示部分的隔行隔列顯示。對于 8 b的數(shù)據(jù),可將4個有效數(shù)據(jù)拼接成32 b后再存儲,這樣可以降低FPGA讀寫存儲器的速度。
針對圖像預(yù)處理階段運(yùn)算結(jié)構(gòu)比較簡單的特點(diǎn),用FPGA進(jìn)行硬件實(shí)現(xiàn)無疑是理想的選擇,這樣同時兼顧了速度和靈活性,大大減輕了DSP的負(fù)擔(dān)。這里采用的預(yù)處理算法主要是中值濾波,中值濾波器是一種非線性濾波器,與均值濾波器和類似其他形式的濾波器相比,中值濾波器具有能夠徹底濾除尖波干擾噪聲同時又能夠較好地保護(hù)目標(biāo)圖像邊緣等優(yōu)點(diǎn)。中值濾波的具體實(shí)現(xiàn)過程一般為:
(1)選擇一個n×n的滑動窗口(通常為3×3或者5×5),使其沿圖像數(shù)據(jù)的行或者列方向逐像素滑動(通常為從左至右,從上到下逐行移動)。
(2)每次滑動后,對窗口內(nèi)的像素灰度值進(jìn)行排序,用排序所得的中間值代替窗口中心位置像素的灰度值。
用硬件實(shí)現(xiàn)二維中值濾波,很重要的一點(diǎn)是能可靠地存儲實(shí)時圖像數(shù)據(jù),并且使延時最短。在存儲n-1行圖像數(shù)據(jù)后便開始處理,其中n為窗口大小,在本設(shè)計(jì)中,選用3*3窗口的中值濾波器,即n=3。這樣設(shè)計(jì)的好處是,F(xiàn)PGA可以以串行流水方式實(shí)現(xiàn)該模塊,節(jié)省了許多時間,為實(shí)時處理創(chuàng)造了有利條件。
為了盡量節(jié)約資源,充分利用硬件設(shè)計(jì)中的“模塊復(fù)用”原則,需設(shè)計(jì)1個移位寄存器、1個dq寄存器、1個二值比較器,然后在像素時鐘的驅(qū)動下,首先調(diào)用移位寄存和dq寄存器產(chǎn)生窗口數(shù)據(jù),然后對3×3模板里的數(shù)據(jù)多次調(diào)用dq寄存器和2值比較器進(jìn)行冒泡排序輸出中間值。中值濾波模塊示意圖見圖4。
2.3 基于DSP的圖像處理單元
TI公司的TMS320C6414芯片是一款高性能定點(diǎn)DSP處理器,其主頻可以高達(dá)720 MHz,片內(nèi)具有豐富的RAM資源,同時通過EMIFA和EMIFB口可以擴(kuò)展很多存儲芯片。這里主要擴(kuò)展的是程序FLASH芯片,用于存放固化的程序代碼。
前面已經(jīng)說明了FPGA如何控制SRAM讀寫邏輯的,DSP的主要工作是響應(yīng)FPGA發(fā)出的中斷信號,讀取圖像數(shù)據(jù)進(jìn)行處理,雖然每一幀讀取的實(shí)際的 SRAM不同,但是通過FPGA的映射后,對于DSP來說,SRAM始終在DSP片外的一端固定地址范圍內(nèi)。DSP響應(yīng)中斷的流程圖見圖5。
評論