基于DM6446的視頻編碼器的硬件設(shè)計
摘要:設(shè)計了一套基于TMS320DM6446的視頻壓縮系統(tǒng)。主芯片采用TI公司的TMS320DM6446,模擬視頻信號送入解碼器TVP5150后,解碼為符合ITU-R BT.656標準的數(shù)字視頻信號,BT.656數(shù)字視頻信號被送往TMS320DM6446,TMS320DM6446內(nèi)嵌DSP實現(xiàn)視頻信號的H.264壓縮,內(nèi)嵌ARM對壓縮后數(shù)據(jù)進行打包并進行網(wǎng)絡(luò)傳輸。實踐證明,該編碼方案很好地完成了數(shù)據(jù)壓縮及傳輸,當碼率為372 kb/s時,PSNR為39.18 dB(使用NEWS序列),符合設(shè)計要求。
關(guān)鍵詞:視頻壓縮;嵌入式;DM6446;硬件設(shè)計
隨著多媒體技術(shù)的發(fā)展,視頻監(jiān)控系統(tǒng)被廣泛地應(yīng)用于道路交通、電力系統(tǒng)、銀行、賓館、商場、小區(qū)、機場等領(lǐng)域的安全監(jiān)控。TMS3 20DM6446芯片是達芬奇(DaVinei)技術(shù)的杰出代表,TMS320DM6446由TMS320C64x+DSP內(nèi)核、ARM926EJ-S內(nèi)核、視頻處理子系統(tǒng)(VPSS)、系統(tǒng)控制、電源管理、外部存儲器接口、外圍控制模塊等功能模塊組成,單顆TMS320DM6446(以下簡稱DM6446)可以實現(xiàn)完整D1格式的H.264視頻壓縮。
本文論述了嵌入式視頻編碼器完整的設(shè)計方案,完成了一個基于DM6446的最小視頻編碼系統(tǒng)的硬件設(shè)計。
1 總體設(shè)計及概述
系統(tǒng)包括電源部分、視頻輸入部分、存儲部分、接口部分。其主要資源包括:DM6446主處理器;2路CVBS標準模擬視頻輸入(TVP5150);256 MB DDR2 SDRAM;64 MB NANDFlash存儲器;1路RS485串口(MAX485);一路10 M/100M標準以太網(wǎng)接口(RTL8201);1個USB2.0接口。視頻編碼器系統(tǒng)框圖如圖1所示。
系統(tǒng)主要由以下2部分組成:
1)視頻前端設(shè)計模擬視頻信號輸入到視頻解碼芯片TVP5150,TVP5150將解碼后的視頻數(shù)據(jù)輸入至DM6446的VPFE視頻端口,DM6446內(nèi)置DSP對輸入數(shù)據(jù)進行壓縮。
2)網(wǎng)絡(luò)傳輸及控制部分設(shè)計 DM6446內(nèi)部集成以太網(wǎng)媒體訪問控制器,外接以太網(wǎng)PHY后可以提供以太網(wǎng)傳輸通道。DM6446片內(nèi)ARM9微處理器將壓縮后數(shù)據(jù)打包并完成網(wǎng)絡(luò)傳輸。本部分有一路RS485串口,用來對外部設(shè)備進行控制(云臺控制器等)。
DM6446是雙核架構(gòu),在DM6446中ARM核和DSP核相互之間的通信主要是通過中斷來實現(xiàn)。DSP完成數(shù)據(jù)采集壓縮處理等工作,ARM處理器的作用是配置和控制整個系統(tǒng)的工作,包括:DSP子系統(tǒng)、VPSS子系統(tǒng)、大部分的外設(shè)以及片外存儲器,并且對壓縮后數(shù)據(jù)進行TCP/IP打包及進行網(wǎng)絡(luò)傳輸,此外還負責系統(tǒng)資源調(diào)度以及對外部設(shè)備的控制(云臺鏡頭等)。
系統(tǒng)工作流程:系統(tǒng)完成上電或者復(fù)位后,根據(jù)配置模式從Flash存儲器加載程序,完成對芯片的初始化和對外圍設(shè)備的初始配置,模擬視頻信號經(jīng)過TVP5150轉(zhuǎn)換為BT656數(shù)字視頻信號后,傳入DM6446的視頻通道(VFPE),內(nèi)嵌DSP對數(shù)字視頻信號進行編碼壓縮后,內(nèi)嵌ARM對壓縮后數(shù)據(jù)進行打包,并通過網(wǎng)絡(luò)接口進行傳輸。
2 模塊設(shè)計
2.1 視頻輸入部分
系統(tǒng)選用一款高性能視頻解碼芯片TVP5150將模擬CVBS視頻信號轉(zhuǎn)換為BT.656數(shù)字視頻信號,在視頻輸入端外接了2片TVP5150。TVP51 50時鐘源為14.318 18 MHz晶振,數(shù)字和模擬輸入電壓為1.8 V,IO口電壓為3.3 V;PCLK/SCLK腳時鐘信號可輸出13.5MHz和27MHz兩種頻率。模擬信號經(jīng)過TVP5150鉗位、抗混疊濾波、A/D轉(zhuǎn)換后,經(jīng)過配置,從YOUT[0:7]輸出YUV422 BT.656視頻格式的數(shù)據(jù)流,輸入到DM6446的VPFE中,VPFE由CCD控制器、Preview引擎單元、H3A、縮放(Resizer)單元、以及柱狀統(tǒng)計圖功能單元組成,對輸入視頻數(shù)據(jù)進行前端處理,系統(tǒng)把VPFE配置為YUV的數(shù)據(jù)格式。
2.2 存儲部分
在DM6446中,有幾種形式的外部存儲器接口,DDR2存儲控制器與DDR2 SDRAM連接,系統(tǒng)采用2片16位的MT47H64M16BT并聯(lián),存儲空間達到256 MB,為系統(tǒng)提供緩存。在VPFE處理后,輸出到DDR中的數(shù)據(jù)在存放時每個像素點占用16 bit的長度,每個像素占2個字節(jié),連續(xù)地存
放在內(nèi)存單元中,如果像素的位寬不足16 bit,多余的高位會填充0。系統(tǒng)運行代碼、圖像數(shù)據(jù)臨時搬移、壓縮處理的中間數(shù)據(jù)等都要使用DDR2存儲器。系統(tǒng)在CS2存儲空間中映射64 MB的NANDFlash,用于存儲Linux內(nèi)核操作系統(tǒng)和內(nèi)核引導(dǎo)程序。
2.3 接口部分
系統(tǒng)通過串口收發(fā)器MAX485設(shè)計了與外設(shè)通信接口模塊RS-485,用于對外部設(shè)備進行控制(如云臺鏡頭控制等)。
系統(tǒng)含有1路10/100 M網(wǎng)絡(luò)接口,DM6446內(nèi)帶MAC控制器,在EMAC接口外接1片以太網(wǎng)PHY芯片,PHY采用RTL8201,RTL8201與DM365的MII接口相連,DM6446通過MDIO接口實現(xiàn)對RTL8201寄存器的配置及控制,其他握手信號依次連接,通過上拉下拉電阻對RTL8201進行適當?shù)呐渲?設(shè)置PHY地址等),RTL8201在上電初導(dǎo)入這些配置信息,并進行相應(yīng)的工作。在RTL8201的時鐘接口外接1個25 M晶體,作為RTL8201的時鐘源。RTL8201外接網(wǎng)絡(luò)變壓器,進行信號隔離,通過RJ45連接到網(wǎng)絡(luò),與外界實現(xiàn)數(shù)據(jù)交換。
DM6446片上集成了USB控制器,可以通過ARM端對控制存儲映射寄存器進行操作,通過USB接口可以外接很多USB設(shè)備,為系統(tǒng)預(yù)留了外設(shè)擴展口,用來實現(xiàn)附加功能。
系統(tǒng)通過GPIO提供2路開關(guān)量報警輸入和2路開關(guān)量報警輸出。報警輸入通過隔離光藕來實現(xiàn),當有報警信號輸入信號時,光藕導(dǎo)通,輸出低電平至DM6446 GPIO,當沒有報警信號輸入時,光藕截止,輸出高電平至DM6446 GPIO,DM6446通過檢測GPIO電平來判斷報警輸入信號的有無。報警輸出通過控制繼電器的開合來實現(xiàn)。
2.4 電源模塊
系統(tǒng)電源分為+5、+3.3、+1.8+1.2 V,輸入電源為+5 V,其余電壓均由+5 V電源轉(zhuǎn)換得到。其中+1.2 V提供DM6446內(nèi)核電壓,+1.8 V為DM6446的I/O以及DDR2內(nèi)存供電,+3.3 V給大部分的外設(shè)供電。+1.2 V的內(nèi)核電壓和+3.3 V的外設(shè)供電電壓由TPS75003得到,TPS62040提供+1.8 V電壓輸出。本設(shè)計采用MAX706對系統(tǒng)進行復(fù)位。
3 結(jié)論
通過ITU-T視頻測試序列NEWS(150幀)對系統(tǒng)進行了科學的測試,測試環(huán)境:Panasonic筆記本一臺(配置Intelpentium processor 1.1 GHz,1 G內(nèi)存,操作系統(tǒng)Windows XP,80 G硬盤)。當碼率為372 kb/s時,PSNR為39.18 dB,編碼效率合理,符合設(shè)計初衷。
本文有效地利用DM6446設(shè)計了嵌入式視頻處理最小系統(tǒng),完全滿足視頻壓縮編碼的功能需求。系統(tǒng)運行于Linux操作系統(tǒng),具有實時性好、通訊速率快、圖象質(zhì)量高、性能穩(wěn)定、價格便宜、防病毒等特點。