張朝平段睿瀟張 揚(yáng)(.上海山源電子科技股份有限公司,上海 06;.華中科技大學(xué),湖北 武漢 430074)
?
WiFi對(duì)講機(jī)的設(shè)計(jì)
張朝平1段睿瀟2張 揚(yáng)2
(1.上海山源電子科技股份有限公司,上海 201612;2.華中科技大學(xué),湖北 武漢 430074)
摘 要:本文介紹了WiFi對(duì)講機(jī)的對(duì)講原理、軟硬件設(shè)計(jì)要點(diǎn)以及關(guān)鍵技術(shù),設(shè)計(jì)出來(lái)的WiFi對(duì)講機(jī)經(jīng)測(cè)試,完全滿足對(duì)講聯(lián)絡(luò)的要求,是傳統(tǒng)模擬數(shù)字對(duì)講機(jī)的有力補(bǔ)充。
關(guān)鍵詞:對(duì)講機(jī);WiFi通信;測(cè)試效果
目前模擬、數(shù)字對(duì)講機(jī)已經(jīng)得到了廣泛應(yīng)用,但是,在樓房、廠房等較為分散的有阻擋的區(qū)域之間,這些模擬和數(shù)字對(duì)講機(jī)就失去了作用?,F(xiàn)在,以太網(wǎng)和WiFi無(wú)線網(wǎng)絡(luò)已經(jīng)非常普遍,特別是特大型企業(yè)內(nèi)部的局域網(wǎng)和WiFi無(wú)線網(wǎng)絡(luò)基本上實(shí)現(xiàn)了網(wǎng)絡(luò)全覆蓋,在這些企業(yè)中,利用現(xiàn)有的有線和無(wú)線網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)講通話等工作聯(lián)絡(luò)是非常需要的。為此,我們?cè)O(shè)計(jì)了WiFi對(duì)講機(jī),通過(guò)WiFi網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)遠(yuǎn)程對(duì)講。
通過(guò)MIC采集聲音信號(hào)并進(jìn)行A/D轉(zhuǎn)換,MCU對(duì)A/D轉(zhuǎn)換過(guò)的數(shù)字信號(hào)進(jìn)行編碼,再把編碼后的數(shù)據(jù)以50ms為一包,按照選擇的通道,通過(guò)WiFi的組播發(fā)送出去。在收到其他對(duì)講機(jī)發(fā)來(lái)的組播數(shù)據(jù)包后,MCU進(jìn)行解碼,并緩存150ms的語(yǔ)音數(shù)據(jù),待緩存滿后開始取出緩存的數(shù)據(jù)進(jìn)行D/A轉(zhuǎn)換,把語(yǔ)音數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào),再經(jīng)功放后接入喇叭,播放出聲音。
和傳統(tǒng)對(duì)講機(jī)一樣,WiFi對(duì)講機(jī)設(shè)置有通道選擇旋鈕,共16個(gè)通道,每一個(gè)通道對(duì)應(yīng)一個(gè)組播地址,相同組播地址的對(duì)講機(jī)能夠?qū)崿F(xiàn)語(yǔ)音數(shù)據(jù)的相互收發(fā),實(shí)現(xiàn)分組對(duì)講。
WiFi無(wú)線信號(hào)會(huì)隨著對(duì)講機(jī)的移動(dòng)出現(xiàn)信號(hào)飄移,為了使語(yǔ)音播放更流暢,需要對(duì)收到的語(yǔ)音數(shù)據(jù)進(jìn)行緩存,這樣,偶爾出現(xiàn)傳輸延遲,也不至于引起語(yǔ)音播放的卡頓。緩存時(shí)間越長(zhǎng),播放越流暢,但時(shí)間過(guò)長(zhǎng)就會(huì)有延遲的感覺。本設(shè)計(jì)采用150ms的緩存,這樣,播放的聲音聽起來(lái)基本感覺不到延遲,而又起到了補(bǔ)償傳輸延遲避免卡頓的作用。
無(wú)線傳輸語(yǔ)音數(shù)據(jù)要盡量少地占用帶寬,以便減少傳輸時(shí)間,使MCU能夠有丟包重傳的處理時(shí)間,這就需要對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行編碼和解碼。比較ADPCM、G.711、G.721等語(yǔ)音編碼,ADPCM編碼把語(yǔ)音數(shù)據(jù)按1∶4的壓縮比進(jìn)行壓縮,算法簡(jiǎn)單,占用MCU時(shí)間短,解碼后語(yǔ)音質(zhì)量良好。本設(shè)計(jì)采用了ADPCM編解碼算法。
漫游是移動(dòng)對(duì)講必須要解決的問題,以便實(shí)現(xiàn)對(duì)講機(jī)在跨越WiFi路由器時(shí)不中斷對(duì)講。對(duì)講機(jī)中的WiFi模塊在檢測(cè)到連接的路由器的信號(hào)強(qiáng)度(RSSI)小于-80DB時(shí),開始檢測(cè)其他路由器的信號(hào)強(qiáng)度,當(dāng)其他路由器的信號(hào)強(qiáng)度大于-70DB時(shí),則立刻連接到信號(hào)強(qiáng)度較強(qiáng)的這臺(tái)路由器。為了更快速地進(jìn)行路由器連接切換,在部署路由器網(wǎng)絡(luò)時(shí),所有路由器全部配置成相同的名字(SSID),這樣,漫游時(shí),對(duì)講機(jī)只檢測(cè)SSID相同的路由器的信號(hào)強(qiáng)度,使路由檢測(cè)和切換速度大大提高。
圖1 硬件構(gòu)成圖
對(duì)講機(jī)由WiFi模塊、MCU、CODEC編解碼、數(shù)字功放、MIC、SPEAK、電源部分等組成,其構(gòu)成框圖如圖1所示。
選用意法的4系列ARM芯片作為MCU,ARM芯片本身帶有128K RAM,完全滿足語(yǔ)音數(shù)據(jù)緩存和WiFi收發(fā)所需內(nèi)存,ARM芯片具有兩個(gè)SPI,一個(gè)與WiFi模塊通信,一個(gè)與編解碼芯片通信,用于收發(fā)語(yǔ)音數(shù)據(jù),還具有一個(gè)I2C接口,該接口與編解碼芯片通信,用于對(duì)編解碼芯片初始化和參數(shù)配置。
選用TI公司的內(nèi)置2W數(shù)字功放的編解碼(CODEC)芯片AIC3100,該芯片可直接接入MIC和4Ω喇叭??梢酝ㄟ^(guò)寄存器設(shè)置,進(jìn)行語(yǔ)音濾波、回音抑制、音量調(diào)節(jié)等。該芯片的I2C接口用于寄存器配置和語(yǔ)音采集與播放控制,SPI接口用于傳輸語(yǔ)音數(shù)據(jù)。
通道選擇旋鈕驅(qū)動(dòng)MCU上的GPIO,以便MCU檢測(cè)出選擇的通道,MCU檢測(cè)到所選通道后,通過(guò)SPI接口,配置WiFi模塊的組播地址,以便實(shí)現(xiàn)組內(nèi)語(yǔ)音數(shù)據(jù)的組播收發(fā),實(shí)現(xiàn)分組對(duì)講功能。
音量調(diào)節(jié)旋鈕接入MCU的一路A/D通道,以便MCU檢測(cè)出調(diào)節(jié)的音量,MCU根據(jù)測(cè)得的音量旋鈕的電阻值,通過(guò)I2C接口配置CODEC芯片的音量大小,達(dá)到音量調(diào)節(jié)的作用。
WiFi模塊選用具備SPI透?jìng)鹘涌诘牡凸那度胧侥K,天線采用模塊自帶的板載天線,工作模式選擇為STA模式,組播功能開啟。
軟件系統(tǒng)包括MCU本身初始化、WiFi模塊初始化、CODEC芯片初始化、語(yǔ)音采集播放控制、語(yǔ)音數(shù)據(jù)收發(fā)、通道檢測(cè)、音量檢測(cè)等環(huán)節(jié)。
整個(gè)軟件系統(tǒng)采用UCOSII開源的實(shí)時(shí)多任務(wù)操作系統(tǒng),分3個(gè)任務(wù):按鍵旋鈕掃描任務(wù)、語(yǔ)音采集與播放任務(wù)、WiFi通信任務(wù)。任務(wù)間通過(guò)消息進(jìn)行協(xié)同操作。
任務(wù)劃分及任務(wù)處理流程圖分別如下。圖2為任務(wù)分配圖,圖3為協(xié)議處理任務(wù)流程圖,圖4為消息處理流程圖,圖5為語(yǔ)音處理流程圖。
把所有與PTT按鍵、通道選擇旋鈕、音量調(diào)節(jié)旋鈕、開關(guān)機(jī)鍵等硬件相關(guān)的檢測(cè)放在按鍵旋鈕掃描任務(wù)中,當(dāng)發(fā)現(xiàn)某個(gè)部件狀態(tài)發(fā)生變化時(shí),就向系統(tǒng)發(fā)出相應(yīng)的消息。其他任務(wù)檢測(cè)到該消息時(shí),就做出相應(yīng)的處理。
語(yǔ)音采集與播放任務(wù)主要用來(lái)管理MCU與CODEC芯片之間的通信。當(dāng)收到PTT按下的消息時(shí),就控制CODEC芯片開始進(jìn)行MIC語(yǔ)音數(shù)據(jù)的采集,并從CODEC芯片中通過(guò)SPI口取出語(yǔ)音流數(shù)據(jù),進(jìn)行編碼儲(chǔ)存,等到語(yǔ)音數(shù)據(jù)達(dá)到約定的50ms數(shù)據(jù)時(shí),就向系統(tǒng)發(fā)出傳輸語(yǔ)音數(shù)據(jù)的消息。另一方面,當(dāng)收到外部語(yǔ)音數(shù)據(jù)時(shí),就開始解碼并緩存語(yǔ)音數(shù)據(jù),當(dāng)數(shù)據(jù)達(dá)到150ms時(shí),MCU就控制CODEC芯片開始播放收到的語(yǔ)音數(shù)據(jù)。
WiFi通信任務(wù)主要是處理WiFi通信協(xié)議并進(jìn)行雙向的語(yǔ)音組播。
圖2 任務(wù)分配圖
圖3 協(xié)議處理任務(wù)流程
圖4 其他消息處理流程
圖5 語(yǔ)音處理任務(wù)流程
對(duì)講機(jī)樣機(jī)做好后,對(duì)對(duì)講的流暢性以及漫游特性進(jìn)行了測(cè)試。在一個(gè)3000m2的廠房中部署了兩臺(tái)路由器,用4只對(duì)講機(jī)進(jìn)行測(cè)試。
把對(duì)講機(jī)兩兩設(shè)置成相同的通道,對(duì)講時(shí),不同分組的對(duì)講機(jī)可以同時(shí)對(duì)講,而不會(huì)產(chǎn)生干擾,靜止?fàn)顟B(tài)時(shí),通話流暢,但在頻繁轉(zhuǎn)身時(shí),偶爾會(huì)出現(xiàn)聲音卡頓現(xiàn)象。
在對(duì)講過(guò)程中,從一個(gè)路由器附近走向另一個(gè)路由,中間大約有一秒鐘的卡頓。
整個(gè)對(duì)講基本能夠順利進(jìn)行。
WiFi對(duì)講機(jī)能夠?qū)崿F(xiàn)不同區(qū)域的遠(yuǎn)程對(duì)講,是傳統(tǒng)模擬或數(shù)字對(duì)講機(jī)較難實(shí)現(xiàn)不同區(qū)域遠(yuǎn)程對(duì)講的有力補(bǔ)充。測(cè)試表明,設(shè)計(jì)的WiFi對(duì)講機(jī)從功能和性能上,能夠滿足對(duì)講聯(lián)絡(luò)的要求。
參考文獻(xiàn)
[1]盧瑤,宗蓓蓓,胡春濤.遠(yuǎn)程WiFi技術(shù)狀態(tài)下的手機(jī)無(wú)線對(duì)講遐想[J].西部廣播電視,2015(3):146-146.
中圖分類號(hào):TN92
文獻(xiàn)標(biāo)識(shí)碼: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