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










