0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AD Structure 的有效數(shù)據(jù)部分包含多少個廣播數(shù)據(jù)單元?

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-09-20 10:54 ? 次閱讀

今年CES展隨處可見CES is blue and thanks to you,生日快樂,藍牙

新年伊始,在此祝大家新年快樂。

業(yè)精于勤荒于嬉,行成于思毀于隨...。把這句話分享給大家和自己,18年擼起袖子加油干,幸福都是奮斗出來的。

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

前面談完了藍牙5大數(shù)據(jù)傳輸,遠距離傳輸,還剩最后也是很重要的一個特性,藍牙5大廣播包數(shù)據(jù)。

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

藍牙廣播

藍牙從機設(shè)備正常工作時會以一定頻率發(fā)送廣播包,告知周圍設(shè)備可以來連接自己(connectable),或者單純發(fā)送廣播數(shù)據(jù)(non-connectable)給到周圍主設(shè)備。從機廣播中可能包含設(shè)備的相關(guān)信息,設(shè)備名稱,設(shè)備具有的服務(wù)uuid 等,SIG有明確規(guī)定。

廣播包類型

廣播包可以拆分為兩種,一種是從機設(shè)備的廣播的數(shù)據(jù),一種是主機設(shè)備掃描到從機的廣播包后響應(yīng)返回給沖擊設(shè)備的數(shù)據(jù)。

廣播包 (Advertising Data):設(shè)備端主動發(fā)送的周期數(shù)據(jù)。

響應(yīng)包 (Scan Response):主機主動掃描的情況下, 發(fā)送掃描請求給從機, 從機返回掃描響應(yīng)數(shù)據(jù)。

廣播數(shù)據(jù)包格

有效數(shù)據(jù)(significant)和無效數(shù)據(jù)(non-significant)兩部分。

有效數(shù)據(jù)部分包含若干個廣播數(shù)據(jù)單元,稱為 AD Structure 。如圖所示,AD Structure 的組成是:

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

類型 AD Type

標(biāo)記這段廣播數(shù)據(jù)代表什么, 比如設(shè)備名, uuid 等。

數(shù)據(jù) AD data

無效數(shù)據(jù)部分廣播包的長度必須是 31 個 byte,如果有效數(shù)據(jù)部分不到 31 自己,剩下的就用 0 補全。這部分的數(shù)據(jù)是無效的。

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

下圖為CC2540 BLE抓包工具抓包的截圖,右邊AdvData內(nèi)的數(shù)據(jù)即為廣播數(shù)據(jù),該廣播數(shù)據(jù)由工程師自己設(shè)計,最大支持的字節(jié)為31個直接,兩橫條之間Time的差值即為廣播間隔。

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

作為可連接設(shè)備時,廣播包內(nèi)帶有產(chǎn)品信息,比如品牌logo,MAC地址等.

作為beacon設(shè)備時,可能攜帶傳感器數(shù)據(jù)上報給集中器,可以攜帶beacon編號信息,MAC地址,特殊編碼數(shù)據(jù)。

作為可連接設(shè)備的廣播,藍牙4.2和藍牙5.0并無太多差異。

但對應(yīng)Beacon應(yīng)用來說,廣播數(shù)據(jù)和可傳輸?shù)臄?shù)據(jù)長度就顯得尤為重要。beacon廣播結(jié)合Scan端集中器(Broadcaster and Observer)可以用于智能家具節(jié)點數(shù)據(jù)上報,工廠自動化設(shè)備數(shù)據(jù)上傳,人員管控,冷鏈物流監(jiān)控,特殊區(qū)域布防等多種應(yīng)用場景;beacon廣播結(jié)合地圖亦可以作為室內(nèi)導(dǎo)航定位的輔助工具,為室內(nèi)定位提供良好的解決方案(目前已經(jīng)相繼出現(xiàn)好幾家機場,醫(yī)院,商城實現(xiàn)手機室內(nèi)導(dǎo)航,其原理即依靠大量布置beacon點和手機地圖匹配,利用手機掃描周圍beacon廣播信息,實現(xiàn)定位與導(dǎo)航,但定位精度存在偏差,不如UWB精度高)。

BLE的低功耗紐扣電池供電特性,小體積,可以和手機互聯(lián)互通,使得beacon在上述應(yīng)用呈爆發(fā)式增長。但其中會存在一個棘手的問題,31字節(jié)的廣播包太短,每次廣播能攜帶的有效數(shù)據(jù)太少,另外廣播通道太少,只有37,38,39三個通道廣播,可能存在多設(shè)備上報數(shù)據(jù)信道的干擾問題。

