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