近年來(lái),視頻處理系統(tǒng)的研究受到了人們?cè)絹?lái)越多的關(guān)注,發(fā)展也非常迅速。同時(shí),視頻技術(shù)也是一門(mén)跨越很多學(xué)科的技術(shù),在此基礎(chǔ)上又衍生出了很多的新的技術(shù)和研究方向,比如人臉識(shí)別技術(shù)和圖像邊緣檢測(cè)算法的研究以及視頻壓縮算法的研究等。現(xiàn)在視頻處理系統(tǒng)有著廣泛的應(yīng)用,比如交通路口的監(jiān)控裝置、在機(jī)場(chǎng)、港口以及一些公共場(chǎng)所使用的視頻監(jiān)控設(shè)備等。如果視頻技術(shù)再和圖像處理等技術(shù)結(jié)合起來(lái),那么其應(yīng)用的范圍和深度都會(huì)有很大的提高,比如在安防領(lǐng)域可以用于輔助識(shí)別危險(xiǎn)目標(biāo)和恐怖分子等,這些技術(shù)在民用領(lǐng)域和軍事領(lǐng)域都有著廣泛的應(yīng)用。
針對(duì)以上這些應(yīng)用需求,本文采用TI公司的DM642" title="TMS320DM642" target="_blank">TMS320DM642(以下簡(jiǎn)稱DM642)數(shù)字多媒體處理芯片設(shè)計(jì)了一套視頻處理系統(tǒng)。文中主要介紹了系統(tǒng)的硬件設(shè)計(jì)和調(diào)試過(guò)程。
1 系統(tǒng)硬件設(shè)計(jì)方案
1.1 系統(tǒng)的硬件結(jié)構(gòu)
視頻處理系統(tǒng)的硬件設(shè)計(jì)采用的DSP是DM642,它是一款高性能的數(shù)字多媒體處理器,最高運(yùn)算速度可達(dá)5760MIPS(每秒百萬(wàn)條指令),可以滿足復(fù)雜算法的實(shí)時(shí)處理要求。視頻信號(hào)需要通過(guò)CCD攝像頭采集。
視頻解碼芯片將采集到的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)供DSP進(jìn)行運(yùn)算處理。DM642的視頻接口(VP口)共有3個(gè),其中VP0和VP1都是20位,10位用于視頻輸入,另外10位用于音頻輸入。VP2口也是20位,可以分為兩路視頻輸入。在本文設(shè)計(jì)的視頻處理系統(tǒng)中,采集到的模擬視頻信號(hào)經(jīng)過(guò)視頻解碼芯片模/數(shù)轉(zhuǎn)換后,形成BT.656格式的數(shù)字視頻信號(hào),通過(guò)DM642的VP0口輸入。
數(shù)字信號(hào)經(jīng)過(guò)DM642的軟件編碼器進(jìn)行編碼壓縮處理,編碼壓縮生成的視頻碼流數(shù)據(jù)打包后通過(guò)RJ-45接口經(jīng)以太網(wǎng)傳送到遠(yuǎn)端的上位機(jī),上位機(jī)作為SERVER,這樣就構(gòu)成監(jiān)控系統(tǒng)。通過(guò)DM642獨(dú)立多媒體接口(MII),片外連接一片以太網(wǎng)處理芯片,就可以構(gòu)成10/100 Mbpa以太網(wǎng)模塊。本地回放由視頻編碼芯片來(lái)完成。
通過(guò)DM642的EMIF接口可以連接SDRAM和Flash存儲(chǔ)器。盡管DSP提供了片內(nèi)RAM,但是在大多數(shù)情況下不能滿足系統(tǒng)的要求;同時(shí)對(duì)于要求實(shí)時(shí)處理的系統(tǒng)而言,又要求盡量減小在數(shù)據(jù)流動(dòng)過(guò)程中由于存儲(chǔ)器讀寫(xiě)造成的時(shí)間開(kāi)銷,因此在系統(tǒng)中配置了高性能的SDRAM,它在運(yùn)行程序和數(shù)據(jù)處理時(shí)使用。Flash在系統(tǒng)中主要是用來(lái)存放系統(tǒng)軟件和配置參數(shù)的。
系統(tǒng)的總體框圖如圖1所示。
在該視頻處理系統(tǒng)上集成了相當(dāng)數(shù)量的板上設(shè)備以適應(yīng)不同的應(yīng)用環(huán)境,其主要特點(diǎn)為:
1)系統(tǒng)的運(yùn)行頻率為600 MHzc。
2)2個(gè)視頻端口:1個(gè)為板上解碼器,1個(gè)為板上編碼器。
3)32 MB的同步DRAM空間。
4)2 MB的Flash空間。
5)以太網(wǎng)接口。
6)配有仿真器接口可以用來(lái)進(jìn)行JTAG仿真。
7)供電電壓為+5 V。
8)蜂鳴器報(bào)警。
1.2 存儲(chǔ)器模塊設(shè)計(jì)
在數(shù)據(jù)處理模塊中,DSP芯片、SDRAM芯片和Flash芯片這3塊芯片是整個(gè)模塊電路的核心。該模塊的功能是完成與外部數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)傳輸和程序存儲(chǔ)器的程序讀寫(xiě)任務(wù)。通過(guò)JTAG接口電路與仿真器相連后接到計(jì)算機(jī)主機(jī)進(jìn)行仿真調(diào)試,實(shí)現(xiàn)與目標(biāo)主機(jī)的數(shù)據(jù)交換。
1.2.1 SDRAM接口設(shè)計(jì)
在系統(tǒng)的硬件設(shè)計(jì)中,SDRAM內(nèi)存芯片選用Micron公司生產(chǎn)的MT48LCAM3282-1Mx32×4 banks。SDRAM,即Synchronous DRAM(同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器),表明它的工作速度是和系統(tǒng)的總線速度同步的。MT48LC4M3282總線最高時(shí)鐘為166 MHz,它主要用來(lái)存儲(chǔ)數(shù)據(jù)和程序,SDRAM的刷新由DSP芯片自動(dòng)控制。MT48LCAM3282是一款高速CMOS動(dòng)態(tài)隨機(jī)存儲(chǔ)器,它內(nèi)部配置為4個(gè)區(qū)的同步接口。
DM642的EMIF可以對(duì)SDRAM的地址屬性進(jìn)行編程,它和SDRAM可以實(shí)現(xiàn)無(wú)縫連接。EMIFA最大的時(shí)鐘總線可達(dá)133 MHz。SDRAM控制器可以支持16 M~256 Mbit的SDRAM芯片。TMS320DM642上的Cache容量有限,所以視頻數(shù)據(jù)通常存放在片外SDRAM中,在需要用到的時(shí)候通過(guò)EDMA把數(shù)據(jù)從片外搬移到片內(nèi)處理,這樣就可以提高程序的執(zhí)行效率四。TMS320DM642的SDRAM接口圖如圖2所示。
由于TMS320DM642的數(shù)據(jù)總線是64位,而每片MT48LC4M3282的數(shù)據(jù)總線是32位,所以需要并聯(lián)兩片MT48LC4M3282才能構(gòu)成64位的數(shù)據(jù)總線,這樣才可以與TMS320DM642的EMW數(shù)據(jù)總線相連。參照DM642數(shù)據(jù)手冊(cè)中SDRAM的配置方法,EA15、EA16控制SDRAM的組,EA3-EA14控制行地址,EA3-EA11控制列地址,片選信號(hào)接到DM642的上,這樣就把SDRAM分配到CE0空間上。
1.2.2 Flash接口設(shè)計(jì)
DM642 EMIFA的異步接口為各種存儲(chǔ)器和外設(shè)類型提供了可配置的存儲(chǔ)器周期類型,包括SRAM、EPROM、Flash等,在本系統(tǒng)中Flash采用的是SST公司生產(chǎn)的SST39VF1601 Flash,片選信號(hào)接到DM642的引腳上。當(dāng)DSP上電后,DSP通過(guò)增強(qiáng)的直接存儲(chǔ)器訪問(wèn)從外部的CE1尋址空間復(fù)制1 K字節(jié)的數(shù)據(jù)傳給內(nèi)部存儲(chǔ)空間,然后再?gòu)膬?nèi)部存儲(chǔ)空間0x0處開(kāi)始運(yùn)行,所以Flash ROM必須配置在DSP的CE1空間,在DSP存儲(chǔ)器中對(duì)應(yīng)的地址是0x90000000-0x90200000。
1.3 JTAG接口設(shè)計(jì)
JTAG接口是調(diào)試環(huán)境和目標(biāo)板之間的接口,它的好處是可以讓開(kāi)發(fā)者在對(duì)目標(biāo)板進(jìn)行開(kāi)發(fā)的同時(shí)可以不改變目標(biāo)板的系統(tǒng)結(jié)構(gòu),從而方便了系統(tǒng)的開(kāi)發(fā)與測(cè)試。XDS510仿真器通過(guò)JTAG接口將系統(tǒng)板與電腦連接起來(lái),這樣就可以使用TI提供的集成化開(kāi)發(fā)環(huán)境對(duì)系統(tǒng)進(jìn)行調(diào)試了。JTAG接口采用標(biāo)準(zhǔn)的雙排14腳插座。系統(tǒng)的JTAG接口電路如圖3所示。
1.4 電源模塊設(shè)計(jì)
DM642需要兩種電源,一種是內(nèi)核電源(1.4 V),另一種是I/O電源(3.3 V)。通常由于DM642用于嵌入式系統(tǒng)中,因此電源電路設(shè)計(jì)不僅要考慮電壓精度、穩(wěn)定度和外圍電路的復(fù)雜度等問(wèn)題,還要考慮低功耗問(wèn)題。另外,根據(jù)設(shè)計(jì)要求,為了保證芯片正常工作,在系統(tǒng)上電作時(shí),對(duì)這兩種電源的上電順序還有一定的要求,如果違反該要求,可能降低器件的性能或永久損壞器件。內(nèi)核電源要比I/O電源早上電,至少不能晚于I/O電源上電。在電路設(shè)計(jì)中,通過(guò)采用在兩個(gè)電源之間串聯(lián)二極管的方法來(lái)解決系統(tǒng)上電順序的問(wèn)題。
系統(tǒng)設(shè)計(jì)中,電源芯片采用的是TI公司的TPS54310,它是TI公司生產(chǎn)的一款開(kāi)關(guān)電源調(diào)節(jié)芯片,它能夠?qū)崿F(xiàn)低電壓輸入和高電流輸出(輸人電壓范圍為3~6 V,輸出電壓根據(jù)需要可以在0.9~3.3 V之間調(diào)節(jié),輸出電流為3 A)。圖4是3.3 V電源產(chǎn)生電路,1.4 V電源產(chǎn)生電路與此類似,只需根據(jù)TPS54310中的計(jì)算公式將相應(yīng)的電阻和電容值做相應(yīng)的修改就可以得到1.4 V電源。3.3V的電源不僅是DM642的0電源,同時(shí)也是系統(tǒng)上視頻解碼芯片、視頻編碼芯片、SDRAM芯片等的供給電源。
1.5 視頻輸入輸出模塊設(shè)計(jì)
1.5.1 視頻輸入模塊設(shè)計(jì)
視頻輸入模塊設(shè)計(jì)采用的視頻解碼芯片是TVP5150APBS,它是TI公司專門(mén)開(kāi)發(fā)的一款可以方便攜帶的低功耗視頻解碼芯片,可以廣泛用于視頻系統(tǒng)的設(shè)計(jì)。TVP5150APBS的視頻輸入端可以輸入兩路復(fù)合視頻信號(hào)或者一路S端子信號(hào)。輸入信號(hào)(如PAL、NTSC等制式)通過(guò)增益控制單元、模數(shù)轉(zhuǎn)換器和Y/C分離及處理模塊后,最后可以轉(zhuǎn)化為8位ITU-R BT.656的數(shù)據(jù)格式,或者轉(zhuǎn)化為8位4:2:2的數(shù)據(jù)格式。TVP5150A-PBS的初始化操作是通過(guò)操作IIC總線來(lái)實(shí)現(xiàn)的。TVP5150APBS的IIC地址可以通過(guò)控制12CSEL引腳的高低電平來(lái)設(shè)置。當(dāng)該引腳是低電平時(shí),IIC地址是0xB8h,當(dāng)該引腳是高電平時(shí),IIC地址則為0xBAh。TVP5150APBS與TMS320DM642的連接示意如圖5所示。
從圖5可知,視頻信號(hào)可從TVP5150APBS的AIP1A或AIPIB輸入,數(shù)據(jù)輸出引腳YOUT[0:7]與DM642的VP0[2:9]引腳連接在一起。TVP5150-APBS的系統(tǒng)時(shí)鐘引腳SCLK與DM642的VPOCLK0引腳連接。因?yàn)樵诒鞠到y(tǒng)的設(shè)計(jì)中采用的是ITU-R BT.656的視頻輸出格式,所以在系統(tǒng)中不需要分立的同步信號(hào)。因此,TVP5150APBS的HSYNC(行同步信號(hào))、VSYNC(場(chǎng)同步信號(hào))、AVID(行消隱指示信號(hào))以及FIDFig.5 Colleetion bet-ween TVP5150APB5 and DM642(奇偶場(chǎng)指示信號(hào))這幾個(gè)引腳并不需要與TMS320DM642連接, 只需要將TVP5150APBS的INTERQ引腳與TMS320DM-642的VPOCTL0引腳連接起來(lái)。
1.5.2 視頻輸出模塊設(shè)計(jì)
在系統(tǒng)設(shè)計(jì)中,視頻輸出模塊中的視頻編碼芯片選用的是Philips公司的SAA7105H,它同時(shí)具有SDTV(標(biāo)準(zhǔn)清晰度電視)和HDTV(高清晰度電視)信號(hào)編碼能力,可以廣泛用于視頻輸出的設(shè)計(jì)中。視頻輸出模塊的電路如圖6所示。
從圖6中可知,將DM642的VP2端口配置成視頻輸出端口。由于VP2端口的數(shù)據(jù)線與SAA710SH的數(shù)據(jù)線相互錯(cuò)位,因此這會(huì)造成無(wú)法正常顯示視頻輸出。為了解決這個(gè)問(wèn)題,在將VP2端口配置成ITU-R BT.656視頻輸出時(shí),數(shù)據(jù)就會(huì)從VP2 A通道的VPD02-VP2D09輸出,VP2D00-VP2D 01則輸出無(wú)效,因此就需要將VP2D02-VP2D09這8根數(shù)據(jù)線連接到SAA7105H的PD0-PD7對(duì)應(yīng)的引腳。這樣VP2D10-VP2D19在視頻回放中就沒(méi)有使用。
SAA7105H將從DM642端傳送來(lái)的PC信號(hào)轉(zhuǎn)化為PAL制式(50 Hz)或者是NISC制式(60 Hz)送到外部TV端輸出。SAA7105H默認(rèn)為休眠狀態(tài),在休眠過(guò)程中HC總線仍然可以接受來(lái)自DM642的命令。當(dāng)SAA7105H的3個(gè)數(shù)模轉(zhuǎn)換器視頻輸出與外部TV相連接時(shí),SAA7105H能夠自動(dòng)檢測(cè)到數(shù)模轉(zhuǎn)換器接口的阻抗變化,然后通過(guò)芯片的TVD(電視信號(hào)檢測(cè))引腳向TMS320DM642發(fā)出中斷請(qǐng)求,表明外部有播放要求。此時(shí),DM642就會(huì)通過(guò)IIC總線來(lái)配置SAA7105H的內(nèi)部寄存器,激活還處于休眠狀態(tài)的SAA7105H,開(kāi)始進(jìn)行本地視頻的播放。
在視頻輸出模塊中,SAA7105H的HSVGC(水平同步輸出)、VSVGC(垂直同步輸出)、FSVGC(幀同步輸出)分別于TMS320DM642端口的VP2CTL0、VF2CTL1以及VP2CTL2這3個(gè)引腳相連。SAA7105H的輸出方式可以有RGB格式、CVBS(混合視頻)格式、S-Video格式以及VGA格式等幾種。其輸出方式的選擇通過(guò)SAA7105H的應(yīng)用子地址來(lái)控制。
1.6 以太網(wǎng)接口設(shè)計(jì)
以太網(wǎng)接口設(shè)計(jì)中的以太網(wǎng)處理芯片采用Intel公司的LXT97lA,它符合IEEE標(biāo)準(zhǔn),直接支持10 Mbps和100Mbps的雙絞線應(yīng)用,也可以支持100 Mbps的光纖接口。LXT971A與DM642的連接示意圖如圖7所示,在以太網(wǎng)模塊中還需要用到網(wǎng)絡(luò)變壓器和RJ-45以太網(wǎng)連接器。
1.7 報(bào)警電路設(shè)計(jì)
系統(tǒng)的報(bào)警電路結(jié)構(gòu)比較簡(jiǎn)單,它由驅(qū)動(dòng)電路與蜂鳴器構(gòu)成,驅(qū)動(dòng)電路與DSP的一個(gè)GPIO引腳連在一起,電路如圖8所示。
從圖8中可以看出,當(dāng)GP10輸出高電平(通知報(bào)警)時(shí),三極管的集電極和發(fā)射極之間將視為短接,從而驅(qū)動(dòng)蜂鳴器發(fā)聲報(bào)警,系統(tǒng)設(shè)計(jì)中采用的是有源蜂鳴器來(lái)進(jìn)行報(bào)警。
2 系統(tǒng)調(diào)試
2.1 Flash的調(diào)試
Flash調(diào)試的步驟如下:
1)配置寄存器,F(xiàn)lash的基地址是0x90000000,共有512個(gè)扇區(qū),每個(gè)扇區(qū)有4 K字節(jié),F(xiàn)lash的大小為2M字節(jié)。將Flash的空間映射到TMS320D-M642的存儲(chǔ)器空間內(nèi);
2)進(jìn)行Flash的擦除操作;
3)判斷擦除操作是否結(jié)束。Flash的DQ6位和DQ7位都可以用來(lái)判斷擦除是否結(jié)束,這里采用的是DQ7位。在內(nèi)部擦除操作過(guò)程中,讀出的DQ7的值是“0”,一旦內(nèi)部擦除操作完成,DQ7的值就會(huì)變化為“1”;
4)開(kāi)始Flash的寫(xiě)操作和讀操作。
可以通過(guò)CCS的Memory窗口可以觀察Flash的寫(xiě)入是否正確。讀出的數(shù)據(jù)和寫(xiě)入的數(shù)據(jù)經(jīng)過(guò)對(duì)比后無(wú)誤,說(shuō)明系統(tǒng)的Flash工作正常。
2.2 SDRAM的調(diào)試
兩塊SDRAM芯片MT48LC4M3282的片選信號(hào)是與TMS320DM642的引腳接在一起的,因此SDRAM的基地址是Ox800000000。在測(cè)試SDRAM時(shí),從SDRAM的基地址開(kāi)始,長(zhǎng)度為32 M字節(jié)。在編程時(shí)向SDRAM中寫(xiě)入數(shù)據(jù)。然后再讀出數(shù)據(jù),將讀出的數(shù)據(jù)與寫(xiě)入的數(shù)據(jù)進(jìn)行對(duì)比,測(cè)試后對(duì)比無(wú)誤,說(shuō)明系統(tǒng)的SDRAM工作是正常的。
2.3 靜態(tài)圖像的采集
在圖像采集中用到的是TMS320DM642的VP0口,需要一個(gè)CCD攝像頭。采集到的靜態(tài)圖像通過(guò)CCS的View功能來(lái)顯示。
視頻解碼芯片TVP5150APBS的IIC地址設(shè)置為0xB8。另外,在程序中還需要對(duì)TVP5150APBS相關(guān)的寄存器進(jìn)行必要的設(shè)置以滿足系統(tǒng)的要求。編寫(xiě)圖像采集程序,TVP5150APBS能夠?qū)崟r(shí)采集圖像。程序在CCS中經(jīng)過(guò)編譯、運(yùn)行后采集到的圖像如圖9所示。
2.4 視頻顯示的調(diào)試
視頻顯示模塊主要是在圖像采集的基礎(chǔ)上實(shí)現(xiàn)VGA制式視頻圖像的實(shí)時(shí)顯示。在調(diào)試過(guò)程中需要編寫(xiě)視頻接口的顯示驅(qū)動(dòng)程序以及整個(gè)視頻顯示通道的調(diào)試程序,還需要對(duì)視頻編碼芯片SAA7105H的寄存器進(jìn)行設(shè)置。視頻輸出信號(hào)通過(guò)VGA接口連接到顯示器上,這里采用的是電腦顯示器。調(diào)試程序經(jīng)過(guò)編譯、運(yùn)行后,會(huì)將TVP5150APBS采集到的圖像通過(guò)SAA7105H送到顯示器實(shí)時(shí)顯示出來(lái),如圖10所示。
2.5 報(bào)警模塊的調(diào)試
在調(diào)試時(shí)通過(guò)編程將GP10引腳設(shè)置為“1”,即給報(bào)警電路輸入一個(gè)報(bào)警信號(hào),此時(shí)蜂鳴器將會(huì)發(fā)聲報(bào)警。
2.6 以太網(wǎng)模塊的調(diào)試
以太網(wǎng)模塊的調(diào)試主要是測(cè)試EMAC與MDIO的配置及使用,以及如何配置一個(gè)PHY設(shè)備和CSL庫(kù)中關(guān)于網(wǎng)絡(luò)接口部分程序的應(yīng)用。在調(diào)試過(guò)程中,是采用自閉環(huán)的方式來(lái)完成的。
將系統(tǒng)板上的RJ-45網(wǎng)絡(luò)接口用網(wǎng)線和局域網(wǎng)連在一起,在調(diào)試中需要用到TI推出的TCP/IP NDK(Network Developer's Kit)開(kāi)發(fā)套件中提供的調(diào)試程序。程序運(yùn)行后,系統(tǒng)板可以和局域網(wǎng)中的電腦正確地進(jìn)行數(shù)據(jù)傳輸,說(shuō)明系統(tǒng)的以太網(wǎng)模塊是可以正常工作的。
3 結(jié)束語(yǔ)
系統(tǒng)研究并實(shí)現(xiàn)了一個(gè)通用的基于DM642的視頻處理系統(tǒng)。該系統(tǒng)已經(jīng)調(diào)試成功,它可以完成視頻信號(hào)的輸入與輸出,可以應(yīng)用于視頻圖象采集和處理的各種場(chǎng)合中。系統(tǒng)還擴(kuò)展了一個(gè)網(wǎng)口,可以方便地與外界通信。與傳統(tǒng)的視頻處理系統(tǒng)相比,該系統(tǒng)在視頻輸出方式上更趨多樣化,視頻輸出接口既可以接到電視機(jī)上,也可以與PC機(jī)的顯示器相連接,彌補(bǔ)了以往接口單一的缺陷。系統(tǒng)新增的報(bào)警功能增強(qiáng)了系統(tǒng)的實(shí)用性。下一步研究的方向是對(duì)該系統(tǒng)做進(jìn)一步的完善,比如可以增加USB接口,擴(kuò)展系統(tǒng)的應(yīng)用范圍,將蜂鳴器報(bào)警改為語(yǔ)音報(bào)警等。最后,在此系統(tǒng)上研究各種算法,比如視頻壓縮算法、圖像處理算法等,這樣它可以應(yīng)用于視頻會(huì)議、交通、監(jiān)控等諸多領(lǐng)域,具有廣泛的應(yīng)用前景。