多媒體處理器DM642及其在視頻監(jiān)控中的應(yīng)用
DM642的片內(nèi)內(nèi)存
本文引用地址:http://butianyuan.cn/article/83036.htmDM642有256kbit/s的片內(nèi)內(nèi)存,對(duì)于直接處理圖像數(shù)據(jù)還是很有限的。如MPEG-4算法一般至少要存儲(chǔ)當(dāng)前待編碼幀數(shù)據(jù)和上一幀的重建幀數(shù)據(jù),一幀YUV4∶2∶0格式CIF圖像的數(shù)據(jù)約有150kB,256kB,內(nèi)存對(duì)于CIF 圖像就不夠了。對(duì)于DM642,數(shù)據(jù)如果放在板卡上的片外內(nèi)存中, 數(shù)據(jù)的處理速度會(huì)大大降低,這是因?yàn)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/DSP">DSP對(duì)于片外數(shù)據(jù)的運(yùn)算要慢得多。我們一般采取的方案是對(duì)圖像以宏塊為單位處理,只將運(yùn)算時(shí)該宏塊需要的數(shù)據(jù)導(dǎo)入片內(nèi), 其他數(shù)據(jù)留在片外,這樣的數(shù)據(jù)量就足夠放在片內(nèi)了。
充分利用DM642的DMA通道
DSP直接訪(fǎng)問(wèn)內(nèi)存會(huì)造成等待, 浪費(fèi)大量不必要的時(shí)鐘周期。幸好DM642有強(qiáng)大的DMA能力,因此我們可以在處理當(dāng)前宏塊數(shù)據(jù)時(shí), 將下一個(gè)宏塊的數(shù)據(jù)通過(guò)DMA倒入片內(nèi),當(dāng)處理完當(dāng)前宏塊的時(shí)候,下一個(gè)宏塊的數(shù)據(jù)就已經(jīng)準(zhǔn)備好了,這樣可以極大提高DSP的利用率。但具體實(shí)現(xiàn)的時(shí)候需要對(duì)DMA啟動(dòng)的時(shí)機(jī)進(jìn)行仔細(xì)的考慮,在數(shù)據(jù)訪(fǎng)問(wèn)不沖突的情況下盡量提前。
DM642的兩級(jí)Cache
L1和L2組成了DM642的兩級(jí)緩存。L1距離DSP核最近,數(shù)據(jù)訪(fǎng)問(wèn)速度最快,只能作為不能尋址的Cache使用,由相互獨(dú)立的LIP和LID組成;LIPCache大小為16kB,直接映射,每行大小為32B;LID Cache大小16kB,2路映射,每行大小為64B。L2是L1和外存儲(chǔ)器的中間層,容量較大,有256kbit/s,是統(tǒng)一的存儲(chǔ)空間,即可同時(shí)存儲(chǔ)程序和數(shù)據(jù)。L2可作為SRAM映射到存儲(chǔ)空間使用,也可整體作為第二級(jí)Cache,或是作為二者按比例的一種組合混合使用。L2作為SRAM使用時(shí),即是DM642的片內(nèi)內(nèi)存,從整個(gè)系統(tǒng)地址空間的起始地址0x00000000開(kāi)始編址,當(dāng)作為Cache使用時(shí),4路映射,每行大小為128B,容量在32-56kB 之間。在實(shí)際開(kāi)發(fā)過(guò)程中要充分利用Cache,總的原則是將盡量多的關(guān)鍵數(shù)據(jù)分配在片內(nèi),Cache越大越好,對(duì)于不同的應(yīng)用需要用不同的配置。最優(yōu)配置需要在開(kāi)發(fā)中根據(jù)經(jīng)驗(yàn)和實(shí)際的測(cè)試結(jié)果進(jìn)行選擇。
視頻監(jiān)控實(shí)例
下面介紹一個(gè)基于DM642的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),如圖2所示。需要以下硬件:DM642、射像頭、Philips公司的視頻解碼芯片SA A 7115、Intel公司的LXT971ALC芯片(PHY)以及外圍的RJ45接口、SDRAM和Flash存儲(chǔ)器。由攝像頭采集的模擬視頻信號(hào)經(jīng)SAA7115模數(shù)轉(zhuǎn)換后,形成YUV4∶2∶0格式的數(shù)字視頻信號(hào),從DM642視頻端口輸入;由基于DM642的軟件編碼器編碼壓縮處理(軟件編碼器可采用H.263,H.264,MPEG-2,MPEG-4和M-JPEG等各種現(xiàn)有的或?qū)?lái)的視頻編碼標(biāo)準(zhǔn)),編碼壓縮生成的視頻碼流數(shù)據(jù),打包后通過(guò)RJ45口經(jīng)以太網(wǎng)傳送到遠(yuǎn)端目的地,完成網(wǎng)絡(luò)視頻通信和監(jiān)控。經(jīng)DM642的MAC接口,在網(wǎng)絡(luò)傳輸?shù)耐瑫r(shí),視頻信號(hào)可由視頻端口2經(jīng)視頻編碼芯片數(shù)模轉(zhuǎn)換后輸出模擬視頻信號(hào)到監(jiān)視器進(jìn)行本地回顯。
通過(guò)DM642的EMIF接口,可連接SDRAM和Flash存儲(chǔ)器(SDRAM擴(kuò)展了系統(tǒng)的可用存儲(chǔ)空間,系統(tǒng)的初始化代碼和配置信息則存儲(chǔ)到Flash中)。此外DM642的視頻端口通過(guò)視頻解碼芯片SAA7115能很方便地實(shí)現(xiàn)和攝像頭的無(wú)縫連接,視頻端口0和1可分別獲取兩路視頻輸入,根據(jù)應(yīng)用需要,可靈活地設(shè)置單路或多路視頻輸入。
結(jié)束語(yǔ)
由上述介紹可以看到,DM642是一個(gè)強(qiáng)大的多媒體處理器,是構(gòu)成多媒體通信系統(tǒng)的良好的平臺(tái)。它的豐富的外圍接口使得它近乎是一個(gè)多媒體嵌入式系統(tǒng)的單芯片硬件平臺(tái);它的完全可編程性, 又可以使得它能夠兼容正在發(fā)展的各種多媒體信號(hào)處理標(biāo)準(zhǔn), 構(gòu)成通用的軟件平臺(tái)。這些特性必將使得它得到廣泛的應(yīng)用。
評(píng)論