視頻實時處理,由于視頻處理中數(shù)據(jù)量大,要求速度快因此采用TM320DM642。視頻處理機(jī)應(yīng)用于視頻采集、視頻處理、視頻輸出的視頻實時處理。視頻處理機(jī)的解決方案有多種選擇,但是市場主流產(chǎn)品一般選擇兩種方案:1)采用CPU+ASIC。2)采用雙CPU結(jié)構(gòu),即一個嵌入式CPU和一個專用信號處理芯片DSP。受專用DSP芯片處理能力的限制,現(xiàn)有的嵌入式中使視頻處理機(jī)的視頻處理算法基本是H.263以下的標(biāo)準(zhǔn)。
l 硬件設(shè)計
本文介紹一種基于TMS320DM642 DSP的視頻采集設(shè)計方案。其操作系統(tǒng)、通信協(xié)議、網(wǎng)絡(luò)協(xié)議、音視頻處理軟件均在一顆TMS320DM642上實現(xiàn),降低了開發(fā)的難度。
TMS320DM642芯片簡介:
TI公司的TMS320DM642(以下簡稱DM642)是一款專門面向多媒體應(yīng)用的專用DSP。該DSP時鐘高達(dá)600MHz,8個并行運(yùn)算單元,處理能力達(dá)4800MIPS;采用二級緩存結(jié)構(gòu);具有64位外接存儲器接口;兼容IEEE—1149.1(JTAG)邊界掃描;為了面向多媒體應(yīng)用,還集成了3個可配置的視頻端口、面向音頻應(yīng)用的McASP(Multi Channel AudioSerial Pott)、10/100Mb/s的以太網(wǎng)MAC等外設(shè)。鑒于DM642的上述優(yōu)點,本網(wǎng)系視頻處理機(jī)統(tǒng)以DM642為核心,完成音視頻信號的實時采集、壓縮及傳輸功能。
系統(tǒng)電路組成如圖1所示。從視頻處理機(jī)的視頻信號和從麥克風(fēng)輸入的音頻信號經(jīng)采集、A/D轉(zhuǎn)換為數(shù)字信號后送入DSP。DSP在信源處對音視頻信號進(jìn)行壓縮編碼和合流,然后通過局域網(wǎng)或因特網(wǎng)將數(shù)據(jù)傳輸給視頻監(jiān)控中心。監(jiān)控中心可同時監(jiān)視多個現(xiàn)場,接收或發(fā)送報警信號,并根據(jù)需要通過異步串行總線RS-485實時控制,調(diào)整攝像頭的方向和位置。
1.1 視頻采集電路
本系統(tǒng)采用的視頻解碼芯片是Philips公司的SAA7115。從模擬視頻輸入口輸入的全電視信號在SAA7115內(nèi)部經(jīng)過鉗位、抗混疊濾波、A/D轉(zhuǎn)換、YUV分離電路之后,在YUV到Y(jié)CrCb的轉(zhuǎn)換電路中轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,輸入到壓縮核心單元DM642中。DM642的3個視頻口VP0、VP1、VP2與視頻編解碼芯片相接。在本系統(tǒng)中,只有一路視頻輸入,故VP1、VP2端口,VP0通道配置為8位BT.656視頻輸入口。視頻數(shù)據(jù)的行/場同步信號包含在BT.656數(shù)字視頻數(shù)據(jù)流的EAV(end ofactive video)和SAV(start of active video)時基信號中,視頻口只需視頻采樣時鐘和采樣使能信號即可。SAA7115內(nèi)部寄存器參數(shù)的配置和狀態(tài)的讀出通過I2C總線進(jìn)行。視頻接口的原理如圖2所示。
1.2 視頻編碼電路
本系統(tǒng)采用的視頻編碼芯片是Philips公司的SAA7105H。DM642的視頻口2用來驅(qū)動視頻編碼器,視頻信號經(jīng)過FPGA芯片,連到視頻編碼芯片PhilipsSAA7105H。FPGA用于擴(kuò)展屏幕顯示功能。視頻輸出信號支持RGB,高清晰度視頻,PAL/NTSC復(fù)合視頻和s端子視頻信號。通過DM642的I2C總線對的內(nèi)部寄存器編程實現(xiàn)不同輸出。
1.3 音頻輸入/輸出電路
本系統(tǒng)采用TI的高性能立體聲編解碼器TLV320AIC23(以下簡稱AIC23)實現(xiàn)音頻信號的采集和播放。AIC23與DM642的I/0電壓兼容,可以實現(xiàn)與DM642的McASP接口無縫連接。在本系統(tǒng)中,AIC23工作于主模式,左右聲道的采樣字寬均為16bit。數(shù)據(jù)接口為DSP mode模式。通過I2C總線設(shè)置內(nèi)部寄存器的工作參數(shù)和反饋狀態(tài)信息。
因為網(wǎng)絡(luò)傳輸?shù)墓逃刑攸c,音頻數(shù)據(jù)和視頻數(shù)據(jù)從網(wǎng)絡(luò)攝像機(jī)端到達(dá)監(jiān)控中心不可能是均勻的,如果網(wǎng)絡(luò)攝像機(jī)端不做任何糾正處理,則很難保證音視頻的同步輸出。為了實現(xiàn)音頻和視頻的采樣同步,本文利用鎖相環(huán)PLLl708,從SAA7115的LLC引腳輸出27MHz時鐘,經(jīng)PLLl708產(chǎn)生AIC23的主時鐘MCLK。由于音視頻采樣信號采用同一個時鐘源,就不會出現(xiàn)音視頻不同步的問題。PLLl708的SCKO3引腳輸出默認(rèn)時鐘頻率18.433MHz,作為AIC23的輸入主時鐘MCLK。AIC23內(nèi)部采用的時鐘可通過設(shè)置寄存器由主時鐘MCLK分頻得到如圖3。
[!--empirenews.page--]1.4 以太網(wǎng)接口電路
本系統(tǒng)用LXT97l作為快速以太網(wǎng)物理層自適應(yīng)收發(fā)器。由于LXT971支持IEEE 802.3標(biāo)準(zhǔn),提供MII(mediaindependent interface)接口,可以支持MAC,而DM642內(nèi)部正好集成有以太網(wǎng)媒體存取控制器,所以LXT971可以和DM642實現(xiàn)無縫連接。連接電路如圖3所示,其中BHll02為l:1的隔離變壓器。從DM642傳輸過來的數(shù)據(jù)通過LXT971轉(zhuǎn)換為以太網(wǎng)物理層能接收的數(shù)據(jù)后,通過RJ一45頭傳輸?shù)揭蛱鼐W(wǎng)。
1.5 存儲器擴(kuò)展電路
DM642內(nèi)部有16KB的一級程序緩存,16KB的一級數(shù)據(jù)緩存和256KB的程序數(shù)據(jù)共享二級緩存。但這對于直接處理圖像數(shù)據(jù)是不夠的,因此擴(kuò)展了兩片32MB的SDRAM來存放原始圖像數(shù)據(jù),4MB的FLASH來存放應(yīng)用程序。二者都映射到DM642的外部數(shù)據(jù)空間。如圖4。
1.6 FPGA電路
SPARTAN一3是XILINX公司生產(chǎn)的一種低工耗易開發(fā)應(yīng)用。Spartan一3 FPGA具有兩種類型的內(nèi)存,可以滿足不同的設(shè)計需求,即最大1.8Mb的真實雙端口塊RAM和最大520KB的分布式RAM,其封裝形式為16位深×1位寬,可用作移位寄存器和FIFO。先進(jìn)的時鐘管理為高性能電路的設(shè)計者提供了更大的靈活性和更強(qiáng)的控制能力,最多四個數(shù)字時鐘管理器(DCM),并帶有9個外部輸出;8個預(yù)設(shè)的全球時鐘網(wǎng)絡(luò),即8根全局時鐘線路和豐富的尋址。最多104個18×18乘法器,該乘法器模塊允許兩個18位二進(jìn)制作為輸入并計算輸出36位結(jié)果,而專用的進(jìn)位邏輯和高效級聯(lián),可實現(xiàn)更多功能。每秒最多3300億次乘法和累加運(yùn)算(MAC/s)、優(yōu)秀的高速DSP功能的并行實現(xiàn)能力、靈活的串聯(lián)架構(gòu),可實現(xiàn)成本砌能需求的最佳組合。
FPGA在視頻處理機(jī)中完成屏幕顯示功能,在默認(rèn)模式下,DM642視頻口2的數(shù)據(jù)可直接輸出到視頻編碼芯片,在需要屏幕顯示功能時,F(xiàn)PGA把內(nèi)部FIFO中的數(shù)據(jù)和視頻口輸出得數(shù)據(jù)混和,對FPGA內(nèi)部FIFO的訪問可以通過對DM642的EMIF的CE3的地址空間的同步模式的訪問實現(xiàn)。FPGA的同步存儲器位于DM642的CE3地址空間,主要用于實現(xiàn)屏幕顯示功能和粘和邏輯。
1.7 RS-485接口電路
該接口連接到攝像機(jī)的云臺,用來控制云臺的轉(zhuǎn)動,調(diào)整攝像頭的方向和位置。RS-485總線抗干擾能力強(qiáng),能實現(xiàn)多站點遠(yuǎn)距離通信。本壓縮卡擬采用UART芯片SCl6C550和MAXIM公司的MAX487E來實現(xiàn)RS-485信號的傳輸。SCl6C550主要功能是把DSP傳送過來的并行信號轉(zhuǎn)換為串行信號。SCl6C550內(nèi)部的接收器和發(fā)送器各有16B的FIF0,能處理的串行信號的速率高達(dá)3Mbps。MAX487E是RS-485總線接口芯片,可以工作在全雙工、半雙工模式。傳輸速率可達(dá)2.5Mbps。
1.8 電源電路
整個壓縮卡用一個5V的直流變壓器供電。由這個5V的電壓器產(chǎn)生1.4V和3.3V電壓分別給DSP內(nèi)核和I/O端口供電,產(chǎn)生另外一個3.3V給視頻編解碼及其他芯片供電。注意這兩個3.3V電源要分開設(shè)計,以免電源噪聲相互干擾。
由于DSP需要兩種電壓,所以要考慮供電系統(tǒng)的配合問題。加電過程中,應(yīng)當(dāng)保證內(nèi)核電源先上電,最晚也應(yīng)當(dāng)與I/O電源一起加。關(guān)閉電源時,先關(guān)閉內(nèi)核電源,再關(guān)閉I/O電源。講究供電次序的原因在于:如果僅CPU內(nèi)核獲得供電,周邊I/O沒有供電,對芯片不會產(chǎn)生損害,只是沒有輸入/輸出能力而已。如果反過來,周邊I/O得到供電而CPU內(nèi)核沒有加電,那么芯片緩沖/馬區(qū)動部分的晶體管將在一個未知狀態(tài)下工作,這是非常危險的。
為了解決這個問題,本文采用了開關(guān)電源芯片TPS54310PWP,采用TPS54310PWP管腳SS/ENA接電容來使內(nèi)核供電與I/O端口供電,這樣,只有當(dāng)1.4V電壓有效之后,3.3V電壓才開始上電,這就保證了DM642的內(nèi)核電壓先于I/O電壓上電。
2 軟件設(shè)計
在本系統(tǒng)中,圖像壓縮采用H.264標(biāo)準(zhǔn)。H.264具有很高的編碼效率,在相同的重建圖像質(zhì)量下,能夠比H.263節(jié)約50%左右的碼率。H.264的碼流結(jié)構(gòu)網(wǎng)絡(luò)適應(yīng)性強(qiáng),增加了差錯恢復(fù)能力,能夠很好地適應(yīng)IP和無線網(wǎng)絡(luò)的應(yīng)用。音頻編解碼采用G.729算法。網(wǎng)絡(luò)傳輸采用RTP/RTCP協(xié)議以及組播方式,這樣可以保證傳送的質(zhì)量。在操作系統(tǒng)方面,采用基于DSP/BIOS的TI參考架構(gòu)5(RF5)?;赗F5操作系統(tǒng)的應(yīng)用程序模塊主要包括:音視頻采集模塊、壓縮編碼模塊、UART控制模塊和網(wǎng)絡(luò)傳輸模塊。
3 結(jié)束語
本方案能在一顆DM642芯片上實現(xiàn)視頻處理機(jī)的幾乎全部功能,能對音視頻進(jìn)行實時的編解碼和實時的網(wǎng)絡(luò)傳輸。圖像質(zhì)量高、開發(fā)難度低、易于升級,是一種比較理想的視頻處機(jī)解決方案,可廣泛應(yīng)用于視頻監(jiān)控系統(tǒng)中。