天天看點

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

--------------------------------------------------------------------------------------------------------

文章版權歸為微信公衆号 無線技術聯盟,轉載請注明出處.

作者:XCODER

--------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------

前面談完了藍牙5大資料傳輸,遠距離傳輸,還剩最後也是很重要的一個特性,藍牙5大廣播包資料。

首先我們來科普一下何為藍牙的廣播包,以及它的用途。

藍牙廣播

藍牙從機裝置正常工作時會以一定頻率發送廣播包,告知周圍裝置可以來連接配接自己(connectable),或者單純發送廣播資料(non-connectable)給到周圍主裝置。從機廣播中可能包含裝置的相關資訊,裝置名稱,裝置具有的服務uuid 等,SIG有明确規定。

廣播包類型

廣播包可以拆分為兩種,一種是從機裝置的廣播的資料,一種是主機裝置掃描到從機的廣播包後響應傳回給沖擊裝置的資料。

  • 廣播包 (Advertising Data):裝置端主動發送的周期資料。
  • 響應包 (Scan Response):主機主動掃描的情況下, 發送掃描請求給從機, 從機傳回掃描響應資料。
細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

廣播資料包格

有效資料(significant)和無效資料(non-significant)兩部分。

有效資料部分包含若幹個廣播資料單元,稱為 AD Structure 。如圖所示,AD Structure 的組成是:

長度 Len ,表示這個 AD Structure 的長度(除去 len本身 1)

類型 AD Type

标記這段廣播資料代表什麼, 比如裝置名, uuid 等。

資料 AD data

無效資料部分廣播包的長度必須是 31 個 byte,如果有效資料部分不到 31 自己,剩下的就用 0 補全。這部分的資料是無效的。

我們以一個例子說明廣播包和他的作用:

下圖為CC2540 BLE抓包工具抓包的截圖,右邊AdvData内的資料即為廣播資料,該廣播資料由工程師自己設計,最大支援的位元組為31個直接,兩橫條之間Time的內插補點即為廣播間隔。

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

通常情況,廣播包的作用如下:

  1. 作為可連接配接裝置時,廣播包内帶有産品資訊,比如品牌logo,MAC位址等.
  2. 作為beacon裝置時,可能攜帶傳感器資料上報給集中器,可以攜帶beacon編号資訊,MAC位址,特殊編碼資料。

作為可連接配接裝置的廣播,藍牙4.2和藍牙5.0并無太多差異。

但對應Beacon應用來說,廣播資料和可傳輸的資料長度就顯得尤為重要。beacon廣播結合Scan端集中器(Broadcaster and Observer)可以用于智能家具節點資料上報,工廠自動化裝置資料上傳,人員管控,冷鍊物流監控,特殊區域布防等多種應用場景;beacon廣播結合地圖亦可以作為室内導航定位的輔助工具,為室内定位提供良好的解決方案(目前已經相繼出現好幾家機場,醫院,商城實作手機室内導航,其原理即依靠大量布置beacon點和手機地圖比對,利用手機掃描周圍beacon廣播資訊,實作定位與導航,但定位精度存在偏差,不如UWB精度高)。

BLE的低功耗紐扣電池供電特性,小體積,可以和手機互聯互通,使得beacon在上述應用呈爆發式增長。但其中會存在一個棘手的問題,31位元組的廣播包太短,每次廣播能攜帶的有效資料太少,另外廣播通道太少,隻有37,38,39三個通道廣播,可能存在多裝置上報資料信道的幹擾問題。

藍牙5擴充了廣播資料的有效載荷,提升了廣播通道數,為上述應用和新的應用提供了更多技術儲備。下面我們就來看看藍牙5的8x 大廣播包。

藍牙5特性三 【8X 大廣播包】

