基于DM8148的視頻處理系統(tǒng)設(shè)計(jì)
隨著我國(guó)安防產(chǎn)業(yè)迅速崛起,高清攝像機(jī)逐漸得到普及,促使當(dāng)代安防系統(tǒng)逐步向高清晰度、高智能化轉(zhuǎn)變。但由于高清智能視頻監(jiān)控系統(tǒng)所要處理的數(shù)據(jù)量龐大,使得目前多數(shù)的嵌入式處理器均難以應(yīng)對(duì)?;谶@種需求,本文設(shè)計(jì)了基于DM8148的高清視頻處理平臺(tái)以滿足高清視數(shù)據(jù)處理的需求。
本文引用地址:http://2s4d.com/article/201609/303795.htm1 基于DM8148視頻處理系統(tǒng)硬件結(jié)構(gòu)
本高清視頻處理系統(tǒng)以TI公司出品的TNS320DM8148視頻處理器為核心,輔以各種外設(shè)接口。圖1為系統(tǒng)硬件結(jié)構(gòu)框圖,整個(gè)系統(tǒng)主要分為:采集模塊、視頻處理模塊、外部存儲(chǔ)器模塊和電源模塊。
2 采集模塊
采集模塊主要由丹諾高清攝像機(jī)DN-HDC20-CN、一個(gè)DVI輸入接口和Silicon Image公司的SiI1161芯片組成。SiI1161的PD用于控制整塊芯片的電源供給,當(dāng)PD為高電平時(shí),芯片正常工作;當(dāng)PD為低電平時(shí),芯片的所有輸出引腳輸出為高阻態(tài)。
由圖2可知,從DVI接口輸入的TMDS差分信號(hào)對(duì)直接輸入到SiI1161中,為防止干擾,在差分信號(hào)上接入一個(gè)10 kΩ的電阻到地;圖中U7(24C02A)為EDID存儲(chǔ)器(128 Byte),存放DVI接口所對(duì)應(yīng)的顯示格式、分辨率等顯示屬性數(shù)據(jù),再由信號(hào)源端通過DDC信道讀取。右側(cè)QE[0:23]直接與DMS148的VIN0信號(hào)輸入引腳相連。
3 視頻處理模塊
系統(tǒng)的視頻處理模塊主要由C674xDSP、高清視頻處理子系統(tǒng)HDVPSS和高清視頻協(xié)處理器HDVICP2,3部分組成。
VPSS的視頻輸入接口支持RGB、YUV422和YUV420的數(shù)據(jù)存儲(chǔ)格式。采集模塊采集到的24位RGB信號(hào)可通過VPSS的VIP0被接收。之后,VIP0所支持的可編程顏色空間轉(zhuǎn)換將24位RGB信號(hào)轉(zhuǎn)化為YCbCr信號(hào),即YUV信號(hào),具體設(shè)計(jì)為YUV422。
RGB輸入視頻數(shù)據(jù)轉(zhuǎn)換完成后,將YUV422數(shù)據(jù)流送入VPSS的主通道(Primazy Pipelines)。VPSS的主通道采用內(nèi)置包含一三維動(dòng)態(tài)自適應(yīng)去隔行掃描器和一無(wú)邊界自適應(yīng)縮放器的算法,專門用于處理視頻以產(chǎn)生全高清視頻輸出。在對(duì)YUV422做去隔行和縮放處理后,通過回寫通道0(write back 0)將數(shù)據(jù)流發(fā)送到指定的外部存儲(chǔ)器DDR3中。
VPSS上的處理流程完成后,ARM端應(yīng)用程序調(diào)用C674xDSP中添加OSD信息的算法為視頻加上文字信息。
圖3為HDVICP2的基本框圖,HDVICP2與VPSS有一塊256 kB共享內(nèi)存,其局域互連功能保證其各個(gè)模塊與媒體控制器互連,并可通過L3 Interconnect與其他外部模塊如Cortex A8、外部存儲(chǔ)器互連,從而完成接收指令和讀取數(shù)據(jù)的任務(wù)。
當(dāng)DSP上的工作完成后,A8端應(yīng)用程序通過符合xDM(eXpress DSP Digital Media)標(biāo)準(zhǔn)的API調(diào)用HDVICP2對(duì)同時(shí)通過DMA傳送到HDVICP2中的視頻進(jìn)行H264編解碼操作。
4 外部存儲(chǔ)器模塊
4.1 SDRAM模塊
DMS148芯片內(nèi)部有32 kB的一級(jí)程序緩存,32 kB的一級(jí)數(shù)據(jù)緩存和256 kB的程序數(shù)據(jù)共享二級(jí)緩存。但對(duì)于實(shí)時(shí)視頻圖像采集處理系統(tǒng)是不夠的,因此需要對(duì)系統(tǒng)的數(shù)據(jù)存儲(chǔ)器空間進(jìn)行外部擴(kuò)展。系統(tǒng)擴(kuò)展了兩片DDR3(MT41J128M16JT-125)同步動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)器(SDRAM),數(shù)據(jù)總線均為16位,共512 MB。
DM8148片上帶有兩個(gè)外部存儲(chǔ)器擴(kuò)展接口EMIF0和EMIF1,數(shù)據(jù)總線寬度均為32位。DM8148通過EMIFs訪問外部存儲(chǔ)器。
從片內(nèi)資源有效地將數(shù)據(jù)移動(dòng)到外部DDR3SDRAM器件時(shí),DDR3內(nèi)存控制器即EMIF使用了一個(gè)命令FIFO,一個(gè)寫數(shù)據(jù)FIFO,一個(gè)回傳命令的FIFO和兩個(gè)讀數(shù)據(jù)FIFO。圖4顯示了EMIF的FIFO框圖,命令、寫數(shù)據(jù)、讀數(shù)據(jù)到達(dá)EMIF并行地與對(duì)方交互。而用來(lái)寫和讀外部存儲(chǔ)器以及內(nèi)部存儲(chǔ)器映射寄存器中的數(shù)據(jù)采用的是同一條外圍總線。
命令的FIFO存儲(chǔ)所有來(lái)自O(shè)CP命令接口的命令;寫數(shù)據(jù)的FIFO存儲(chǔ)來(lái)自O(shè)CP寫數(shù)據(jù)接口的寫入數(shù)據(jù);回傳命令的FIFO存儲(chǔ)所有將發(fā)給OCP的回傳接口的回傳事務(wù)。兩個(gè)讀數(shù)據(jù)的FIFO存儲(chǔ)將被送至OCP回傳接口的數(shù)據(jù);一個(gè)讀數(shù)據(jù)FIFO存儲(chǔ)讀自內(nèi)存映射寄存器的數(shù)據(jù);另一個(gè)讀數(shù)據(jù)FIFO存儲(chǔ)從外部存儲(chǔ)器中讀取的數(shù)據(jù)。
4.2 NAND Flash模塊
系統(tǒng)需要對(duì)程序的運(yùn)行代碼進(jìn)行存儲(chǔ),且DM8148片上無(wú)掉電不丟失的程序存儲(chǔ)器,所以必須擴(kuò)展。系統(tǒng)的程序存儲(chǔ)器選用的是Flash芯片,該芯片較EPROM存儲(chǔ)數(shù)據(jù)更快速、容量更大、且具有掉電不丟失數(shù)據(jù)、在線可編程、擁有足夠多的擦除次數(shù)等優(yōu)點(diǎn)。圖5為GMPC與外部存儲(chǔ)器NAND Flash的連接示意圖。
NAND設(shè)備的數(shù)據(jù)讀取和寫入訪問均是通過一個(gè)讀完成或?qū)懻?qǐng)求給芯片選擇相關(guān)的存儲(chǔ)區(qū)域或通過一個(gè)讀或?qū)懻?qǐng)求給GPMC_NAND_DATA_i(其中i=0~5)寄存器所在位置。GPMC_ NAND_DATA_i不是真正的寄存器,而是一個(gè)地址位置,使能RE或WE信號(hào)控制。
從GPMC_NAND_DATA_i位置或者從相關(guān)芯片選擇存儲(chǔ)區(qū)域讀取數(shù)據(jù),將激活一個(gè)異步讀訪問。記錄數(shù)據(jù)到GPMC_NAND_DATA_i位置或相關(guān)的芯片選擇存儲(chǔ)區(qū)域?qū)憯?shù)據(jù),則將會(huì)激活一個(gè)異步寫訪問。
5 應(yīng)用程序設(shè)計(jì)
應(yīng)用程序由多個(gè)鏈接組成,主要鏈接有:捕獲鏈接、去隔行鏈接/尺寸調(diào)節(jié)鏈接、顯示鏈接、編碼器連接、解碼器鏈接、算法鏈接、空鏈接、IPC位輸入/輸出和幀輸入/輸出鏈接。圖6為系統(tǒng)數(shù)據(jù)流圖,可從中直觀地看出各個(gè)鏈接間的關(guān)系。
評(píng)論