一種基于高速DSP的圖像處理應(yīng)用平臺
引言
本文引用地址:http://www.ex-cimer.com/article/152403.htm完成某一特定任務(wù)的圖像處理系統(tǒng),其硬件方案大體上有三種:使用通用計算機(jī)[1]、使用ASIC(Application Specific Integrated Circuit)[2]和使用DSP(Digital Signal Processor)[3]。使用通用計算機(jī)的方案可以應(yīng)用現(xiàn)有的硬件設(shè)備,選擇合適的操作系統(tǒng),只需要進(jìn)行應(yīng)用程序的開發(fā)。其優(yōu)點在于開發(fā)周期短,費用較低,而且產(chǎn)品易于維護(hù)和升級;缺點是運算速度受到限制,對于算法的運算量和復(fù)雜度很高的應(yīng)用場合,難以達(dá)到實時性要求。該方案有二種應(yīng)用場合:算法開發(fā)初中期階段及一些實時性要求不高的領(lǐng)域。使用ASIC的方案中,所有的運算都由硬件實現(xiàn),因此實時性會非常好,但硬件的設(shè)計是一大難點,而且系統(tǒng)一旦定型,不方便對其進(jìn)行升級。使用高速DSP可以說是二種方案的折衷,一方面在硬件實現(xiàn)上只需根據(jù)需求進(jìn)行DSP外圍接口電路的設(shè)計,另一方面,隨著DSP技術(shù)的快速發(fā)展,高性能芯片的不斷推出,其運算能力也能滿足一般圖像處理的要求。而且,系統(tǒng)功能由算法軟件來實現(xiàn),對系統(tǒng)的維護(hù)和升級也很方便。
本文采用TI公司的多媒體DSP芯片TMS320DM642[4](簡稱DM642),實現(xiàn)了一種圖像處理系統(tǒng)基本功能的應(yīng)用平臺,包含視頻輸入、視頻輸出以及串行通信等功能。
2、系統(tǒng)硬件設(shè)計
系統(tǒng)硬件組成如圖1所示。以DM642為核心,外部擴(kuò)展了存儲器SDRAM和Flash,分別用于程序運行和程序存儲;通過控制視頻編解碼器完成視頻的采集和輸出;并通過McBSP接口實現(xiàn)UART,方便視覺系統(tǒng)與外界的通信。
圖 1 DSP視覺系統(tǒng)硬件組成結(jié)構(gòu)圖
系統(tǒng)中,擴(kuò)展的外部存儲器包括ROM和SDRAM。其中,ROM采用Atmel公司的Flash,型號是AT49BV1614,其容量為16MBits,在系統(tǒng)啟動時作為Boot ROM使用;SDRAM由兩片4Banks×512K×32Bits規(guī)格的芯片夠成,型號是HY57V643220CT,用來儲存程序、數(shù)據(jù)和視頻。視頻ADC采用Phillips公司的SAA7113,轉(zhuǎn)換精度9Bits,擁有有4個模擬輸入通道,可輸入4路模擬視頻信號,輸出接口(VP0)有一個,支持PAL、NTSC、SECAM這三種主要的模擬視頻制式。視頻輸出DAC芯片采用的是Analog Devices公司推出的ADV7176視頻編碼器,轉(zhuǎn)換精度為10Bits,最高信噪比達(dá)80dB,它在DM642的行、場同步信號及自己的時鐘控制下從DM642中讀出數(shù)據(jù),經(jīng)過D/A轉(zhuǎn)換后輸出到TV顯示器上進(jìn)行顯示。通信接口中利用DM642已有的同步串口McBSP與EDMA實現(xiàn)UART的方法,硬件上加入一片MAX3323E,實現(xiàn)CMOS邏輯電平和RS-232邏輯電平之間轉(zhuǎn)換,以滿足與控制計算機(jī)進(jìn)行串口通信的要求。
3、系統(tǒng)軟件設(shè)計
TI為了對自己的DSP 產(chǎn)品提供軟件開發(fā)支持,推出了DSP /BIOS(Basic Input Output System)搶先型、可裁剪的實時多任務(wù)操作系統(tǒng),它與CCS(Code Composer Studio)編譯環(huán)境集成在一起。使用DSP/BIOS可以進(jìn)行高效的應(yīng)用程序開發(fā)。本文圖像系統(tǒng)的軟件開發(fā)是基于DSP /BIOS環(huán)境下進(jìn)行的。
3.1 軟件設(shè)計流程
本文圖像處理系統(tǒng)的軟件流程如圖2所示。應(yīng)用主程序需要先完成CSL(Chip Support Library)庫的初始化,以便在程序中能調(diào)用相關(guān)的芯片級支持庫函數(shù)。隨后,開EDMA中斷,并使能EDMA中的I2C通道的中斷;開VP1、VP2口中斷;初始化并啟動I2C的數(shù)據(jù)傳輸,完成對視頻解碼芯片SAA7113和視頻編碼芯片ADV7176的寄存器的參數(shù)初始化數(shù)配置;配置和啟動VP1和VP2視頻口;最后進(jìn)入空閑等待循環(huán)。視頻的采集以中斷的方式進(jìn)行,當(dāng)一幀圖像采集完后,觸發(fā)VP1中斷,系統(tǒng)調(diào)用相應(yīng)的中斷子程序?qū)D像數(shù)據(jù)進(jìn)行處理計算,求出位置和姿態(tài)等參數(shù),最后將參數(shù)通過UART傳輸給控制計算機(jī)。
評論