【摘要】 本文采用TI公司的DAVINCI系列TMS320DM6446芯片為核心設計出一套視頻處理系統。該系統通過對輸入進來的模擬視頻進行A/D轉換,然后通過DSP端進行壓縮處理,從而實現實時傳輸和大容量的存儲。
【關鍵詞】 DAVINCI 視頻處理 TMS320DM6446
一、TMS320DM6446的介紹
TMS320DM6446是TI公司DAVINCI系列的一款雙核處理器芯片,ARM處理器采用的是ARM926EJ-S核,工作頻率為297MHZ,DSP處理器采用的是c64X+,工作頻率為597MHZ,運算性能達到4800MIPS.該芯片的內部結構為一個ARM子系統和一個DSP子系統,另外還有一個VPSS,以及一些外圍設備。在DM6446中ARM主要負責DSP、VPSS子系統,以及大部分外圍設備和存儲器的配置和控制。而DSP主要是用作數據的處理,如音視頻的編解碼。DSP有8個功能單元組成,一共有32位的寄存器,它們組合一起完成所有的邏輯運算和將運算的結果裝載到寄存器以及把寄存器的結果再存進存儲器中。其內核結構如圖1所示:
二、視頻處理系統硬件模塊的設計
該視頻處理系統按以下結構進行劃分。一,視頻處理前端。二,網絡傳輸模塊設計。三,視頻處理后端。視頻處理前段主要是模擬攝像頭采集到的視頻通過BNC接頭傳輸到系統的解碼芯片,然后把解碼后的數據傳輸到系統的輸入端口。網絡傳輸是DM6446內部集成了EMAC(以太網媒體訪問控制器),再通過以太網物理傳輸器后,能夠方便的進行網絡傳輸,系統升級,網絡訪問。視頻處理后端主要有視頻編碼器,DSP對數據的相關運算,以及圖像顯示模塊(OSD)on screen display ,圖像存儲。整個系統的運作流程為:將輸入的模擬視頻信號通過TVP5158芯片進行A/D轉換并且直接送到VPFE(視頻處理前端),系統采用一個256M的32位的DDR與DM6446的DDR相連,DDR的起始地址設置為0X80000000。DDR內存控制器通過專有總線連接到中央交換網絡(SCR),這樣可以滿足DM6446的各子模塊對DDR進行訪問。另外DM6446通過外接硬盤可以進行壓縮后的視頻進行存儲。結構如圖2所示:
三、視頻處理系統軟件的架構
視頻處理系統的軟件部分;我們將其分為以下部分:(1)開發環境的搭建;(2)UBL的移植;(3)UBOOT的移植;(4)操作系統的移植;(5)雙核通信環境的搭建和視頻編解碼實例的實現。
第一步開發環境搭建需要LINUX下的軟件工具包如下,(1)VMware-workstation;(2)RedHat Enterprise Linux Server5;(3)mvl_5_0_0801921_demo_sys_setuplinux.bin;(4)mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin;(5)dvsdk_setuplinux_2_00_00_22.bin;(6)bios_setuplinux_5_33_06.bin;(7)xdctools_setuplinux_3_10_03.bin(8)ti_cgt_c6000_6.0.23_setup_linux_x86.bin 。DSP開發工具:1)CCS3.3;)bios_setupwin32_5_33_06.exe;
第二步為UBL的移植。UBL的移植是uboot從NANDFLASH中啟動的前提,因為RBL只支持14k的NANDFLASH的啟動程序,而一般編譯生成uboot.bin文件大于80K,所以UBL的作用是從NANDFALSH中讀取程序,然后將其copy到DDR2的相關地址上,然后給UBOOT啟動成功。
第三步為UBOOT的移植。這里我們采用的是u-boot-1.3.4,第一步將其進行裁剪,刪除與我們自己的開發平臺不相關的文件和文件夾。第二部進行鏈接交叉編譯環境。修改頂層的MAKEFILE文件。第三步移植板子的驅動和相關的配置。
第四步為操作系統的移植。該視頻處理系統移植的是TI DAVINCI的最新內核montavista linux-2.6.18。同樣也可以分為以下幾步完成:第一步簡化montavista linux-2.6.18,把不相關的平臺刪除。第二步:建立交叉編譯環境。如修改頂層的makefile文件,COPY UBOOT 的mkimage工具,添加mkzImage.sh,修改arch/arm/boot/Makefile:
對于該視頻分析系統,我們首先需要DSP工程師利用CCS開發自己的視頻編解碼算法,編譯生成一個編解碼算法的庫文件*.lib,然后生成一個生成一個再DSP上運行的可執行程序*.x64p(即.out文件)也就是DSP Server.第三步,根據DSP Server的名字及其中包含的具體的視頻編解碼算法創建Codec Engine配置文件*.cfg。最后,應用工程師收到不同的CODEC包,DSP Server 和Engine配置文件*.Cfg,把自己的應用程序通過編譯,鏈接,最終生成ARM側可執行文件。
第五步為視頻編解碼在視頻處理系統上的實現,首先設置好啟動參數(MEM=120),啟動后使其掛載上NFS(網絡文件系統)。復制apps/system_files/
app/sanity_test/
app/sanity_test/
然后,啟動系統,在我們拷貝文件的目錄下,運行loadmodules.sh命令,app.out,命令。可以對視頻進行編解碼處理。
總結:本文采用TMS320DM6446完成了視頻處理系統的設計,并且可以實現D1標準的視頻采集,存儲,實時壓縮。它的性能與傳統視頻監控方式(PC機加采集卡)相比,更加穩定,功耗低,易于存儲大量的視頻數據,并且成本低。進一步可以再視頻處理系統的基礎上,移植智能監控算法,比喻車牌檢測,人臉識別,遺留物檢測,并且增加報警功能。從而真正實現智能視頻監控。
參 考 文 獻
[1] Texas Instruments Incorporated. TMS320DM6446 Digital Media System,2007-03-05
[2] Texas Instruments Incorporated.Build/Run Instructions For Codec Engine Examples Last updated April21,2009
[3] Texas Instruments Incorporated.DVEVM TMS320DM6446 DVEVM v2.0 Getting Started Guide,Literature Number:SPRUE66 March 2006