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