藍牙5擴展了廣播數(shù)據(jù)的有效載荷,提升了廣播通道數(shù),為上述應(yīng)用和新的應(yīng)用提供了更多技術(shù)儲備。下面我們就來看看藍牙5的8x 大廣播包。

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

藍牙4.x協(xié)議規(guī)定藍牙廣播數(shù)據(jù)包每包數(shù)據(jù)最大只支持31字節(jié)數(shù)據(jù)傳輸,廣播信道限制在37,38,39三個信道。在原有的用于傳輸廣播數(shù)據(jù)的PDU(ADV_IND、ADV_DIRECT_IND、ADV_NONCONN_IND以及ADV_SCAN_IND,稱作legacy PDUs)的基礎(chǔ)上,藍牙5增加了擴展的PDU(ADV_EXT_IND、AUX_ADV_IND、AUX_SYNC_IND以及AUX_CHAIN_IND,稱作extended advertising PDUs),同時也允許藍牙在除開37,38,39三個通道之外的其他37個信道上發(fā)送長度介于0-255字節(jié)的數(shù)據(jù)。

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

主廣播信道只工作在37,38,39三個信道,最大廣播字節(jié)為31字節(jié),廣播的數(shù)據(jù)類型增加了一個ADV_EXT_IND指令,ADV_EXT_IND指令即為告知監(jiān)聽設(shè)備,我要廣播大數(shù)據(jù)包廣播了。

ADV_EXT_IND指令包含要在第二類次廣播信道上發(fā)送的內(nèi)容,第二廣播信道發(fā)送廣播數(shù)據(jù)的信道,物理PHY層,1M PHY,Coded PHY,2M PHY 等。

其示意如下圖所示,首先在主廣播信道廣播ADV_EXT_IND信息,然后利用次廣播信道(0-36 channel)廣播255byte 數(shù)據(jù)。

如果我們有大于255字節(jié)的數(shù)據(jù)需要發(fā)送,藍牙5.0廣播協(xié)議棧中已經(jīng)定義了AUX_CHAIN_IND,用于在第二廣播信道上連續(xù)傳輸255字節(jié)數(shù)據(jù),這樣我們可以利用它發(fā)送超過255字節(jié)的大數(shù)據(jù)包數(shù)據(jù)。

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

AUX_SYNC_IND指令用于大廣播包數(shù)據(jù)的周期發(fā)送,廣播者可隨時修改其廣播數(shù)據(jù),但其他監(jiān)聽者依然可以監(jiān)聽到其周期性的廣播內(nèi)容,AUX_SYNC_IND指令包含廣播間隔,調(diào)頻序列,廣播數(shù)據(jù),廣播者MAC地址等信息。

結(jié)論:

藍牙4.2的廣播數(shù)據(jù)31字節(jié),藍牙5.0的廣播數(shù)據(jù)255字節(jié),提升了8倍之多,由于使用了更多的廣播信道,多個設(shè)備上報數(shù)據(jù)的抗信道干擾能力得到提升,另外由于多信道的使用,可以同步廣播多種不同制式的信息,比如同時廣播ibeacon和eddstone。結(jié)合藍牙5 long range mode遠距離傳輸模式,藍牙的遠距離beacon可以用在冷鏈物流,gps追蹤器,工業(yè)自動化等在之前距離和數(shù)據(jù)吞吐量受限的場合,藍牙5.0給我們更多創(chuàng)新的可能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8805

    瀏覽量

    136993
  • Beacon技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6236
