基于網(wǎng)絡(luò)的嵌入式IP可視電話設(shè)計方案
引 言
本文引用地址:http://butianyuan.cn/article/154961.htm由于成本和視頻通信質(zhì)量的因素,可視電話從推出到現(xiàn)在,一直受到用戶的冷落?,F(xiàn)在因為技術(shù)的進步和寬帶因特網(wǎng)的普及,可視電話呈現(xiàn)出新的生機。業(yè)內(nèi)專家預(yù)測,未來幾年內(nèi),可視電話不僅可與電信固話、小靈通、移動/聯(lián)通手機互聯(lián),還可與3G 手機互通。可視電話將成為獨立的產(chǎn)業(yè),發(fā)展前景良好。
筆者基于TI公司的單顆600 MHz TMS320DM643(簡稱為DM643)數(shù)字媒體處理器,開發(fā)了一套性能優(yōu)異、價格低廉的嵌入式IP可視電話,實現(xiàn)點對點網(wǎng)絡(luò)音視頻實時通信。
DM643數(shù)字媒體處理器[1]集成了一系列外設(shè),以適應(yīng)視頻和影像技術(shù)的發(fā)展。其中包括3個可配置視頻端口,1個10/100 Mbps的以太網(wǎng)MAC(EMAC),1個面向音頻應(yīng)用的串行口(McASP),1個串行口(McBSP)以及一些其他外設(shè)。C64x核內(nèi)有8個并行的處理單元,采用VLIW(甚長指令集)結(jié)構(gòu),處理能力高達4800MIPS,并在C6OOO公共指令集的基礎(chǔ)上擴展了88條指令。這些指令使C64x能夠更方便地執(zhí)行圖象處理中的算法。
基于單顆DM643的嵌入式IP可視電話的組成如圖1所示。從攝像機輸入的視頻信號和從麥克風(fēng)輸入的音頻信號經(jīng)A/D轉(zhuǎn)換后送入DSP,DSP對音/視頻信號進行壓縮、編碼、合流;然后通過局域網(wǎng)或因特網(wǎng)將數(shù)據(jù)傳輸出去,同時將從網(wǎng)絡(luò)上接收的數(shù)據(jù)分流,并分別進行視頻信號的解碼顯示和音頻信號的解碼播放。系統(tǒng)中,還通過DM643的McBSP/UART 口外接了一個鍵盤,以實現(xiàn)電話的撥號功能。
圖1 嵌入式IP可視電話的組成
1.1 視頻采集電路
本系統(tǒng)采用的視頻解碼芯片是Philips公司的SAA7l15.從攝像機輸入的全電視信號在SAA7l15內(nèi)部經(jīng)過鉗位、抗混疊濾波、A/D轉(zhuǎn)換、YuV分離電路之后,在YuV到Y(jié)CrCb的轉(zhuǎn)換電路中轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,通過DM643的視頻口VPo輸入到壓縮核心單元DM643中。視頻數(shù)據(jù)的行/場同步信號包含在BT.656數(shù)字視頻數(shù)據(jù)流的EAV(End of Active Video)和SAV(Startof Active Video)時基信號中,視頻口只需視頻采樣時鐘和采樣使能信號。SAA7l15內(nèi)部寄存器參數(shù)的配置和狀態(tài)的讀出通過1 C總線進行。視頻采集接口的原理如圖2所示。
圖2 視頻采集接口原理
DM643將解碼后的視頻數(shù)據(jù)通過視頻口VP1通道送給SAA7121顯示輸出。SAA7121是Philips公司的一款視頻編碼芯片,可實現(xiàn)數(shù)字視頻的D/A 變換。SAA7121的工作模式由其內(nèi)部的控制寄存器決定,控制寄存器的初始化通過1 C總線完成。DM643利用自身具有的1 C總線模塊,作為主控制器,對SAA7121進行參數(shù)編程控制。
1.2音頻輸入/輸出電路
本系統(tǒng)采用TI的高性能立體聲編/解碼器TI V320AIC23(簡稱AIC23),實現(xiàn)音頻信號的采集和播放。AIC23與DM643的I/0電壓兼容,可實現(xiàn)與DM643的McASP接口無縫連接。
在本系統(tǒng)中,AIC23工作于主模式,左右聲道的采樣字寬均為16位。數(shù)據(jù)接口為DSP mode模式。通過12 C總線設(shè)置內(nèi)部寄存器的工作參數(shù)和反饋狀態(tài)信息。
由于網(wǎng)絡(luò)傳輸?shù)墓逃刑攸c,音頻數(shù)據(jù)和視頻數(shù)據(jù)傳輸?shù)浇邮辗綍r不可能是均勻的。如果發(fā)送方不作任何糾正處理,則很難保證音/視頻的同步輸出。為了實現(xiàn)音頻和視頻的采樣同步,利用鎖相環(huán)PI I 1708.從SAA7115的U C引腳輸出27 MHz時鐘,經(jīng)PLI 1708的SCKO 3引腳輸出默認時鐘頻率18.433 MHz,作為AIC23的輸入主時鐘MCI K.AIC23內(nèi)部采用的時鐘可通過設(shè)置寄存器由主時鐘MCLK分頻得到。由于音視頻采樣信號采用同一個時鐘源,因此不會出現(xiàn)音/視頻不同步的問題。
1.3 以太網(wǎng)接口電路
本系統(tǒng)用LXT971作為快速以太網(wǎng)物理層自適應(yīng)收發(fā)器。LXT971支持IEEE 802.3標(biāo)準(zhǔn),提供MII(MediaIndependent Interface)接口,可以支持MAC;而DM643內(nèi)部正好集成有MAC控制器,所以LXT971可與DM643實現(xiàn)無縫連接。連接電路如圖3所示,其中BH1102為1:1的隔離變壓器。
圖3 網(wǎng)絡(luò)接口原理
1.4存儲器擴展電路
DM643通過EMIF接口擴展了2片32 MB的SDRAM來存放原始圖像數(shù)據(jù),1片4 MB的Flash來存放應(yīng)用程序。二者都映射到DM643的外部數(shù)據(jù)空間。
2 軟件實現(xiàn)和優(yōu)化
在本系統(tǒng)中,視頻編/解碼算法采用H.264標(biāo)準(zhǔn)[2],音頻編解碼算法采用G.723.1a,回音消除采用G.167,媒體協(xié)議采用RTP/RTCP,網(wǎng)絡(luò)協(xié)議采用TCP/UDP/IP,通信協(xié)議采用H.323v.4;另外還軟件實現(xiàn)了靜音、電話功能,并運用抖動緩沖媒體同步技術(shù)實現(xiàn)了各種網(wǎng)絡(luò)狀況下的音唇一致。操作系統(tǒng)采用基于DSP/B10S的TI參考架構(gòu)5(RF5)?;赗F5操作系統(tǒng)的應(yīng)用程序模塊主要包括:音/視頻采集模塊、音/視頻編解碼模塊、UART控制模塊和網(wǎng)絡(luò)傳輸模塊。
本系統(tǒng)采用的H.264編/解碼可大大提高圖像質(zhì)量或降低像通信帶寬。同等圖像質(zhì)量,H.264算法比H.263算法碼流降低了5O ;但同時H.264算法比H.263算法復(fù)雜得多,需要更強的處理能力,以及做更多的軟件優(yōu)化工作。H.264算法在DM643上的實現(xiàn)和優(yōu)化是整個系統(tǒng)軟件設(shè)計的難點和重點。下面以它為例說明軟件的開發(fā)、優(yōu)化工作。
DM643上的軟件開發(fā)過程可分為3個階段:
第1階段是開發(fā)C代碼,然后使用profiling工具確定代碼可能存在的低效率段。為進一步改進代碼性能,需進入第2階段。
第2階段是優(yōu)化C代碼。利用內(nèi)聯(lián)函數(shù)、編譯器的外殼選項等方法進一步優(yōu)化C代碼。再次使用profiling工具檢查其性能,如果代碼仍達不到所期望的效果,須進入第3階段。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂) 鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論