藍牙4.x協定規定藍牙廣播資料包每包資料最大隻支援31位元組資料傳輸,廣播信道限制在37,38,39三個信道。在原有的用于傳輸廣播資料的PDU(ADV_IND、ADV_DIRECT_IND、ADV_NONCONN_IND以及ADV_SCAN_IND,稱作legacy PDUs)的基礎上,藍牙5增加了擴充的PDU(ADV_EXT_IND、AUX_ADV_IND、AUX_SYNC_IND以及AUX_CHAIN_IND,稱作extended advertising PDUs),同時也允許藍牙在除開37,38,39三個通道之外的其他37個信道上發送長度介于0-255位元組的資料。

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

藍牙5.0把廣播信道抽象為兩類,一種叫主廣播信道(primary advertisement channels),另一種叫次廣播信道,或者第二廣播信道(Secondary Advertising Packets)。

主廣播信道隻工作在37,38,39三個信道,最大廣播位元組為31位元組,廣播的資料類型增加了一個ADV_EXT_IND指令,ADV_EXT_IND指令即為告知監聽裝置,我要廣播大資料包廣播了。

ADV_EXT_IND指令包含要在第二類次廣播信道上發送的内容,第二廣播信道發送廣播資料的信道,實體PHY層,1M PHY,Coded PHY,2M PHY 等。

其示意如下圖所示,首先在主廣播信道廣播ADV_EXT_IND資訊,然後利用次廣播信道(0-36 channel)廣播255byte 資料。

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

如果我們有大于255位元組的資料需要發送,藍牙5.0廣播協定棧中已經定義了AUX_CHAIN_IND,用于在第二廣播信道上連續傳輸255位元組資料,這樣我們可以利用它發送超過255位元組的大資料包資料。

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

第二廣播信道(Secondary Advertising Packets)中的 AUX_ADV_IND、以及AUX_CHAIN_IND已經介紹,下面再看看AUX_SYNC_IND指令。

AUX_SYNC_IND指令用于大廣播包資料的周期發送,廣播者可随時修改其廣播資料,但其他監聽者依然可以監聽到其周期性的廣播内容,AUX_SYNC_IND指令包含廣播間隔,調頻序列,廣播資料,廣播者MAC位址等資訊。

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

結論:

藍牙4.2的廣播資料31位元組,藍牙5.0的廣播資料255位元組,提升了8倍之多,由于使用了更多的廣播信道,多個裝置上報資料的抗信道幹擾能力得到提升,另外由于多信道的使用,可以同步廣播多種不同制式的資訊,比如同時廣播ibeacon和eddstone。結合藍牙5 long range mode遠距離傳輸模式,藍牙的遠距離beacon可以用在冷鍊物流,gps追蹤器,工業自動化等在之前距離和資料吞吐量受限的場合,藍牙5.0給我們更多創新的可能。

------------------------------------------------------------------------------------------------------------

無線技術聯盟 (微信公衆号),提供有價值的市場資訊和最新的技術分析,歡迎關注交流,轉載請注明出處。

誠邀各大藍牙晶片原廠入群!

誠邀各大藍牙頂級代工廠、方案廠入群!

誠邀各大藍牙品牌廠商産品經理入群!

還不快上車~

千呼萬喚始出來,無線技術聯盟終于準備把大家召集到一起,幫助有需要的人打通藍牙無線相關的技術,市場,晶片管道,商務對接,一群在手,藍牙無憂。

「Bluetooth5 堂 微信交流群」

申請流程:

① 因群人數已超過限制人,請先微信掃描以下小編微信二維碼或添加小編微信号(blecoder),添加微信時請将您的個人資訊進行備注,以便小編登記。

② 由小編逐個邀請入群,請大家耐心等待!謝謝了解與支援!

加小編請記得備注内容:您的姓名、公司名稱、職位

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

無線技術聯盟微信公衆号,提供有價值的市場資訊和最新的技術分析,歡迎關注交流,轉載請注明出處。

細說BLUETOOTH 5 【8X 大廣播包資料傳輸】

繼續閱讀