收藏 人收藏

    評論

    相關(guān)推薦

    RS-485通信時一幀數(shù)據(jù)包含多少個字節(jié)的有效數(shù)據(jù)合適呢?

    大家好,想問下有沒有用單片機做過RS-485通信的呢?我現(xiàn)在通過自定義的RS-485協(xié)議進行多機通信,這個時候的幀協(xié)議中的有效數(shù)據(jù)多少個字節(jié)比較合適呢?我看有的人說一幀數(shù)據(jù)
    發(fā)表于 04-06 09:38

    1分鐘讀懂低功耗藍牙廣播數(shù)據(jù)

    10dBm在每個解讀小節(jié),請關(guān)注圖片藍牙標(biāo)注部分(抓取到的原始數(shù)據(jù))及對應(yīng)的解析數(shù)據(jù)標(biāo)記部分數(shù)據(jù)解析) 3. 存取地址 (Access A
    發(fā)表于 10-15 14:43

    1分鐘讀懂低功耗藍牙廣播數(shù)據(jù)

    10dBm在每個解讀小節(jié),請關(guān)注圖片藍牙標(biāo)注部分(抓取到的原始數(shù)據(jù))及對應(yīng)的解析數(shù)據(jù)標(biāo)記部分數(shù)據(jù)解析) 3. 存取地址 (Access A
    發(fā)表于 10-27 10:36

    1分鐘讀懂低功耗藍牙廣播數(shù)據(jù)

    是0dBm, 最大10dBm在每個解讀小節(jié),請關(guān)注圖片藍牙標(biāo)注部分(抓取到的原始數(shù)據(jù))及對應(yīng)的解析數(shù)據(jù)標(biāo)記部分數(shù)據(jù)解析) 3. 存取地址
    發(fā)表于 11-08 09:50

    低功耗藍牙BLE廣播數(shù)據(jù)

    10dBm在每個解讀小節(jié),請關(guān)注圖片藍牙標(biāo)注部分(抓取到的原始數(shù)據(jù))及對應(yīng)的解析數(shù)據(jù)標(biāo)記部分數(shù)據(jù)解析) 3. 存取地址 (Access A
    發(fā)表于 11-13 10:14

    1分鐘讀懂低功耗藍牙廣播數(shù)據(jù)

    是0dBm, 最大10dBm在每個解讀小節(jié),請關(guān)注圖片藍牙標(biāo)注部分(抓取到的原始數(shù)據(jù))及對應(yīng)的解析數(shù)據(jù)標(biāo)記部分數(shù)據(jù)解析) 3. 存取地址
    發(fā)表于 12-14 09:32

    請問cc2541怎么將數(shù)據(jù)進行分包發(fā)送?

    cc2541一次只能發(fā)送20字節(jié)的數(shù)據(jù),現(xiàn)在我需要一次性發(fā)送64字節(jié)的數(shù)據(jù) 怎么進行發(fā)送?現(xiàn)在就需要將pktbuffer中64字節(jié)數(shù)據(jù)分包發(fā)送。。。問一下 怎么
    發(fā)表于 03-17 08:52

    CPU中央處理單元包含哪些部分

    CPU中央處理單元包含基本的運算單元AUL,存儲單元cache等基本資源,實現(xiàn)硬件設(shè)備的基本控制功能。中央處理器作為一普世概念,實際根據(jù)具
    發(fā)表于 12-14 07:46

    數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單元包括哪幾部分

    功能一觀測任意數(shù)據(jù)波形的上位機前提知識數(shù)據(jù)幀所謂數(shù)據(jù)幀(Data frame),就是數(shù)據(jù)鏈路層的協(xié)議數(shù)
    發(fā)表于 01-14 06:56

    RTT串口DMA驅(qū)動是怎么規(guī)避第二包數(shù)據(jù)分包的呢

    是怎么規(guī)避第二包數(shù)據(jù)分包的呢?先不考慮定時器組包。我最終的目的是能實現(xiàn)收到一組長度小于等于n的連續(xù)數(shù)據(jù)。我有思路是當(dāng)空閑中斷產(chǎn)生時讀完數(shù)據(jù)
    發(fā)表于 07-27 10:30

    移動多媒體廣播數(shù)據(jù)廣播 GY/T 220.5—2008

    移動多媒體廣播數(shù)據(jù)廣播 GY/T 220.5—2008Mobile multimedia broadcasting — Part 5: Data broadcasting GY/T 220.5—20081 范圍GY/T 220
    發(fā)表于 10-21 16:04 ?7次下載

    數(shù)據(jù)分包設(shè)計的考慮

    像zigbee這樣的物理層每幀最大只能傳輸127字節(jié),通過每層不斷的封包到應(yīng)用層后每包才100字節(jié)。當(dāng)上層用戶協(xié)議的數(shù)據(jù)包過大,無法一次性傳輸,就只能分包或者分組下發(fā),最終接收方組
    的頭像 發(fā)表于 05-12 14:54 ?769次閱讀

    BLE廣播數(shù)據(jù)解析

    BLE 廣播數(shù)據(jù)結(jié)構(gòu) 在鏈路層,BLE 的廣播報文分為如下幾個部分: |前導(dǎo)|存取地址|報頭|長度|廣播
    發(fā)表于 10-08 10:49 ?0次下載

    SystemVerilog中的Packed Structure

    packed structure有很多的bits組成,這些bit在物理上連續(xù)存儲。packed structure只允許包含packed數(shù)據(jù)
    的頭像 發(fā)表于 11-07 10:17 ?1980次閱讀

    嵌入式數(shù)據(jù)分包以及相關(guān)技巧

    像zigbee這樣的物理層每幀最大只能傳輸127字節(jié),通過每層不斷的封包到應(yīng)用層后每包才100字節(jié)。當(dāng)上層用戶協(xié)議的數(shù)據(jù)包過大,無法一次性傳輸,就只能分包或者分組下發(fā),最終接收方組
    的頭像 發(fā)表于 01-06 14:29 ?543次閱讀