【摘要】 本文采用TI公司的DAVINCI系列TMS320DM6446芯片為核心設計出一套視頻處理系統(tǒng)。該系統(tǒng)通過對輸入進來的模擬視頻進行A/D轉(zhuǎn)換,然后通過DSP端進行壓縮處理,從而實現(xiàn)實時傳輸和大容量的存儲。
【關鍵詞】 DAVINCI 視頻處理 TMS320DM6446
一、TMS320DM6446的介紹
TMS320DM6446是TI公司DAVINCI系列的一款雙核處理器芯片,ARM處理器采用的是ARM926EJ-S核,工作頻率為297MHZ,DSP處理器采用的是c64X+,工作頻率為597MHZ,運算性能達到4800MIPS.該芯片的內(nèi)部結(jié)構(gòu)為一個ARM子系統(tǒng)和一個DSP子系統(tǒng),另外還有一個VPSS,以及一些外圍設備。在DM6446中ARM主要負責DSP、VPSS子系統(tǒng),以及大部分外圍設備和存儲器的配置和控制。而DSP主要是用作數(shù)據(jù)的處理,如音視頻的編解碼。DSP有8個功能單元組成,一共有32位的寄存器,它們組合一起完成所有的邏輯運算和將運算的結(jié)果裝載到寄存器以及把寄存器的結(jié)果再存進存儲器中。其內(nèi)核結(jié)構(gòu)如圖1所示:
二、視頻處理系統(tǒng)硬件模塊的設計
該視頻處理系統(tǒng)按以下結(jié)構(gòu)進行劃分。一,視頻處理前端。二,網(wǎng)絡傳輸模塊設計。三,視頻處理后端。視頻處理前段主要是模擬攝像頭采集到的視頻通過BNC接頭傳輸?shù)较到y(tǒng)的解碼芯片,然后把解碼后的數(shù)據(jù)傳輸?shù)较到y(tǒng)的輸入端口。網(wǎng)絡傳輸是DM6446內(nèi)部集成了EMAC(以太網(wǎng)媒體訪問控制器),再通過以太網(wǎng)物理傳輸器后,能夠方便的進行網(wǎng)絡傳輸,系統(tǒng)升級,網(wǎng)絡訪問。視頻處理后端主要有視頻編碼器,DSP對數(shù)據(jù)的相關運算,以及圖像顯示模塊(OSD)on screen display ,圖像存儲。整個系統(tǒng)的運作流程為:將輸入的模擬視頻信號通過TVP5158芯片進行A/D轉(zhuǎn)換并且直接送到VPFE(視頻處理前端),系統(tǒng)采用一個256M的32位的DDR與DM6446的DDR相連,DDR的起始地址設置為0X80000000。DDR內(nèi)存控制器通過專有總線連接到中央交換網(wǎng)絡(SCR),這樣可以滿足DM6446的各子模塊對DDR進行訪問。另外DM6446通過外接硬盤可以進行壓縮后的視頻進行存儲。結(jié)構(gòu)如圖2所示:
三、視頻處理系統(tǒng)軟件的架構(gòu)
視頻處理系統(tǒng)的軟件部分;我們將其分為以下部分:(1)開發(fā)環(huán)境的搭建;(2)UBL的移植;(3)UBOOT的移植;(4)操作系統(tǒng)的移植;(5)雙核通信環(huán)境的搭建和視頻編解碼實例的實現(xiàn)。
第一步開發(fā)環(huán)境搭建需要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開發(fā)工具: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,第一步將其進行裁剪,刪除與我們自己的開發(fā)平臺不相關的文件和文件夾。第二部進行鏈接交叉編譯環(huán)境。修改頂層的MAKEFILE文件。第三步移植板子的驅(qū)動和相關的配置。
第四步為操作系統(tǒng)的移植。該視頻處理系統(tǒng)移植的是TI DAVINCI的最新內(nèi)核montavista linux-2.6.18。同樣也可以分為以下幾步完成:第一步簡化montavista linux-2.6.18,把不相關的平臺刪除。第二步:建立交叉編譯環(huán)境。如修改頂層的makefile文件,COPY UBOOT 的mkimage工具,添加mkzImage.sh,修改arch/arm/boot/Makefile:
對于該視頻分析系統(tǒng),我們首先需要DSP工程師利用CCS開發(fā)自己的視頻編解碼算法,編譯生成一個編解碼算法的庫文件*.lib,然后生成一個生成一個再DSP上運行的可執(zhí)行程序*.x64p(即.out文件)也就是DSP Server.第三步,根據(jù)DSP Server的名字及其中包含的具體的視頻編解碼算法創(chuàng)建Codec Engine配置文件*.cfg。最后,應用工程師收到不同的CODEC包,DSP Server 和Engine配置文件*.Cfg,把自己的應用程序通過編譯,鏈接,最終生成ARM側(cè)可執(zhí)行文件。
第五步為視頻編解碼在視頻處理系統(tǒng)上的實現(xiàn),首先設置好啟動參數(shù)(MEM=120),啟動后使其掛載上NFS(網(wǎng)絡文件系統(tǒng))。復制apps/system_files/
app/sanity_test/
app/sanity_test/
然后,啟動系統(tǒng),在我們拷貝文件的目錄下,運行l(wèi)oadmodules.sh命令,app.out,命令??梢詫σ曨l進行編解碼處理。
總結(jié):本文采用TMS320DM6446完成了視頻處理系統(tǒng)的設計,并且可以實現(xiàn)D1標準的視頻采集,存儲,實時壓縮。它的性能與傳統(tǒng)視頻監(jiān)控方式(PC機加采集卡)相比,更加穩(wěn)定,功耗低,易于存儲大量的視頻數(shù)據(jù),并且成本低。進一步可以再視頻處理系統(tǒng)的基礎上,移植智能監(jiān)控算法,比喻車牌檢測,人臉識別,遺留物檢測,并且增加報警功能。從而真正實現(xiàn)智能視頻監(jiān)控。
參 考 文 獻
[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