面向便攜高清視頻應(yīng)用DaVinci DM355處理器
TI的DaVinci解決方案可以面向廣闊的數(shù)字視頻應(yīng)用,這些應(yīng)用中許多都是現(xiàn)在很熱門(mén)的產(chǎn)品,包括個(gè)人媒體播放器、數(shù)碼相機(jī)、數(shù)碼相框、IP網(wǎng)絡(luò)攝像機(jī)、視頻嬰兒監(jiān)視器等等(如圖1所示),所有這些應(yīng)用都要求低功耗、便攜式和高清視頻。
TMS320DM355處理器概述
TMS320DM355處理器是TI推出的面向便攜高清視頻應(yīng)用的新型低成本DaVinci平臺(tái),其內(nèi)部結(jié)構(gòu)如圖2所示。DM355可以實(shí)現(xiàn)720P高清MPEG-4編碼或解碼,支持30fps實(shí)時(shí)處理,編碼解碼能力可達(dá)每秒5000萬(wàn)像素。其內(nèi)核包含了頻率為216 MHz或270 MHz的ARM926EJ-STM、MJCP協(xié)處理器,及包含有前端和后端的視頻處理子系統(tǒng),可支持CCD控制器預(yù)覽、圖像縮放。此外,ARM端有16 KB指令高速緩存、8 KB數(shù)據(jù)高速緩存、8 KB ROM以及32 KB程序/數(shù)據(jù)緩存。外設(shè)包括:USB2.0 HS OTG設(shè)備與迷你主機(jī)物理接口,可連接DDR/DDR2的外部存儲(chǔ)器接口(EMIF)。封裝為329引腳,0.65 mm間距的13×13 mmBGA。
集成式MJCP相當(dāng)于400 M的DSP,將包含有前端和后端的視頻處理子系統(tǒng)稱為VPSS,其預(yù)覽處理引擎的等效DSP相當(dāng)于90 M,圖像縮放等效為60 M,OSB等效為90 M,因此整體相當(dāng)于240 M的處理能力,而VPSS+MJCP可以提供相當(dāng)于640 M DSP處理能力,并針對(duì)OEM產(chǎn)品差異化提供ARM,以實(shí)現(xiàn)整體系統(tǒng)的控制,也可以實(shí)現(xiàn)實(shí)時(shí)操作系統(tǒng)。
|
DM355軟件系統(tǒng)的構(gòu)成
DM355的軟件構(gòu)成如圖3所示,可以看到它包括三個(gè)層次:應(yīng)用層、I/O層和信號(hào)層。應(yīng)用層和信號(hào)層通過(guò)VISA API連接在一起,VISA是TI視頻、影像、語(yǔ)音和音頻構(gòu)成的軟件庫(kù)。應(yīng)用層和I/O層通過(guò)EPSI API連接,即簡(jiǎn)單外設(shè)的軟件接口。接口中應(yīng)用層包括用戶接口和處理線層,I/O接口包括VPSS視頻前端(VPFE)與視頻后端(VPBE),IIC,ASP,UART接口以及以太網(wǎng)接口(EMAC)。軟件底層建立于操作系統(tǒng)層MontaVista Linux。
TI針對(duì)DaVinci的軟件開(kāi)發(fā)策略的宗旨是幫助開(kāi)發(fā)人員加快產(chǎn)品開(kāi)發(fā)推向市場(chǎng)的速度,包括編解碼引擎(CODEC Engine)框架和VISA的API驅(qū)動(dòng)軟件。算法在信號(hào)層運(yùn)行,只要這些算法的編寫(xiě)符合x(chóng)DM編碼標(biāo)準(zhǔn),則可以滿足TI認(rèn)可的CODEC Engine的面向目標(biāo)框架。CODEC Engine提供強(qiáng)大的一致性接口,用于動(dòng)態(tài)創(chuàng)建和刪除算法,包括相同或不相同的編碼算法例程,也就是說(shuō)對(duì)于一個(gè)給定的算法例程可以對(duì)其提供或收回存儲(chǔ)器和DMA。由于系統(tǒng)存在一個(gè)中心資源管理器,從而可以實(shí)現(xiàn):系統(tǒng)集成時(shí)避免資源沖突;資源共享,如獲取存儲(chǔ)器和DMA;動(dòng)態(tài)分配資源不足時(shí)提供一致的錯(cuò)誤處理。此外CODEC Engine還提供一個(gè)用于訪問(wèn)和控制每個(gè)算法例程的一致性接口,這意味著同一級(jí)別的算法能夠方便地調(diào)換而不需對(duì)任何應(yīng)用代碼進(jìn)行修改,例如交換音頻解碼1和音頻解碼2。這就是所謂的"繼承性"。接口的一致性允許同樣的應(yīng)用代碼可以跨越不同的平臺(tái)使用,如只含有DSP和只含有ARM或ARM和DSP集成的器件,也允許算法以自己的框架相互操作,只要它們是基于CODEC Engine的。
VISA的API驅(qū)動(dòng)軟件在引擎編解碼的頂部,信號(hào)處理層的復(fù)雜性可以概括為4個(gè)功能:
1. 創(chuàng)建:創(chuàng)建一個(gè)例程。分配所需的存儲(chǔ)器以及初始化算法;
2. 處理:?jiǎn)?dòng)算法。調(diào)用算法處理功能,在緩存中搬移描述符;
3. 控制:用于算法設(shè)計(jì)的改變。算法開(kāi)發(fā)人員可以為用戶提供可控參數(shù);
4. 刪除:從一個(gè)算法中刪除一個(gè)例程。與創(chuàng)建相對(duì),是刪除一個(gè)特定算法例程的存儲(chǔ)器。
如前所述,VISA的API驅(qū)動(dòng)軟件提供四種處理內(nèi)容:視頻、影像、語(yǔ)音和音頻。對(duì)于編碼和解碼有獨(dú)立的API驅(qū)動(dòng)軟件,因此總計(jì)有8個(gè)級(jí)別的API:VIDENC、IMGENC、SPHENC、AUDENC、VIDDEC、IMGDEC、SPHDEC、AUDDEC。
圖4所示的為DM355數(shù)字視頻開(kāi)發(fā)評(píng)估模塊即DVEVM系統(tǒng)框圖,該框圖包含了各種各樣豐富的外圍接口,如:可以與USB連接器相連的USB接口,通過(guò)子卡連接器連接到串口的UART,可以采用TI的TVP5146或Micron的影像視頻傳感器進(jìn)行視頻輸入,DM355的視頻輸出可以連接到THS8200子卡,從而使視頻輸出到高清顯示器和LCD的子卡。標(biāo)準(zhǔn)的外設(shè)有IIC及兩個(gè)音頻串口。可以通過(guò)增加以太網(wǎng)芯片,利用存儲(chǔ)器擴(kuò)展接口EMIF擴(kuò)展以太網(wǎng)接口EMAC。板上還包含了2G的Flash,可與AIC33連接的音頻輸入和輸出、復(fù)合視頻輸入、以及用于視頻捕獲和顯示的復(fù)合視頻輸出。圖5所示的是實(shí)際的DM355評(píng)估板。
|
DM355開(kāi)發(fā)工具
DM355可以使用RidgeRun開(kāi)發(fā),它是TI的第三方工具,圖6列出了4個(gè)不同層次的支持模式:
1. 底層為免費(fèi)的SDK,現(xiàn)可從RigeRun的網(wǎng)站(www.ridgerun.com)免費(fèi)下載,內(nèi)容包括:現(xiàn)有的帶實(shí)時(shí)補(bǔ)丁程序的Linux內(nèi)核,支持uClibc和NPTL庫(kù),開(kāi)源開(kāi)發(fā)和調(diào)試工具。
2. 第二層是開(kāi)發(fā)者SDK,其中有:工具、增加的驅(qū)動(dòng)程序、增加的開(kāi)源應(yīng)用程序、技術(shù)支持服務(wù)。這部分需要付費(fèi)使用。
3. 第三層用于特定應(yīng)用或客戶定制的應(yīng)用,包括支持流媒體應(yīng)用的媒體SDK,支持網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)SDK,支持快速緊湊的用戶接口SDK。
4. 頂層代表了完整的參考應(yīng)用,RigeRun會(huì)提供針對(duì)數(shù)字相片、數(shù)字媒體畫(huà)框、無(wú)線設(shè)備、網(wǎng)絡(luò)設(shè)備的參考方案。這些參考應(yīng)用方案可以支持OEM廠商和產(chǎn)品公司得到將近90%的完整設(shè)計(jì),只有經(jīng)過(guò)配置即可使客戶的產(chǎn)品滿足有特色的要求。
RidgeRun的媒體SDK分為三層,底層是DaVinci SoC,RidgeRun媒體SDK在DanVinci中可以運(yùn)行通用代碼;第二層是TI CODEC Engine,由TI提供,RidgeRun的SDK調(diào)用VISA API層隔離特定的CODEC實(shí)現(xiàn)過(guò)程中的相互影響;最上層為RidgeRun媒體SDK的一個(gè)部分,可為CODEC Engine提供Gstreamer的插入。這個(gè)軟件層可以處理所有的文件類型和I/O處理。
RidgeRun的目標(biāo)是希望幫助客戶快速的進(jìn)入市場(chǎng),所有的Linux內(nèi)核、驅(qū)動(dòng)程序、SDK和應(yīng)用的框架都是可以通過(guò)配置平臺(tái)進(jìn)行配置的,這就允許客戶采用RidgeRun的產(chǎn)品在幾個(gè)小時(shí)或一兩天內(nèi)開(kāi)發(fā)出硬件板,并實(shí)現(xiàn)所有需要的驅(qū)動(dòng)程序、應(yīng)用框架和可配置應(yīng)用。
作為一款低價(jià)位DaVinci平臺(tái),DM355還可以得到MontaVista強(qiáng)有力的支持。開(kāi)發(fā)DM355可以通過(guò)TI遍及全球的DaVinci第三方支持網(wǎng)絡(luò)得到更好的支持,包括兩家Linux伙伴,VCE的合作伙伴以及經(jīng)驗(yàn)豐富的視頻和語(yǔ)音的第三方合作伙伴。第三方合作伙伴還可以提供諸如用戶界面、模塊、瀏覽器等方面的支持。另外還有視頻影像傳感器方面合作伙伴的支持等。因此其支持體系非常全面,第三方支持也非常到位。