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