基于TI TM320DM642的仿生眼視覺圖像處理系統(tǒng)
1.2.6 電源和時鐘模塊
本系統(tǒng)需要3種不同的供電電壓,分別是+3.3 V(外部存儲器、DSP的外部I/O、視頻格式轉(zhuǎn)換電路、通用異步收發(fā)器、時鐘芯片)、+1.4 V(DSP的內(nèi)核)、+1.8 V(視頻格式轉(zhuǎn)換電路)。采用TPS54310和TPS76718這2款電源芯片。本電源系統(tǒng)中,TPS54310輸入電壓為5 V,一路調(diào)節(jié)成3.3 V,另一路調(diào)節(jié)為1.4 V。TPS54310輸出3.3 V電壓經(jīng)TPS76718固定輸出1.8 V。
本系統(tǒng)共需要4種時鐘頻率:50 MHz送DSP鎖相環(huán)電路(PLL),倍頻到200 MHz作為DSP芯片的工作時鐘;133 MHz送EMIFA接口,同步擴(kuò)展外部SDRAM存儲器;30.72 MHz送TL16C752B芯片,為通用異步串行接口通信提供時鐘;14.318 18 MHz送TVP5150A芯片,作為視頻格式轉(zhuǎn)換電路的工作時鐘。
2 系統(tǒng)軟件功能設(shè)計
系統(tǒng)的軟件功能設(shè)計包括:(1)系統(tǒng)引導(dǎo);(2)初始化。主要包括DM642的初始化、EDMA數(shù)據(jù)傳輸、編解碼芯片的初始化等。DM642的初始化包括片內(nèi)外設(shè)的選擇、EMIF初始化、I2C接口的初始化、視頻口初始化;(3)實現(xiàn)視頻數(shù)據(jù)的采集、數(shù)據(jù)搬移、圖像處理、參數(shù)輸出、實時顯示等功能。系統(tǒng)軟件實現(xiàn)框圖如圖4所示。本文引用地址:http://www.ex-cimer.com/article/151936.htm
系統(tǒng)上電后,由DSP先從FLASH中加載程序,完成系統(tǒng)初始化及相關(guān)寄存器和外圍器件的配置。由CCD攝像頭采集的視頻圖像傳送到TVP5150解碼器,將視頻模擬信號經(jīng)過A/D轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,接著送入DM642視頻口;然后視頻口解碼該視頻數(shù)據(jù)流,得到Y(jié)UV(4:2:2)格式的圖像,并通過EDMA傳輸?shù)絊DRAM中存儲。CPU通過訪問SDRAM中的圖像數(shù)據(jù),根據(jù)圖像處理算法對圖像數(shù)據(jù)進(jìn)行實時處理和計算。一方面將計算結(jié)果通過串口發(fā)送出去,另一方面將視頻數(shù)據(jù)送到SAA7121編碼器,實現(xiàn)D/A轉(zhuǎn)換并實時顯示。
3 圖像處理算法的應(yīng)用
3.1 經(jīng)典Prewitt邊緣檢測算法
經(jīng)典的Prewitt算子是利用像素點(diǎn)上下、左右鄰點(diǎn)灰度差在邊緣處達(dá)到極值檢測邊緣,去掉部分偽邊緣,對噪聲具有平滑作用。其原理是在圖像空間利用2個方向模板與圖像進(jìn)行鄰域卷積完成。這2個方向模板中一個是垂直梯度方向,檢測水平邊緣;另一個是水平梯度方向,檢測垂直邊緣,如圖5所示。
Prewitt算法步驟:(1)分別將2個方向模板沿圖像從一個像素移到另一個像素,并將像素的中心與圖像中的某個像素位置重合;(2)將模板內(nèi)的系數(shù)與其圖像上相對應(yīng)的像素值相乘,并將所有相乘的值相加;(3)將兩個卷積的最大值賦給圖像中對應(yīng)模板中心位置的像素,作為該像素新的灰度值;(4)選取合適的閾值,若新像素灰度值大于等于所設(shè)閾值,則判斷該像素點(diǎn)為圖像邊緣點(diǎn)。
3.2 改進(jìn)的Prewitt邊緣檢測算法
經(jīng)典的Prewitt邊緣檢測算法只檢測水平和垂直2個方向的邊緣,通常圖像的邊緣還有其他的方向。為了能夠在不影響實時性的前提下將邊緣提取得更精確,本文將Prewitt算子擴(kuò)張到8個方向的邊緣樣板算子。這些樣板算子由理想的邊緣子圖像構(gòu)成,依次用邊緣樣板去檢測圖像,與被檢測區(qū)域最為相似的樣板給出最大值,用這個最大值作為輸出值,并將此輸出值與所設(shè)的閾值進(jìn)行比較,大于閾值即為邊緣點(diǎn),這樣就可以更精確地檢測出邊緣。8個方向的Prewitt邊緣檢測算子模板如圖6所示。8算子樣板對應(yīng)的邊緣方向如圖7所示。
3.3 軟件實現(xiàn)步驟
本文使用CCS2.2開發(fā)環(huán)境進(jìn)行軟件開發(fā),采用C語言編程。CCS具有實時、多任務(wù)、可視化的軟件開發(fā)特點(diǎn)。使用CCS提供的工具,可以方便地對DSP軟件進(jìn)行設(shè)計、編碼、編譯、調(diào)試、跟蹤和實時性分析。系統(tǒng)程序的具體實現(xiàn)步驟為:
(1)初始化并配置資源庫,包括片內(nèi)外設(shè)的選取,DSP的片上支持庫提供了一系列的C語言程序接口,可以設(shè)置或者控制外設(shè);
(2)實現(xiàn)對EMIFA的初始化,CE0子空間被配置為64 bit的SDRAM空間,具體定位:0x80000000H-0x81FFF-
FFFH。CE1子空間被配置為8 bit Flash空間,具體定位:0x90000000H-0x9007FFFFH。
(3)對I2C總線進(jìn)行初始化;
(4)TVP5150和SAA7121的初始化,選擇I2C總線,并設(shè)置為相應(yīng)的數(shù)據(jù)通路;
(5)初始化視頻口Video Port1,設(shè)為視頻輸入;
(6)利用bt656_capture_start()函數(shù)采集一幀圖像,并將其存入顯示緩沖區(qū);
(7)完成一幀圖像的采集,使用DAT_copy()函數(shù)將圖像數(shù)據(jù)送SDRAM暫存;
(8)對存儲區(qū)數(shù)據(jù)進(jìn)行算法處理;
(9)對處理的數(shù)據(jù)使用DAT_copy()函數(shù),送顯存進(jìn)行顯示。
3.4 實驗結(jié)果
采用系統(tǒng)在線編程技術(shù),對系統(tǒng)的性能進(jìn)行測試。為了減少運(yùn)算量,算法只對圖像的中心部分進(jìn)行2種算法處理。CCD采集的PAL制式的圖像,對圖像中心的80×100的區(qū)域進(jìn)行計算。其結(jié)果表明:改進(jìn)的算法比傳統(tǒng)的算法能提取更多的邊緣細(xì)節(jié),對目標(biāo)識別更有利。在實時性上,傳統(tǒng)算法處理時間為0.02 s,而改進(jìn)算法的處理時間為0.1 s。因此,該算法具有準(zhǔn)實時性,基本能夠達(dá)到仿生眼球?qū)D像識別的要求。
系統(tǒng)CPU的開銷主要耗費(fèi)在算法處理上,因此,未來的工作可以針對算法進(jìn)行不斷改進(jìn),以提高系統(tǒng)的實時性。
本文成功設(shè)計了一個以TMS320DM642為核心的嵌入式視覺圖像處理系統(tǒng),并創(chuàng)新地將其作為仿生眼球的視覺部分嵌入到眼球結(jié)構(gòu)中。系統(tǒng)具有處理速度快、接口簡單、集成度高、電路穩(wěn)定、體積小等優(yōu)點(diǎn)。在此系統(tǒng)上實現(xiàn)了對經(jīng)典的2模板Prewitt算法與改進(jìn)的8模板算法的邊緣檢測。結(jié)果表明,改進(jìn)的算法具有精確度高、檢測效果好等優(yōu)點(diǎn),為視覺識別提供了算法基礎(chǔ)。
評論