摘 要:DM642是TI公司推出的一款專門用于視頻處理的DSP芯片,它是基于C6000系列的芯片,增加了很多外圍設(shè)備和接口,具有高速運算能力,在多媒體領(lǐng)域得到了廣泛應(yīng)用。本文主要分析和介紹了以DM642為核心的雙路視頻合成硬件系統(tǒng)的工作原理和主要功能模塊。
關(guān)鍵詞:視頻合成 DM642 功能模塊
中圖分類號:TU7\t\t\t文獻(xiàn)標(biāo)識碼:A\t\t\t文章編號:1672-3791(2011)10(a)-0015-02
1 視頻合成技術(shù)
視頻合成技術(shù)是圖像處理方面的一個重要應(yīng)用,它將一個圖像的多個狀態(tài)或者多幅不同圖像進(jìn)行合成,來實現(xiàn)虛擬面板、圖像疊加、模擬場景、圖像優(yōu)化等效果。多路視頻合成顯示技術(shù)是將通過多個途徑(如攝像機(jī)、PC機(jī)、網(wǎng)絡(luò)等),采集而來的視頻信號進(jìn)行處理,并按照實際所需進(jìn)行顯示。本硬件系統(tǒng)是雙路視頻合成系統(tǒng),視頻信號來源于攝像頭。
2 系統(tǒng)工作原理
如圖1所示,從CCD攝像頭得到的兩路視頻信號經(jīng)過視頻解碼器解碼,DM642通過I2C總線控制解碼器的工作模式和工作狀態(tài),使解碼器把視頻信號解碼為DM642可以處理的數(shù)據(jù)格式,然后兩路視頻信號分別從vp0、vp1兩個視頻端口輸入到DM642中。由DM642對兩路視頻信號進(jìn)行處理,處理程序可由計算機(jī)通過JTAG口下載到FLASH中。采集到的視頻數(shù)據(jù)通過EMIF用EDMA送到擴(kuò)展出來的SDRAM中,對數(shù)據(jù)進(jìn)行存儲。因為DM642的兩級緩存的空間不能滿足大數(shù)據(jù)量的存取,它的空間不夠,所以要先把視頻數(shù)據(jù)存到SDRAM中,再對數(shù)據(jù)進(jìn)行處理。然后經(jīng)過處理的視頻數(shù)據(jù)通過vp2視頻端口輸出到視頻編碼器,DM642通過I2C總線控制編碼器將視頻信號編碼為顯示設(shè)備支持的數(shù)據(jù)格式。最后系統(tǒng)將視頻信號輸出。[1]
3 系統(tǒng)結(jié)構(gòu)
雙路視頻合成硬件系統(tǒng)主要包括四個模塊:視頻采集模塊、視頻輸出模塊、DSP視頻處理模塊和FLASH模塊。視頻采集模塊主要用于對視頻信號的解碼,把解碼后的數(shù)據(jù)送到DSP進(jìn)行數(shù)據(jù)處理。視頻輸出模塊把經(jīng)過DSP處理的數(shù)據(jù)編碼輸出到顯示設(shè)備。DSP視頻處理模塊是整個硬件系統(tǒng)的核心,它的主要工作是把經(jīng)過解碼的兩路視頻數(shù)據(jù)進(jìn)行合成處理并送到視頻輸出模塊等待輸出。FLASH模塊用于存儲程序,DSP啟動加載。各模塊詳細(xì)情況如下。
3.1 視頻采集模塊
視頻采集模塊主要由兩個CCD攝像頭、兩塊視頻解碼器組成。視頻采集模塊的核心是視頻解碼芯片,由于CCD攝像頭輸出信號為模擬信號,DM642不能直接處理,因此采用Philips公司的9位視頻解碼器——SAA7115將模擬視頻信號解碼。SAA7115可提供2×過采樣數(shù)模轉(zhuǎn)換,信噪比為10dB~15dB,SAA7115是同類產(chǎn)品中視頻解碼性能最好的產(chǎn)品。SAA7115的輸入晶體振蕩器頻率為24.576MHz,實際工作頻率為13.5MNz。在PAL標(biāo)準(zhǔn)下,一行最多可采集720個點(不包括行消隱信號),一幀最多采集625行(包括場消隱信號)。SAA7115配置為:采用4∶2∶2 YUV信號機(jī)制,4∶2∶2 YUV信號從IPD[7∶0]輸出直接連接到DM642視頻口的VP0[9..2]管腳;另一路經(jīng)過同步分離器,由數(shù)字PLL產(chǎn)生相應(yīng)的同步信號與DM642的VP0CTL0和VP0CTL1相連,同時PLL驅(qū)動時鐘發(fā)生器,產(chǎn)生27MHz的時鐘同步信號LLC,輸出到DM642的VP0CLK0管腳。SAA7115與DM642視頻接口原理圖如圖2所示。
另一塊SAA7115解碼芯片與DM642的VP1口的原理同上。所有這些功能均在I2C總線控制下完成。SCL作為I2C接口的時鐘線與DM642的SCL相連,SDA作為I2C接口的數(shù)據(jù)線與DM642的SDA相連。通過SCL和SDA的時序配合,可由DM642向SAA7115的寄存器寫入數(shù)據(jù)或讀出數(shù)據(jù)。
3.2 DSP視頻處理模塊
TMS320DM642是TI公司于2003年左右推出的一款32位定點DSP芯片,主要面向數(shù)字媒體,屬于C6000系列DSP芯片。DM642采用TI公司第二代增長型超長指令集(VelociTI.2),它的EMIF接口數(shù)據(jù)總線寬度為64位,最高數(shù)據(jù)存取頻率133MHz,可直接與大容量、低成本的SDRAM芯片無縫連接。DM642片上帶有3個雙通道數(shù)字視頻口,可同時處理多路數(shù)字視頻流,片上帶有多通道串行音頻接口,可同時處理4路立體聲輸入/輸出音頻信號。DM642有64個獨立通道的EDMA控制器,可用于在主線程之外開辟新的線程以實現(xiàn)片內(nèi)/外的數(shù)據(jù)傳送和復(fù)制。DM642使用標(biāo)準(zhǔn)的I2C總線接口,可以實現(xiàn)對可編程AD/DA芯片的初始化設(shè)置。DM642有自己的匯編語言指令系統(tǒng),也有C語言高級編譯器,程序員可以用C語言編程,通過編譯器,將程序匯編、連接成DSP目標(biāo)代碼。DM642具有極強(qiáng)的處理能力、高度的靈活性和可編程性,同時外圍集成了非常完整的音頻、視頻和網(wǎng)絡(luò)通信設(shè)備及接口,適合本硬件系統(tǒng)。[2]
本模塊的設(shè)置大致分為時鐘、片內(nèi)外設(shè)的選擇、視頻口初始化、I2C和EMIF5個部分。時鐘部分使用50MHz的外部時鐘網(wǎng)絡(luò)和12X的片內(nèi)鎖相環(huán)倍頻系數(shù),將DSP的主頻配置為600MHz。對主頻6分頻后得到EMIF時鐘,SDRAM工作頻率為100MHz。I2C時鐘頻率應(yīng)在7MHz~12MHz中選值,設(shè)定為10MHz。片內(nèi)外設(shè)通過外設(shè)寄存器PERCFG進(jìn)行配置,使能VP口、I2C和音頻口。視頻處理模塊的核心是DM642,DSP工作方式為Little Endian,BOOT方式使用8位的ROM BOOT。VP部分和I2C部分的設(shè)計是相關(guān)聯(lián)的,因為VP口的視頻信息是通過I2C總線來實現(xiàn)與AD模塊和DA模塊的通信的。使用I2C總線的SCL、SDA進(jìn)行數(shù)據(jù)傳輸和通信控制,可利用I2C總線的標(biāo)準(zhǔn)性、通信性和可編程性。EMIF部分,配置EMIF全局控制寄存器控制時鐘輸出,根據(jù)SDRAM和Flash的讀寫時序配置CE0和CE1空間的控制寄存器。外接的FLASH放置BOOT內(nèi)容和系統(tǒng)程序,外接SDRAM擴(kuò)展數(shù)據(jù)存儲空間。[3]
3.3 視頻輸出模塊
視頻輸出模塊包括視頻解碼器和視頻顯示設(shè)備,其中視頻解碼器是本模塊的核心。經(jīng)過DM642處理的圖像數(shù)據(jù)都是數(shù)字的,通過工作在Video Display模式下的視頻口VP2向SAA7121的MP口輸出BT.656格式的數(shù)字視頻信號,經(jīng)過SAA7121芯片內(nèi)部數(shù)據(jù)管理模塊分離出Y信號和Cb,Cr信號;然后再送到片內(nèi)相應(yīng)的數(shù)/模轉(zhuǎn)換模塊將數(shù)字信號變換為模擬視頻信號;最后由CVBS(復(fù)合視頻信號)或Y,C(S為端子信號)引腳輸出。SAA7121的時鐘信號LLC為27MHz,由DM642的VPOCLK1提供。DM642通過I2C接口對SAA7121芯片內(nèi)部的48個寄存器進(jìn)行配置,實現(xiàn)對該芯片的控制。如圖3所示。
4 FLASH模塊
在本系統(tǒng)中,F(xiàn)LASH模塊主要用于程序的存儲和DSP的啟動加載。DM642片內(nèi)不帶FLASH或EEPROM,系統(tǒng)掉電后DM642存儲器中的數(shù)據(jù)和程序?qū)⑷肯В訢M642外部通常需要擴(kuò)展FLASH存儲器。FLASH存儲器通過DM642的EMIF接口擴(kuò)展。因為DM642的EPROM BOOT模式只支持8bit,而且也只支持EMIF的CE1空間,所以要采用8bit的FLASH并掛在DM642的CE1空間。本硬件系統(tǒng)選用AM29LV033C芯片。AM29LV033C芯片是AMD公司提供的一種Flash存儲芯片,容量為4M×8位。該款Flash芯片的數(shù)據(jù)存儲速度可以達(dá)到70ns,也是一種低功耗芯片,在1MHz、5MHz和睡眠模式下的電流消耗分別為2mA、10mA和200mA。
由于AM29LV033C芯片的地址線有22條A[21∶0],但DM642的地址線只有19條AEA[22∶3],DM642不能遍歷FLASH芯片的所有地址單元。為了解決這一問題,我們引入CPLD器件,把FLASH芯片的引腳A[221∶19]與CPLD器件的輸入/輸出引腳連接,通過A[21∶19]把FLASH存儲區(qū)的64個扇區(qū)劃為8頁,每頁包括8個扇區(qū)。DM642通過操作CPLD中控制A[21∶19]的寄存器來實現(xiàn)遍歷FLASH芯片所有地址單元的任務(wù)。[2]
在TMS320C6000系列DSP的系統(tǒng)設(shè)計過程中,DSP器件的啟動加載設(shè)計是較難解決的問題之一。C6000系列DSP的啟動加載方式包括不加載、主機(jī)加載和EMIF加載3種,比較常用的是EMIF加載方式。EMIF加載方式把DM642通過EMIF接口與外部FLASH連接起來,視頻處理用到的程序都JTAG接口下載到FLASH中,系統(tǒng)工作時DM642從FLASH中提取程序,但是DM642片上Bootloader工具只能自動搬移1K的代碼量,而FLASH中的程序量一般都會超過1K。所以,需要在外部FLASH的前1K范圍內(nèi)預(yù)先存放一小段程序,待片上Bootloader工具把此代碼搬移到DM642內(nèi)部并開始執(zhí)行后,由這段代碼實現(xiàn)將FLASH中剩余的程序搬入DM642內(nèi)部,此段代碼可以看作一個簡單的二級Bootloader。使用二級BootLoader時的CPU流程圖如圖4所示。[4]
5 結(jié)語
本文主要介紹了基于DM642的雙路視頻合成硬件系統(tǒng)的結(jié)構(gòu)、原理和方案。采用了針對多媒體應(yīng)用開發(fā)的專用媒體處理芯片DM642,該芯片配有豐富的外設(shè)接口,減小了硬件系統(tǒng)設(shè)計的復(fù)雜度,提高了系統(tǒng)的性價比,由于DM642的高速運算能力,系統(tǒng)具有很高的實時性。另外該系統(tǒng)具有較強(qiáng)的擴(kuò)展性,在此基礎(chǔ)上添加一些其他功能即可應(yīng)用于交通、監(jiān)控等諸多領(lǐng)域。
參考文獻(xiàn)
[1]\t趙建偉,尹崗.基于DM642的數(shù)字圖像采集小系統(tǒng)[J].兵工自動化,2006,25(5):74~77.
[2]\t王躍宗,劉京會.TMS320DM642 DSP應(yīng)用系統(tǒng)設(shè)計與開發(fā)[M].北京:人民郵電出版社,2009.
[3]\t劉瓊,安濤,金剛,等.基于DM642視頻采集處理系統(tǒng)硬件設(shè)計[J].微計算機(jī)信息,2007(23):180~182.
[4]\t郭慰萱,郭寶龍.基于DM642的視頻處理系統(tǒng)設(shè)計與實現(xiàn)[J].電子工程,2009,17(1):79~81.