OMAP5912的嵌入式無線組播通信設(shè)計
摘要:提出一種便攜式的無線通信系統(tǒng),它采用OMAP5912作為系統(tǒng)中央處理器,利用Wi-Fi模塊組建Ad-Hoe無線網(wǎng)絡(luò),采用G729a編解碼傳輸語音信息,并利用混音技術(shù)實現(xiàn)多方通話功能。測試表明,該系統(tǒng)不需要專用基站,可隨時隨地實現(xiàn)實時語音通信,適合應(yīng)急通信等無線應(yīng)用場合。
關(guān)鍵詞:無線通信;嵌入式系統(tǒng);語音編解碼;Wi-Fi
引言
當(dāng)前移動電話以方便、快捷的通話特點已經(jīng)成為人們的日常生活品之一。然而,它需要基站支持。如果處于基站覆蓋區(qū)外,用戶就很難進(jìn)行通信。并且它一般只適合兩個用戶之間通信,這難以適用于應(yīng)急通信或臨時會議等應(yīng)用場合。針對這一問題,本文提出一種采用Wi-Fi(Wireless Fidelity,無線保真)傳輸技術(shù)的嵌入式系統(tǒng)。它利用Ad-Hoc進(jìn)行自組織組網(wǎng),實現(xiàn)多人同時進(jìn)行通話的目的。該系統(tǒng)不需要專用基站,從而解決移動電話需要專網(wǎng)的不足。
1 系統(tǒng)設(shè)計思想
無線多方通話系統(tǒng)是指在同一個系統(tǒng)中允許多人同時進(jìn)行對話,它不同于常規(guī)對講機。對講機只能實現(xiàn)半雙工通信,即發(fā)起方在說話時,聽不到其他人的語音。通信雙方時常因為搶話而難以順利溝通。如果多人同時搶話,將造成系統(tǒng)無法正常通信。
為了實現(xiàn)無線多方通話,需要解決兩個關(guān)鍵問題:無線局域網(wǎng)的建立、系統(tǒng)語音通信的方法。無線局域網(wǎng)可以采用基于AP方式的組網(wǎng)和基于Ad-Hoc方式的組網(wǎng)?;贏P方式的組網(wǎng)需要選擇一個中心節(jié)點,它負(fù)責(zé)轉(zhuǎn)發(fā)和處理下面各成員之間的語音信息。然而,如果該節(jié)點失效,整個網(wǎng)絡(luò)就會癱瘓,而基于Ad-Hoc方式的網(wǎng)絡(luò)內(nèi)各用戶地位均等,各用戶在彼此覆蓋范圍可以建立對等的通信關(guān)系直接通信。考慮到系統(tǒng)的便攜性和實用性,系統(tǒng)采用基于Ad-Hoc方式進(jìn)行無線組網(wǎng)。
在建立無線局域網(wǎng)后,可以采用RTP協(xié)議實現(xiàn)簡單的點對點語音通話。為了實現(xiàn)多方話務(wù)系統(tǒng),還需要采用組播方式。由于無線局域網(wǎng)的有效帶寬有限,為了容納更多的用戶,需要采用合適的語音編解碼算法以降低各自帶寬的需求。語音編碼一般分為三種類型:波形編碼、參數(shù)編碼和波形參數(shù)混合編碼。波形編碼的語音自然度高,但是壓縮效率比較差,常在32 kbps以上。參數(shù)編碼特點是語音壓縮效率高,但是自然度比較差,能夠在極低速率進(jìn)行編碼。而波形參數(shù)混合編碼結(jié)合了以上兩者的長處,代表算法有G.723、G.729等,能在4~16 kbps的速率上進(jìn)行高質(zhì)量的語音合成??紤]到算法的復(fù)雜度和對語音的需求,這里選用適合嵌入式應(yīng)用的G729a算法。接收方接收到多個用戶的語音信息后先進(jìn)行相應(yīng)的語音解碼,然后采取混音技術(shù)實現(xiàn)實時接聽多人話音。
考慮到系統(tǒng)的便攜性以及系統(tǒng)開發(fā)的難易程度,選擇Linux2.6操作系統(tǒng)作為軟件開發(fā)平臺,以TI的OMAP5912作為中央處理器,利用無線網(wǎng)卡組建Ad-Hoc網(wǎng)絡(luò),利用Qt技術(shù)實現(xiàn)圖形界面顯示和系統(tǒng)控制。最終完成在局域網(wǎng)內(nèi)進(jìn)行多方話務(wù)通信的功能。
2 系統(tǒng)硬件設(shè)計
本系統(tǒng)結(jié)構(gòu)如圖1所示。該無線局域網(wǎng)內(nèi)有N個用戶,其中N的取值范圍為[2,253]。每個用戶的系統(tǒng)架構(gòu)相同,它包括語音采集/播放模塊、觸摸屏、無線網(wǎng)卡、中央處理單元和電源模塊。
[!--empirenews.page--]
2.1 中央處理器與語音采集/播放模塊之間通信
這里選用TI公司的低功耗處理芯片OMAP5912,它采用ARM9+DSP55X的雙核構(gòu)架。而聲卡主芯片選用TI公司的AIC23芯片,該芯片是一款高性能的立體聲語音編解碼器,提供模/數(shù)轉(zhuǎn)換和數(shù)/模轉(zhuǎn)換,數(shù)據(jù)格式支持16/20/24/32,采樣頻率支持[8 kHz,96 kHz]范圍內(nèi)可調(diào)。如圖2所示,AIC23的可編程設(shè)置通過OMAP5912的I2C接口完成。AIC23的音頻數(shù)據(jù)通過與OMAP5912的MCBSP接口相連完成數(shù)字化音頻輸入/輸出,而AIC的耳麥輸入/輸出接口相對簡單,利用該電路可以完成自身語音的采集和還原其他用戶傳來語音信息。
2.2 中央處理器與觸摸屏之間通信
考慮到圖像的直觀性和操控的靈活性,選用三星公司的LTV350QV_FOE觸摸屏,它采用320×240像素液晶輸出方式。對液晶的控制是通過專用芯片ADS7843來完成的。圖3所示是OMAP5912與ADS7843的接口電路圖。OMAP5912通過MCSI接口來實現(xiàn)與ADS7843的命令、數(shù)據(jù)的串行輸入/輸出,并通過將KB.CX引腳復(fù)用成GPIO,然后實現(xiàn)PENIRQ與BUSY信號的中斷觸發(fā)。
2.3 無線通信模塊與OMAP之間通信
系統(tǒng)的無線通信模塊采用基于RT2571芯片的802.11無線網(wǎng)卡,它工作在2.4 GHz的ISM工作頻段,負(fù)責(zé)完成各用戶之間語音和數(shù)據(jù)信息的交換。它與CPU之間通信是通過USB接口實現(xiàn)。
整個系統(tǒng)以超聲波發(fā)射和接收電路為核心進(jìn)行設(shè)計,系統(tǒng)采用直接數(shù)字頻率合成芯片AD9833產(chǎn)生脈沖串,經(jīng)過功率放大電路驅(qū)動超聲波換能器,超聲波經(jīng)過懸濁液到達(dá)接收換能器,利用92 dB對數(shù)放大器AD8307對回波衰減信號進(jìn)行對數(shù)放大,最后由微控制器對數(shù)據(jù)進(jìn)行處理得出濃度值。系統(tǒng)還配備了鍵盤、顯示、參數(shù)存儲、開關(guān)量輸出、繼電器輸出、電流輸出、UART通信等功能。
[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件可以分為3個功能模塊:語音信息處理模塊、無線通信模塊和QT控制模塊。其中QT控制模塊負(fù)責(zé)圖形界面顯示和人機接口控制。為了便于實現(xiàn)系統(tǒng)管理,采用基于Linux操作系統(tǒng)的應(yīng)用程序開發(fā)模式,操作系統(tǒng)則選用Linux2.6.29版本。系統(tǒng)主程序結(jié)構(gòu)如圖4所示。
在完成必要的軟硬件初始化后,系統(tǒng)進(jìn)入QT界面控制程序,QT界面控制程序負(fù)責(zé)兩大功能:
①語音編解碼處理。如圖5所示,語音信號的處理是通過DSP55X內(nèi)核完成。它采用雙線程處理。線程1負(fù)責(zé)語音編碼處理。此時DSP內(nèi)核采用雙緩存機制保存ARM9送入的本地語音數(shù)據(jù)。它利用G729a定點編碼算法實現(xiàn)對語音的壓縮處理,然后送給ARM9內(nèi)核。線程2負(fù)責(zé)語音解碼處理。ARM接收到的語音數(shù)據(jù)送入DSP內(nèi)核后利用多用戶解碼算法恢復(fù)各個用戶的語音信息,然后回送給ARM9內(nèi)核處理。
②無線語音和聲卡數(shù)據(jù)的收發(fā)以及混音處理。它由ARM9內(nèi)核完成。ARM9內(nèi)核與DSP內(nèi)核的通信是通過DSP Gateway雙核通信機制方式實現(xiàn),由ARM9內(nèi)核負(fù)責(zé)控制。對于語音編碼,ARM9負(fù)責(zé)把AIC23采集的緩存數(shù)據(jù)寫入到DSP的編碼器中。編碼完的數(shù)據(jù)放入發(fā)送緩存單元,當(dāng)發(fā)送緩沖區(qū)放滿之后,ARM端就會將數(shù)據(jù)通過網(wǎng)口發(fā)送出去。然后將編碼后的數(shù)據(jù)通過無線網(wǎng)卡發(fā)送出去。語音解碼與編碼過程相反,首先通過無線網(wǎng)卡接收其他用戶發(fā)送過來的比特流,并提取用戶信息,送入DSP端解碼,經(jīng)過解碼器解碼后,判別當(dāng)前是否多用戶通信,如果是就啟動混音程序,再輸出至音頻接口,變?yōu)槟M語音信號播放。
[!--empirenews.page--]
4 系統(tǒng)測試
測試系統(tǒng)采用3塊OMAP5912開發(fā)板和對應(yīng)的3塊無線網(wǎng)卡。無線網(wǎng)卡選用華碩網(wǎng)卡W167g,采用Ad-Hoc進(jìn)行組網(wǎng)。針對系統(tǒng)需求,需要測試系統(tǒng)的有效帶寬和語音延遲以及音質(zhì)。
系統(tǒng)的有效帶寬是保證多用戶語音通話的前提。這里利用Netperf軟件進(jìn)行分析,測試表明基于UDP的傳輸速度,兩點間的平均速度可達(dá)3.4 Mbps。
對于語音通信而言,基于AIC23芯片的語音通信采樣速度是8 kHz,采用16比特單聲道采樣,所需帶寬為128 kbps。而G729a的壓縮率為16:1。故所需帶寬僅為8 kbps。因此,該無線網(wǎng)卡支持多用戶通信。
然后對語音音質(zhì)進(jìn)行測試,這里利用由Cooledit2000軟件進(jìn)行分析,如圖6所示,原始語音和采用G729a語音編解碼處理后的語音波形雖有所損傷,但基本一樣,從音質(zhì)效果上看,語音清晰,達(dá)到MOS=4的語音測試水平。
最后對系統(tǒng)語音延遲進(jìn)行測試,無線傳輸時語音數(shù)據(jù)每次發(fā)送4幀數(shù)據(jù),每幀包含10 ms語音數(shù)據(jù),系統(tǒng)整體延時約為60 ms,聽者基本感覺不到延遲效應(yīng)。
通過以上測試,系統(tǒng)可以正常工作,達(dá)到設(shè)計目標(biāo)。
結(jié)語
本文設(shè)計了一套可供無線局域網(wǎng)內(nèi)實時語音通信系統(tǒng),它以OMAP5912作為系統(tǒng)硬件平臺,采用QT界面技術(shù)進(jìn)行管理。用戶可以方便地進(jìn)行多人通話。由于采用嵌入式方式進(jìn)行設(shè)計,適合于應(yīng)急通信和臨時移動會議等便攜式通信場合。