B. 應(yīng)用設(shè)計
本章主要介紹BlueVoice應(yīng)用設(shè)計的(i)低能耗藍牙通信(ii)音頻處理。
1) 低能耗藍牙通信
按照低能耗藍牙協(xié)議,通信可以是多點廣播,也可以是點對點連接。BlueVoice應(yīng)用鏈路層使用連接通信模式,在兩個設(shè)備之間建立永久性的點對點連接,這兩個設(shè)備扮演兩個不同的角色:中央設(shè)備和周邊設(shè)備。中央設(shè)備又稱主設(shè)備,支持與周邊設(shè)備(從設(shè)備)相關(guān)的復(fù)雜功能。中央設(shè)備是發(fā)起通信連接,執(zhí)行自適應(yīng)跳頻,數(shù)據(jù)加密,管理通信時序,定義設(shè)備間數(shù)據(jù)交換方式。該角色分配符合低能耗藍牙的非對稱設(shè)計概,為能效要求高的設(shè)備分配更少的工作任務(wù)。電池供電的便攜設(shè)備通常是從設(shè)備,不過,必須說明的是,根據(jù)規(guī)范[1],每個設(shè)備在每個連接事件發(fā)生時可單獨發(fā)送數(shù)據(jù),且角色不在數(shù)據(jù)吞吐量上強加限制或優(yōu)先權(quán)??紤]到半雙工通信情況,BlueVoice應(yīng)用可運行在自主的電池供電無線傳感設(shè)備上,且這些設(shè)備配備麥克風(fēng)(和最終標(biāo)量傳感器,如典型物聯(lián)網(wǎng)概念中無處不在的監(jiān)視應(yīng)用), 因此,角色分配不再與收發(fā)功能有關(guān)。
在鏈路層之上,GATT層定義互動設(shè)備的客戶機和服務(wù)器角色,與前文描述的主設(shè)備和從設(shè)備無關(guān)。服務(wù)器是提供信息的設(shè)備,而客戶機是請求或接收最新信息的設(shè)備。考慮到單向音頻流是非對稱系統(tǒng),裝備麥克風(fēng)的設(shè)備是唯一有語音信息的設(shè)備,因此可將其視為通信服務(wù)器,另一個設(shè)備是客戶機,向服務(wù)器發(fā)送信息請求,并接收服務(wù)器發(fā)起的含有語音數(shù)據(jù)的更新信息。在雙向通信系統(tǒng)中,語音數(shù)據(jù)是雙向傳輸,架構(gòu)是對稱的,中央設(shè)備和周邊設(shè)備都配備麥克風(fēng),都可以充當(dāng)服務(wù)器,輸出任何屬性格式的音頻數(shù)據(jù)。同時,服務(wù)器也能充當(dāng)客戶機,發(fā)送信息請求,并接受另一個設(shè)備發(fā)送的更新信息。
雙向語音數(shù)據(jù)流是基于服務(wù)器以固定間隔向客戶機發(fā)送通知,不需要接收設(shè)備發(fā)送請求或回復(fù)信號。從設(shè)備在上電階段進入廣播模式,以低頻發(fā)送廣播數(shù)據(jù)包,主設(shè)備進入搜索模式,掃描是否有其它設(shè)備存在,反之亦然。收到廣播數(shù)據(jù)包代表主設(shè)備發(fā)現(xiàn)了相關(guān)從設(shè)備,然后,主設(shè)備發(fā)送一個連接請求。在連接建立過程結(jié)束后,按照所選的通信傳輸方向:中央設(shè)備至周邊設(shè)備或周圍設(shè)備-中央設(shè)備,以固定間隔從服務(wù)器向客戶機發(fā)送含有音頻數(shù)據(jù)的異步通知數(shù)據(jù)包。圖3所示是 BlueVoice在GATT 層的角色分配。
圖3:BlueVoice配置文件角色分配
2)音頻處理
BlueVoice的音頻處理目的是在根據(jù)應(yīng)用所選的接收端上,取得8kHz 或16 kHz的目標(biāo)音頻采樣。事實上,對于低功耗要求極其嚴格但是對音質(zhì)要求不高的應(yīng)用場景,例如,無需人耳聽清楚的自動語音識別服務(wù)輸入音頻,8kHz采樣率可能是一個不錯的選擇。
使用自適應(yīng)差分脈沖碼調(diào)制算法壓縮低能耗藍牙音頻傳輸信號,可使音頻信號適用于現(xiàn)有的數(shù)據(jù)傳輸速率,同時最大限度縮減射頻傳輸時間以及功耗。我們使用數(shù)字 MEMS麥克風(fēng)設(shè)計一個全數(shù)字解決方案,尺寸和音質(zhì)等特性使其適用于無線傳感器設(shè)備。圖4所示是16 kHz采樣率的完整語音處理鏈。該解決方案首先采集數(shù)字MEMS麥克風(fēng)生成的1 MHz 的1位脈沖密度調(diào)制(PDM)信號,并將其轉(zhuǎn)換成16 kHz 的16位脈沖編碼調(diào)制(PCM)采樣,然后以16000個采樣/秒的采樣率,再將其壓縮成4位ADPCM采樣信號,并準(zhǔn)備發(fā)送。
此外,以較低的頻率發(fā)送邊信息同步數(shù)據(jù)集合,所需帶寬是64 kbps音頻數(shù)據(jù)與300 bps同步信息數(shù)據(jù)之和,總計64.3 kbps。對于8kHz采樣率,最終ADPCM采樣率是8000個采樣/秒,導(dǎo)致31.3 kbps帶寬需求,包括邊信息。下面章節(jié)深入介紹上述模塊。
圖4:16kHz 配置的BlueVoice數(shù)據(jù)傳輸鏈
MEMS麥克風(fēng)的容性傳感器生成的模擬信號經(jīng)放大和高速率采樣后,交由整合量化和噪聲修整操作的內(nèi)部sigma-delta調(diào)制器處理,輸出的數(shù)據(jù)是一個單一的高采樣率的PDM格式比特,PCM轉(zhuǎn)換是從PDM到無線通道發(fā)送壓縮音頻數(shù)據(jù)的整個處理鏈的中間環(huán)節(jié)。為了把PDM流轉(zhuǎn)換成PCM數(shù)據(jù),需要使用一個抽取濾波器和兩個可單獨配置的濾波器(低通濾波器和高通濾波器。該處理模塊輸出16位PCM格式采樣流。按照所選采樣頻率,采用一個不同配置的抽取濾波器,以取得16位PCM數(shù)據(jù)采樣。
ADPCM編碼模塊壓縮PCM采樣,通過減少數(shù)據(jù)包傳輸量,節(jié)省傳輸帶寬,降低能耗,如前文所述,ADPCM 是一個用于損耗波形編碼的壓縮算法,其基本原理是根據(jù)上一個數(shù)值預(yù)測當(dāng)前數(shù)值,只傳輸自適應(yīng)量化步驟量化的實際值與預(yù)測值的差值。存在諸多可選壓縮標(biāo)準(zhǔn),卻單單選用ADPCM標(biāo)準(zhǔn),這是因為它是基于波形編碼方法,與基于聲碼器的復(fù)雜解決方案相比,更適用于傳感器網(wǎng)絡(luò)設(shè)備(通?;?a target="_blank">微控制器)。在 BlueVoice應(yīng)用中,每個16位PCM采樣都壓縮成4位ADPCM數(shù)據(jù),這樣所需的應(yīng)用傳輸帶寬是32 kbps或64 kbps,至于具體速率取決于采樣頻率,而且兼容低能耗藍牙流媒體功能。
如前文所述,BlueVoice應(yīng)用的總體帶寬實際需求高于32 kbps或64 kbps的理論值,這是因為BlueVoice為提高通信穩(wěn)健性,在通過通道發(fā)送數(shù)據(jù)時增加了附加信息。16 kHz 配置采用10 ms連接間隔,而8 kHz 配置采用25 ms連接間隔。事實上,如果被傳輸?shù)臄?shù)據(jù)量較少,可提高連接間隔數(shù)值,從而節(jié)省能源。為盡可能地利用每個數(shù)據(jù)包現(xiàn)有有效載荷,語音數(shù)據(jù)包發(fā)送20個字節(jié)。
因此,在16 kHz配置中,語音數(shù)據(jù)每10 ms發(fā)送4個數(shù)據(jù)包,而在8 kHz配置中,語音數(shù)據(jù)每20 ms發(fā)送4個數(shù)據(jù)包,結(jié)果傳輸帶寬分別是64 kbps和32 kbps。發(fā)送器的邊信息發(fā)送頻率較低,每160 ms發(fā)送一個6字節(jié)的附加包,對應(yīng)16個或8個連接間隔。圖5描述了低能耗藍牙協(xié)議棧上的數(shù)據(jù)分組總體策略。通過音頻特征,每10ms或20 ms連接間隔,發(fā)送4個語音數(shù)據(jù)包(每包20字節(jié)),而發(fā)送器邊信息的發(fā)送是,通過同步特征,每160ms間隔發(fā)送一個附加數(shù)據(jù)包。
圖5:BlueVoice數(shù)據(jù)分組機制
C. 在實際硬件上實現(xiàn)應(yīng)用
為了在支持低能耗藍牙通信的不是十分復(fù)雜的實際硬件無線傳感器網(wǎng)絡(luò)平臺上評估BlueVoice的可行性,我們在實際硬件設(shè)備上實現(xiàn)了第三章B部分所描述的應(yīng)用軟件的全部功能。所選硬件平臺是意法半導(dǎo)體的STM32 Nucleo L476開發(fā)板[5],這是一個基于STM32L476 80 MHz 32位ARM Cortex-M4微控制器的開放式開發(fā)平臺。我們選擇STM32 Nucleo開發(fā)板的原因是,板載微控制器的性能高于普通無線傳感器網(wǎng)絡(luò)平臺,同時還具備很高的靈活性和多功能性。該開發(fā)板配備很多接口和擴展排針,插接專用擴展板擴大板子功能簡單容易,方便設(shè)計人員研究、開發(fā)和驗證新創(chuàng)意。特別值得一提的是,STM32L4微控制器具有市場領(lǐng)先的低功耗特性,其內(nèi)置數(shù)字濾波器配合Sigma-Delta調(diào)制器(DFSDM)外設(shè),可實現(xiàn)圖4的PDM至PCM的格式轉(zhuǎn)換,這些特性使其特別適合BlueVoice應(yīng)用。通過在STM32Nucleo開發(fā)板上接插一塊低能耗藍牙連接板和一塊麥克風(fēng)擴展板,BlueVoice中央模塊和周邊模塊可以組成一個基于 STM32Nucleo的對稱硬件配置,展示一個半雙工通信通道。低能耗藍牙連接板基于意法半導(dǎo)體的BlueNRG [6],BlueNRG是一個超低功耗的低能耗藍牙單模網(wǎng)絡(luò)處理器,兼容藍牙規(guī)范4.0版,可設(shè)為主設(shè)備和從設(shè)備模式,當(dāng)?shù)湍芎乃{牙協(xié)議棧啟動時,數(shù)據(jù)傳輸最大電流8.2 mA,可降至1.7 uA。附加的麥克風(fēng)擴展板用于采集語音信號,基于意法半導(dǎo)體的MP34DT01 [7]數(shù)字萬向MEMS 麥克風(fēng),聲學(xué)過載點120 dBSPL, 信噪比63 dB,靈敏度-26 dBFS。MP34DT01采用一個容式傳感器和一個內(nèi)置sigma-delta調(diào)制器和噪聲修整機制的集成電路,提供1-3.25 MHz的PDM輸出。
圖6是實際硬件設(shè)備的框圖:STM32微控制器通過與外設(shè)模塊DMA相連的DFSDM模塊采集麥克風(fēng)的PDM采樣輸出,同時通過一套專用應(yīng)用程序界面 (API)和串行外設(shè)接口(SPI)與BlueNRG模塊通信,對于中央模塊和周邊模塊,模塊化架構(gòu)是對稱的。框圖中還有一個USB音頻接口,用于向PC 機提供重構(gòu)的音頻信號。圖7是硬件設(shè)備的實際原型。
評論