目前模擬、數字對講機已經得到了廣泛應用,但是,在樓房、廠房等較為分散的有阻擋的區域之間,這些模擬和數字對講機就失去了作用。現在,以太網和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相同的路由器的信號強度,使路由檢測和切換速度大大提高。
二 硬件設計
對講機由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模式,組播功能開啟。
https://www.409shop.com.hk/shop.php
沒有留言:
發佈留言