張朝平段睿瀟張 揚(.上海山源電子科技股份有限公司,上海 06;.華中科技大學,湖北 武漢 430074)
?
WiFi對講機的設計
張朝平1段睿瀟2張 揚2
(1.上海山源電子科技股份有限公司,上海 201612;2.華中科技大學,湖北 武漢 430074)
摘 要:本文介紹了WiFi對講機的對講原理、軟硬件設計要點以及關鍵技術,設計出來的WiFi對講機經測試,完全滿足對講聯絡的要求,是傳統模擬數字對講機的有力補充。
關鍵詞:對講機;WiFi通信;測試效果
目前模擬、數字對講機已經得到了廣泛應用,但是,在樓房、廠房等較為分散的有阻擋的區域之間,這些模擬和數字對講機就失去了作用?,F在,以太網和WiFi無線網絡已經非常普遍,特別是特大型企業內部的局域網和WiFi無線網絡基本上實現了網絡全覆蓋,在這些企業中,利用現有的有線和無線網絡實現對講通話等工作聯絡是非常需要的。為此,我們設計了WiFi對講機,通過WiFi網絡來實現遠程對講。
通過MIC采集聲音信號并進行A/D轉換,MCU對A/D轉換過的數字信號進行編碼,再把編碼后的數據以50ms為一包,按照選擇的通道,通過WiFi的組播發送出去。在收到其他對講機發來的組播數據包后,MCU進行解碼,并緩存150ms的語音數據,待緩存滿后開始取出緩存的數據進行D/A轉換,把語音數據轉換成模擬信號,再經功放后接入喇叭,播放出聲音。
和傳統對講機一樣,WiFi對講機設置有通道選擇旋鈕,共16個通道,每一個通道對應一個組播地址,相同組播地址的對講機能夠實現語音數據的相互收發,實現分組對講。
WiFi無線信號會隨著對講機的移動出現信號飄移,為了使語音播放更流暢,需要對收到的語音數據進行緩存,這樣,偶爾出現傳輸延遲,也不至于引起語音播放的卡頓。緩存時間越長,播放越流暢,但時間過長就會有延遲的感覺。本設計采用150ms的緩存,這樣,播放的聲音聽起來基本感覺不到延遲,而又起到了補償傳輸延遲避免卡頓的作用。
無線傳輸語音數據要盡量少地占用帶寬,以便減少傳輸時間,使MCU能夠有丟包重傳的處理時間,這就需要對語音數據進行編碼和解碼。比較ADPCM、G.711、G.721等語音編碼,ADPCM編碼把語音數據按1∶4的壓縮比進行壓縮,算法簡單,占用MCU時間短,解碼后語音質量良好。本設計采用了ADPCM編解碼算法。
漫游是移動對講必須要解決的問題,以便實現對講機在跨越WiFi路由器時不中斷對講。對講機中的WiFi模塊在檢測到連接的路由器的信號強度(RSSI)小于-80DB時,開始檢測其他路由器的信號強度,當其他路由器的信號強度大于-70DB時,則立刻連接到信號強度較強的這臺路由器。為了更快速地進行路由器連接切換,在部署路由器網絡時,所有路由器全部配置成相同的名字(SSID),這樣,漫游時,對講機只檢測SSID相同的路由器的信號強度,使路由檢測和切換速度大大提高。

