基于低能耗藍(lán)牙的半雙工語音通信
低能耗藍(lán)牙被業(yè)界廣泛認(rèn)為是實(shí)現(xiàn)物聯(lián)網(wǎng)(IoT)應(yīng)用愿景的關(guān)鍵技術(shù)。事實(shí)上,極低的功耗使其成為電池供電的物聯(lián)網(wǎng)產(chǎn)品最理想的無線通信解決方案,盡管目前低能耗藍(lán)牙技術(shù)規(guī)范還是局限于幾種特定應(yīng)用,但是,創(chuàng)新的解決方案可促使這項(xiàng)技術(shù)拓展到不同的應(yīng)用領(lǐng)域,例如,多媒體流。按照這個(gè)發(fā)展方向,本文介紹一個(gè)叫做BlueVoice的低能耗藍(lán)牙設(shè)備語音流應(yīng)用。
本文引用地址:http://butianyuan.cn/article/201605/291324.htm本文從支持語音流服務(wù)所需的擴(kuò)展服務(wù)集開始介紹BlueVoice應(yīng)用,然后在實(shí)際硬件設(shè)備上評(píng)估BlueVoice的性能。在所選的硬件平臺(tái)上,BlueVoice應(yīng)用完全支持語音流服務(wù),同時(shí)避免能源浪費(fèi)。
I. 前言
經(jīng)歷過去幾十年的快速增長(zhǎng),互聯(lián)網(wǎng)幾乎滲透到人類社會(huì)日常生活的方方面面。未來互聯(lián)網(wǎng)將擴(kuò)展到萬物互聯(lián),數(shù)十億甚至數(shù)百億個(gè)有唯一身份的“物品”通過無線通信與人類和周圍環(huán)境交互,執(zhí)行高級(jí)任務(wù)。在這一構(gòu)想中,“物品”可能是傳感器、致動(dòng)器、家電、玩具,總之,可以是任何能夠被識(shí)別的虛擬或?qū)嶓w物品,這種互聯(lián)網(wǎng)演進(jìn)構(gòu)想被稱為物聯(lián)網(wǎng)(IoT)。
物聯(lián)網(wǎng)概念是通過標(biāo)準(zhǔn)協(xié)議解決方案(即互聯(lián)網(wǎng)協(xié)議)和無線通信接口,把所有產(chǎn)品設(shè)備連接在一起,組成一個(gè)全球網(wǎng)絡(luò)。實(shí)現(xiàn)萬物互聯(lián),雖然可以使用現(xiàn)有的大量的射頻通信技術(shù),但是當(dāng)物聯(lián)網(wǎng)產(chǎn)品是部署在現(xiàn)場(chǎng)的自主型電池供電裝置時(shí),低功耗無線通信技術(shù)才會(huì)是最適合的通信解決方案。在這個(gè)方面,低能耗藍(lán)牙(Bluetooth LE) [1]技術(shù)被視為最有效的物聯(lián)網(wǎng)通信解決方案,同時(shí)正在融入互聯(lián)網(wǎng)世界[2]。
在今天的物聯(lián)網(wǎng)應(yīng)用中,低能耗藍(lán)牙解決方案主要用于生命參數(shù)監(jiān)視用途。除傳統(tǒng)的監(jiān)視服務(wù)外,近幾年業(yè)界開始探索基于其它技術(shù)的先進(jìn)應(yīng)用。例如,參考文獻(xiàn)[3]提出并分析了基于IEEE802.15.4的網(wǎng)絡(luò)[4]語音通信。在這個(gè)方面,通過低能耗藍(lán)牙傳輸多媒體數(shù)據(jù)還是處于起步階段,缺少可用的解決方案主要是因?yàn)樽畛踉O(shè)想時(shí)未考慮到這些應(yīng)用(例如,最初主要考慮的是醫(yī)療、健身等應(yīng)用)。本文以在低能耗藍(lán)牙設(shè)備上支持語音流服務(wù)的BlueVoice應(yīng)用為例,探討如何解決這些技術(shù)限制問題。我們先了解一下低能耗藍(lán)牙技術(shù),然后詳細(xì)介紹支持該新應(yīng)用概念所需的擴(kuò)展服務(wù)集,再介紹應(yīng)用設(shè)計(jì),最后在STM32 Nucleo L476板上測(cè)試實(shí)際性能。
本文的有要內(nèi)容安排如下:第二章介紹低能耗藍(lán)牙工作原理,先描述整個(gè)工作棧;然后介紹配置文件(Profiles)概念。第三章介紹應(yīng)用方案設(shè)計(jì),描述其低能耗藍(lán)牙配置文件,然后介紹其設(shè)計(jì)原則、設(shè)計(jì)實(shí)現(xiàn)及實(shí)際性能。第四章是結(jié)論。
M. Gentili and R. Sannino are with AST Audio/Sensors Platforms R&D and Audio SW Ecosystem, STMicroelectronics, Agrate Brianza, Italy (e-mail: [maurizio.gentilijroberto.sannino]@st.com).
M. Petracca is with Scuola Superiore Sant’Anna di Pisa and National Inter-University Consortium for Telecommunications, Pisa, Italy (e-mail:matteo.petracca@sssup.it) .
II. 低能耗藍(lán)牙技術(shù)概述
BLE低能耗藍(lán)牙規(guī)范于2010年寫入藍(lán)牙4.0核心規(guī)范,盡管與基本藍(lán)牙相似,但是低能耗藍(lán)牙規(guī)范主要是為超低功耗應(yīng)用設(shè)計(jì)開發(fā)。通過低能耗藍(lán)牙技術(shù)連接電池供電設(shè)備的潛在應(yīng)用非常少,醫(yī)療、健身和智慧家居是其中僅有的幾例。
圖1. 低能耗藍(lán)牙協(xié)議棧
如圖1所示,低能耗藍(lán)牙協(xié)議??傮w結(jié)構(gòu)主要由兩個(gè)部分組成:控制器和主機(jī)。應(yīng)用軟件使用協(xié)議棧主機(jī)層的協(xié)議提供的服務(wù)。主機(jī)層分為五層:邏輯鏈路控制和適配協(xié)議(L2CAP)、屬性協(xié)議(ATT)、通用屬性配置文件(GATT)、安全管理協(xié)議(SM)、通用訪問配置文件(GAP)。控制器部分只有兩層:物理層(PHY)和鏈路層(LL)。如圖1所示,主機(jī)-控制器(HCI)接口是控制器與主機(jī)的通信通道。
物理層負(fù)責(zé)比特調(diào)制,通過無線通道收發(fā)數(shù)據(jù)。最高數(shù)據(jù)速率是1 Mb/s,典型通信距離是幾十米。
鏈路層規(guī)定兩個(gè)設(shè)備之間雙向通信的功能。低能耗藍(lán)牙節(jié)點(diǎn)有兩個(gè)角色:主設(shè)備和從設(shè)備。通常是主設(shè)備(例如,筆記本電腦、智能手機(jī))搜索從設(shè)備(例如,體感設(shè)備);必要時(shí),從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)。從設(shè)備通常處于睡眠狀態(tài),并在固定間隔內(nèi)喚醒,以便被主設(shè)備搜到。
在鏈路層之上,邏輯鏈路控制和適配協(xié)議(L2CAP)有兩個(gè)主要功能。該協(xié)議的主要作用是提供多路傳輸功能,按照標(biāo)準(zhǔn)低能耗藍(lán)牙分組數(shù)據(jù)格式,封裝轉(zhuǎn)換頂層多協(xié)議數(shù)據(jù)。安全管理協(xié)議(SM)和通用訪問配置文件(GAP)分別提供數(shù)據(jù)安全和服務(wù)管理功能。詳細(xì)的說,安全管理協(xié)議定義密鑰的生成方式,以及如何在兩個(gè)設(shè)備(主從設(shè)備)之間交換密鑰,建立安全加密通信通道,而通用訪問配置文件則規(guī)定兩個(gè)設(shè)備如何在底層交互操作
屬性協(xié)議(ATT)和通用屬性配置文件是開發(fā)新應(yīng)用時(shí)需要重點(diǎn)考慮的兩個(gè)協(xié)議組件。屬性協(xié)議是一個(gè)無狀態(tài)的客戶機(jī)/服務(wù)器協(xié)議:不考慮設(shè)備的底層角色是主設(shè)備還是從設(shè)備,每個(gè)設(shè)備都可以設(shè)為服務(wù)器、客戶機(jī)或是客戶機(jī)兼服務(wù)器。客戶機(jī)請(qǐng)求服務(wù)器數(shù)據(jù)發(fā)送數(shù)據(jù),服務(wù)器向客戶機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)以屬性的形式保存在服務(wù)器內(nèi),每個(gè)屬性都含有GATT管理的數(shù)據(jù),而且該數(shù)據(jù)被分配一個(gè)通用唯一標(biāo)識(shí)符(UUID)。通過一個(gè)L2CAP專用通道,屬性協(xié)議在服務(wù)器屬性與客戶機(jī)之間建立一條通信通道。通用屬性配置文件(GATT)在屬性協(xié)議層添加一個(gè)數(shù)據(jù)抽象模型,負(fù)責(zé)搜索屬性協(xié)議保存的數(shù)據(jù),在兩個(gè)設(shè)備之間交換特征。每個(gè)低能耗藍(lán)牙設(shè)備都有一套可能屬性(存儲(chǔ)服務(wù))和特征(與存儲(chǔ)服務(wù)相關(guān)的屬性)。如果在低能耗藍(lán)牙棧上建立一個(gè)新應(yīng)用,則必須定義屬性和特征。某一特定應(yīng)用的特征、屬性和底層規(guī)范合稱配置文件,標(biāo)準(zhǔn)配置文件可保證不同品牌的產(chǎn)品能夠互聯(lián)互通。
III. BLUEVOICE應(yīng)用
下面我們介紹BlueVoice應(yīng)用,首先定義語音通信低能耗藍(lán)牙配置文件,然后討論所涉及設(shè)備的通信角色、音頻處理和壓縮選擇、數(shù)據(jù)分組問題和帶寬要求。我們提出兩個(gè)在音頻采集和功耗方面不同的系統(tǒng)配置,以滿足不同的應(yīng)用要求。本章最后一部分介紹在一個(gè)實(shí)際硬件設(shè)備上實(shí)現(xiàn)的BlueVoice應(yīng)用,然后比較并討論實(shí)際測(cè)量到的應(yīng)用性能,例如,功耗、存儲(chǔ)器占用、處理性能要求和自動(dòng)語音識(shí)別(ASR)性能。
A. 服務(wù)定義
考慮到音頻流用例不屬于低能耗藍(lán)牙標(biāo)準(zhǔn)配置文件,為實(shí)現(xiàn)語音流服務(wù),BlueVoice應(yīng)用在低能耗藍(lán)牙協(xié)議棧上,定義了一個(gè)叫做BlueVoice Service(BVS)的“廠商專用配置文件”,指定了服務(wù)器與客戶機(jī)之間交換語音數(shù)據(jù)的方式。此外,考慮到半雙工通信需要特別的設(shè)計(jì)選擇,本章稍后詳細(xì)討論這個(gè)問題。
如前文所述,屬性協(xié)議ATT是通用屬性配置文件GATT在不同設(shè)備之間交換數(shù)據(jù)的傳輸協(xié)議,屬性是ATT定義的最小的實(shí)體,是可尋址的信息段(內(nèi)置UUID標(biāo)識(shí)碼),可能含有用戶數(shù)據(jù)或關(guān)于屬性本身架構(gòu)的元信息,例如,權(quán)限、加密和授權(quán)屬性。GATT服務(wù)器屬性按特定順序組成一個(gè)服務(wù)序列,序列開始部分是服務(wù)聲明屬性,后面跟一個(gè)或多個(gè)特征和可能的描述符。每個(gè)特征都是一個(gè)被披露的屬性。除標(biāo)準(zhǔn)配置文件UUID外,在定制應(yīng)用中,開發(fā)人員可使用獨(dú)有的和廠商專用的UUID開發(fā)有自己特征的新服務(wù),BlueVoice應(yīng)用就是這種情況??紤]到單向音頻流系統(tǒng)不對(duì)稱性,服務(wù)器通過BVS配置文件向客戶機(jī)披露數(shù)據(jù)類型和格式以及訪問方式。BVS服務(wù)包含下列屬性,如圖2所示。
服務(wù)聲明(Handle 0x0010)
– UUID: 標(biāo)準(zhǔn)16位UUID,用于主服務(wù)聲明(0x2800).
– 權(quán)限:讀
– 數(shù)值: 獨(dú)有128位BVS UUID.
特征聲明 (Handle 0x0011)
– UUID: 標(biāo)準(zhǔn)16位UUID,用于特征聲明 (0x2803).
– 權(quán)限: 讀
– 數(shù)值: 獨(dú)有128位音頻UUID, 僅用于通知, Handle: 0x012.
特征數(shù)據(jù) (Handle 0x0012)
– UUID: 獨(dú)有128位音頻UUID.
– 權(quán)限: 無
– 數(shù)值: 實(shí)際音頻數(shù)據(jù)
特征聲明 (Handle 0x0014)
– UUID: 標(biāo)準(zhǔn)16位UUID,用于特征聲明 (0x2803).
– 權(quán)限:讀
– 數(shù)值: 獨(dú)有128位同步UUID,僅用于通知,Handle: 0x0015.
特征數(shù)據(jù) (Handle 0x0015)
– UUID: 獨(dú)有128位同步UUID.
– 權(quán)限: 無
– 數(shù)值: 實(shí)際同步數(shù)據(jù)
根據(jù)該標(biāo)準(zhǔn),主服務(wù)聲明是服務(wù)的第一個(gè)屬性,其數(shù)值域包含該聲明引入的UUID定義。BlueVoice應(yīng)用聲明使用一個(gè)128位獨(dú)有的UUID(BVS UUID)。BVS包含兩個(gè)特征,分別叫做音頻(Audio)和同步(Sync) 特征。在低能耗藍(lán)牙規(guī)范中,每個(gè)特征至少包含兩個(gè)屬性,分別是特征聲明和特征數(shù)值。特征聲明以元數(shù)據(jù)的形式定義其屬性,特征數(shù)值則是包含實(shí)際特征數(shù)據(jù)。在BlueVoice情況中,音頻和同步特征都包含一個(gè)單一的由獨(dú)有128位UUID定義 (AudioData和SyncData UUID) 的屬性,分別含有實(shí)際音頻數(shù)據(jù)和邊信息同步數(shù)值。音頻和同步特征聲明將AudioData和SyncData屬性定義為”僅通知”,未取得客戶機(jī)的讀寫權(quán)限,表示音頻數(shù)據(jù)和同步數(shù)據(jù)只以通知的形式傳輸,服務(wù)器不答復(fù)客戶機(jī)。為與低能耗藍(lán)牙服務(wù)的分層架構(gòu)一致,其它特征可能會(huì)增加到未來發(fā)布的BlueVoice應(yīng)用。
圖2. BlueVoice服務(wù)(BVS)定義
B. 應(yīng)用設(shè)計(jì)
本章主要介紹BlueVoice應(yīng)用設(shè)計(jì)的(i)低能耗藍(lán)牙通信(ii)音頻處理。
1) 低能耗藍(lán)牙通信
按照低能耗藍(lán)牙協(xié)議,通信可以是多點(diǎn)廣播,也可以是點(diǎn)對(duì)點(diǎn)連接。BlueVoice應(yīng)用鏈路層使用連接通信模式,在兩個(gè)設(shè)備之間建立永久性的點(diǎn)對(duì)點(diǎn)連接,這兩個(gè)設(shè)備扮演兩個(gè)不同的角色:中央設(shè)備和周邊設(shè)備。中央設(shè)備又稱主設(shè)備,支持與周邊設(shè)備(從設(shè)備)相關(guān)的復(fù)雜功能。中央設(shè)備是發(fā)起通信連接,執(zhí)行自適應(yīng)跳頻,數(shù)據(jù)加密,管理通信時(shí)序,定義設(shè)備間數(shù)據(jù)交換方式。該角色分配符合低能耗藍(lán)牙的非對(duì)稱設(shè)計(jì)概,為能效要求高的設(shè)備分配更少的工作任務(wù)。電池供電的便攜設(shè)備通常是從設(shè)備,不過,必須說明的是,根據(jù)規(guī)范[1],每個(gè)設(shè)備在每個(gè)連接事件發(fā)生時(shí)可單獨(dú)發(fā)送數(shù)據(jù),且角色不在數(shù)據(jù)吞吐量上強(qiáng)加限制或優(yōu)先權(quán)。考慮到半雙工通信情況,BlueVoice應(yīng)用可運(yùn)行在自主的電池供電無線傳感設(shè)備上,且這些設(shè)備配備麥克風(fēng)(和最終標(biāo)量傳感器,如典型物聯(lián)網(wǎng)概念中無處不在的監(jiān)視應(yīng)用), 因此,角色分配不再與收發(fā)功能有關(guān)。
在鏈路層之上,GATT層定義互動(dòng)設(shè)備的客戶機(jī)和服務(wù)器角色,與前文描述的主設(shè)備和從設(shè)備無關(guān)。服務(wù)器是提供信息的設(shè)備,而客戶機(jī)是請(qǐng)求或接收最新信息的設(shè)備。考慮到單向音頻流是非對(duì)稱系統(tǒng),裝備麥克風(fēng)的設(shè)備是唯一有語音信息的設(shè)備,因此可將其視為通信服務(wù)器,另一個(gè)設(shè)備是客戶機(jī),向服務(wù)器發(fā)送信息請(qǐng)求,并接收服務(wù)器發(fā)起的含有語音數(shù)據(jù)的更新信息。在雙向通信系統(tǒng)中,語音數(shù)據(jù)是雙向傳輸,架構(gòu)是對(duì)稱的,中央設(shè)備和周邊設(shè)備都配備麥克風(fēng),都可以充當(dāng)服務(wù)器,輸出任何屬性格式的音頻數(shù)據(jù)。同時(shí),服務(wù)器也能充當(dāng)客戶機(jī),發(fā)送信息請(qǐng)求,并接受另一個(gè)設(shè)備發(fā)送的更新信息。
雙向語音數(shù)據(jù)流是基于服務(wù)器以固定間隔向客戶機(jī)發(fā)送通知,不需要接收設(shè)備發(fā)送請(qǐng)求或回復(fù)信號(hào)。從設(shè)備在上電階段進(jìn)入廣播模式,以低頻發(fā)送廣播數(shù)據(jù)包,主設(shè)備進(jìn)入搜索模式,掃描是否有其它設(shè)備存在,反之亦然。收到廣播數(shù)據(jù)包代表主設(shè)備發(fā)現(xiàn)了相關(guān)從設(shè)備,然后,主設(shè)備發(fā)送一個(gè)連接請(qǐng)求。在連接建立過程結(jié)束后,按照所選的通信傳輸方向:中央設(shè)備至周邊設(shè)備或周圍設(shè)備-中央設(shè)備,以固定間隔從服務(wù)器向客戶機(jī)發(fā)送含有音頻數(shù)據(jù)的異步通知數(shù)據(jù)包。圖3所示是BlueVoice在GATT 層的角色分配。
圖3:BlueVoice配置文件角色分配
評(píng)論