圖1 硬件構成圖
對講機由WiFi模塊、MCU、CODEC編解碼、數字功放、MIC、SPEAK、電源部分等組成,其構成框圖如圖1所示。
選用意法的4系列ARM芯片作為MCU,ARM芯片本身帶有128K RAM,完全滿足語音數據緩存和WiFi收發所需內存,ARM芯片具有兩個SPI,一個與WiFi模塊通信,一個與編解碼芯片通信,用于收發語音數據,還具有一個I2C接口,該接口與編解碼芯片通信,用于對編解碼芯片初始化和參數配置。
選用TI公司的內置2W數字功放的編解碼(CODEC)芯片AIC3100,該芯片可直接接入MIC和4Ω喇叭。可以通過寄存器設置,進行語音濾波、回音抑制、音量調節等。該芯片的I2C接口用于寄存器配置和語音采集與播放控制,SPI接口用于傳輸語音數據。
通道選擇旋鈕驅動MCU上的GPIO,以便MCU檢測出選擇的通道,MCU檢測到所選通道后,通過SPI接口,配置WiFi模塊的組播地址,以便實現組內語音數據的組播收發,實現分組對講功能。
音量調節旋鈕接入MCU的一路A/D通道,以便MCU檢測出調節的音量,MCU根據測得的音量旋鈕的電阻值,通過I2C接口配置CODEC芯片的音量大小,達到音量調節的作用。
WiFi模塊選用具備SPI透傳接口的低功耗嵌入式模塊,天線采用模塊自帶的板載天線,工作模式選擇為STA模式,組播功能開啟。
軟件系統包括MCU本身初始化、WiFi模塊初始化、CODEC芯片初始化、語音采集播放控制、語音數據收發、通道檢測、音量檢測等環節。
整個軟件系統采用UCOSII開源的實時多任務操作系統,分3個任務:按鍵旋鈕掃描任務、語音采集與播放任務、WiFi通信任務。任務間通過消息進行協同操作。
任務劃分及任務處理流程圖分別如下。圖2為任務分配圖,圖3為協議處理任務流程圖,圖4為消息處理流程圖,圖5為語音處理流程圖。
把所有與PTT按鍵、通道選擇旋鈕、音量調節旋鈕、開關機鍵等硬件相關的檢測放在按鍵旋鈕掃描任務中,當發現某個部件狀態發生變化時,就向系統發出相應的消息。其他任務檢測到該消息時,就做出相應的處理。
語音采集與播放任務主要用來管理MCU與CODEC芯片之間的通信。當收到PTT按下的消息時,就控制CODEC芯片開始進行MIC語音數據的采集,并從CODEC芯片中通過SPI口取出語音流數據,進行編碼儲存,等到語音數據達到約定的50ms數據時,就向系統發出傳輸語音數據的消息。另一方面,當收到外部語音數據時,就開始解碼并緩存語音數據,當數據達到150ms時,MCU就控制CODEC芯片開始播放收到的語音數據。
WiFi通信任務主要是處理WiFi通信協議并進行雙向的語音組播。

圖2 任務分配圖

圖3 協議處理任務流程

圖4 其他消息處理流程

圖5 語音處理任務流程
對講機樣機做好后,對對講的流暢性以及漫游特性進行了測試。在一個3000m2的廠房中部署了兩臺路由器,用4只對講機進行測試。
把對講機兩兩設置成相同的通道,對講時,不同分組的對講機可以同時對講,而不會產生干擾,靜止狀態時,通話流暢,但在頻繁轉身時,偶爾會出現聲音卡頓現象。
在對講過程中,從一個路由器附近走向另一個路由,中間大約有一秒鐘的卡頓。
整個對講基本能夠順利進行。
WiFi對講機能夠實現不同區域的遠程對講,是傳統模擬或數字對講機較難實現不同區域遠程對講的有力補充。測試表明,設計的WiFi對講機從功能和性能上,能夠滿足對講聯絡的要求。
參考文獻
[1]盧瑤,宗蓓蓓,胡春濤.遠程WiFi技術狀態下的手機無線對講遐想[J].西部廣播電視,2015(3):146-146.
中圖分類號:TN92
文獻標識碼:A
Abstract:This paper describes the principle of WiFi interphone, the key point of hardware and software design, and the key technology. The test shows that the WiFi interphone is completely meet the requirements for communication. What is more, the phone is also an addition of traditional analogous and digital interphone.
Keywords:interphone; WiFi communication; test effect