第二篇
上篇提到了LE的幾種狀態(tài),是從宏觀層面對(duì)ble 有個(gè)初步理解。這章主要看一下數(shù)據(jù)發(fā)送的載體 物理信道及其所用的數(shù)據(jù)包格式
如spec所規(guī)定,LE在2.4GHz頻段定義了40個(gè)RF信道,這些信道又重新抽象到了四種LE 物理信道。分別是advertising, periodic, isochronous, and data。
廣播信道分為兩類: primary 物理信道37,38,39, 其他的為secondary 物理信道。
并不想大段截圖Spec,這樣不如自己去看spec,寫(xiě)起來(lái)也非??菰?。
沒(méi)有辦法,為了內(nèi)容的連貫性,有些必要的地方還是需要截圖補(bǔ)充一下
盡管在advertising 信道有非常多的PDU,但是針對(duì)LE audio,有關(guān)PA 和 EA相關(guān)的PDU需要我們重點(diǎn)去理解。
在ADV PDUs中有一類特殊PDU,使用到 Common Extended Advertising Payload
Format,這部分增加到adv pdu中 playload中
Extended header Flags控制著后續(xù)七個(gè)欄位是否存在,針對(duì)每種PDU哪些欄位是否必須存在spec也做了規(guī)范。
例如:
閱讀到此處,您可以先停下來(lái),畫(huà)一下完整的AUX_SYNC_IND PDU 格式 。
繼續(xù)解讀這些參數(shù)
AdvMode 表明connectable和scanable狀態(tài)
extend header flags 整體表明后面七個(gè)欄位是否支持的情況
CTEinfo 跟方向定位有關(guān),分為AOA和AOD兩種模式
AdvDataInfo,ADI,包含兩個(gè)參數(shù)SID和DID
SID一系列adv的編號(hào),方便scanner區(qū)分
DID是每包數(shù)據(jù)的編號(hào),防止重復(fù),SID范圍是大于DID
非常重要的AuxPtr,這個(gè)欄位會(huì)引出Aux_Adv_Ind,在一個(gè)時(shí)鐘偏移之后,Aux_Adv_Ind PDU會(huì)出現(xiàn)
Offset units設(shè)置兩種aux offset 單位,30μs和300μs
這個(gè)偏移必須大于T_MAFS=300μs
延后誤差保證在一個(gè)unit時(shí)間內(nèi),不能有提前誤差,只有在小單位超過(guò)量程之后,才能改用大單位
總的偏移時(shí)間 = Aux offset * offset Units 單位
AUX PHY表明輔助廣播包會(huì)在哪個(gè)PHY到達(dá)
CA=clock accuracy 時(shí)鐘精度,有兩個(gè)范圍
如果這個(gè)Aux offset全部設(shè)置為零,表示后需要沒(méi)有輔助廣播包,也可以表明host數(shù)據(jù)被截?cái)?br /> channel index指LE 40個(gè)信道某一個(gè),接下來(lái)輔助包會(huì)出現(xiàn)在哪個(gè)RF信道
另外一個(gè)非常重要的欄位 syncInfo,會(huì)引出周期廣播隊(duì)列AUX_SYNC_IND PDU
這個(gè)信息可以出現(xiàn)在ADV PDU也可以出現(xiàn)在LL_PERIODIC_SYNC_IND PDU
Sync Package offset跟上述aux offset 類似,表明后續(xù)AUX_SYNC_IND出現(xiàn)的時(shí)間,這個(gè)名稱在core5.3 有bug,定義為offset base和syncPackageWindowOffset其實(shí)指的都是一個(gè),后續(xù)可能會(huì)修復(fù)
offset unit 跟上面一樣,分為兩個(gè)單位30μs和300μs
interval單位是1.25ms,兩個(gè)sync pdu之間的間隔,這個(gè)值必須大于6,interval 必須大于7.5ms,因?yàn)镻A隊(duì)列中,scanner會(huì)嘗試監(jiān)聽(tīng)連續(xù)的6個(gè)包,才能判斷是否有sync 成功
chM是used和unused PHY channel
paEventCounter sync 包計(jì)數(shù)器,每間隔一個(gè)interval就+1,不論這個(gè)sync包是否有真正送出,大小在0000-ffff之間
additional controller advertising data
額外的廣播格式,不能被分割。
這個(gè)數(shù)據(jù)是被controller使用的,發(fā)送端或接收端controller,type和定義跟host定義的adv數(shù)據(jù)格式一致
BIGInfo在這個(gè)地方被controller所獲取(Core Specification Supplement,PartA,Data Types Specification)
計(jì)算這個(gè)單元的長(zhǎng)度是extend header 長(zhǎng)度減去前面已知長(zhǎng)度
數(shù)據(jù)格式使用上圖 的通用數(shù)據(jù)格式 AD Structure
沒(méi)有被分割錢(qián),最大1650字節(jié),每包數(shù)據(jù)最大255字節(jié),如果需要分割,第一包數(shù)據(jù)應(yīng)該放在AUX_ADV_IND,
AUX_SYNC_IND or AUX_SCAN_RSP,剩下的放在AUX_CHAIN_IND PDU
如果分割之后,仍然無(wú)法全部發(fā)送,最后一包Aux offset要全部設(shè)置為0,表明數(shù)據(jù)被截?cái)嗔?,沒(méi)有包再發(fā)送
這個(gè)位置存放的是host 送下來(lái)的ADV Data,與ACAD相對(duì)應(yīng)
周期廣播隊(duì)列使用的是廣播信道,涉及到的PDU包括ADV_EXT_IND ,AUX_ADV_IND,AUX_SYNC_IND 。
會(huì)另起一篇 詳細(xì)介紹一下PA ,EA
分為connected (CIS)和 broadcast (BIS)兩大類
LLID定義包類型,start 和 end 組合可以發(fā)送分割之后的包
Framed可以發(fā)送重新組合的之后包
LLID定義包類型,start 和 end 組合可以發(fā)送分割之后的包
Framed可以發(fā)送重新組合的之后包
具體又可以細(xì)分為下列三種類型
start 和 continuation 包配合可以發(fā)送分割之后的data
control PDU在playload 中還可以細(xì)分出通用格式
這個(gè)章節(jié)不是本文重點(diǎn),點(diǎn)到為止
重點(diǎn)詳細(xì)介紹了 ADV信道及其對(duì)應(yīng)的包,對(duì)包含Common Extended Advertising Payload
Format包各個(gè)欄位做了說(shuō)明。記住重點(diǎn)一句話 :
Aurptr在第一廣播信道發(fā)出,引出aux_adv_ind,后續(xù)接sync包或chain包 ;syncInfo 引出 AUX_SYNC_IND ;BIGInfo引出BIS
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/121616.html
摘要:通過(guò)通信線路連入通信子網(wǎng)終端是用戶訪問(wèn)網(wǎng)絡(luò)的界面網(wǎng)絡(luò)操作系統(tǒng)是相對(duì)于主機(jī)操作系統(tǒng)而言的。接收方使用同一擴(kuò)頻碼進(jìn)行擴(kuò)解。 目錄 一、計(jì)算機(jī)網(wǎng)絡(luò) 1.計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)概述 2.計(jì)算機(jī)網(wǎng)絡(luò)分類 3.無(wú)線網(wǎng)絡(luò)分類 二、無(wú)線通信和網(wǎng)絡(luò)仿真技術(shù)基礎(chǔ) 1.基本概念 2.調(diào)制 (1)、概述 (2)、常用方式 ...
摘要:消息包含兩個(gè)部分報(bào)頭和協(xié)議數(shù)據(jù)單元,其中報(bào)頭包括版本號(hào)和團(tuán)體名。網(wǎng)絡(luò)環(huán)境拓?fù)鋱D系統(tǒng)設(shè)計(jì)圖系統(tǒng)案例和效果基于網(wǎng)絡(luò)管理系統(tǒng)的實(shí)現(xiàn),完美解決了跨設(shè)備,跨物理位置的網(wǎng)絡(luò)設(shè)備的監(jiān)控和管理。 個(gè)推作為國(guó)內(nèi)最專業(yè)的第三方消息推送技術(shù)解決方案的服務(wù)商接入SDK用戶數(shù)高達(dá)90億,日活躍用戶達(dá)6.5億。日分發(fā)消息23億。在實(shí)際的運(yùn)維環(huán)境中,需要時(shí)刻對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行監(jiān)控和管理,并包含了各種網(wǎng)絡(luò)設(shè)備,包括交換機(jī)...
摘要:一背景以前做牧場(chǎng)數(shù)據(jù)采集調(diào)研過(guò)無(wú)線通訊的相關(guān)技術(shù),包括長(zhǎng)距離無(wú)線通訊和短距離無(wú)線通訊,長(zhǎng)距離可以看以前的兩篇文章。后續(xù)還有幾篇關(guān)于短距離無(wú)線通訊協(xié)議的,基本上都是紙上談兵,湊篇數(shù)吧。 一、背景 以前做牧場(chǎng)數(shù)據(jù)采集調(diào)研過(guò)無(wú)線通訊的相關(guān)技術(shù),包括長(zhǎng)距離無(wú)線通訊和短距離無(wú)線通訊,長(zhǎng)距離可以看以前的...
摘要:連接回調(diào)連接成功連接斷開(kāi)改變當(dāng)前狀態(tài)當(dāng)服務(wù)發(fā)現(xiàn)之后回調(diào)這里四發(fā)現(xiàn)服務(wù)一個(gè)低功耗藍(lán)牙設(shè)備是有很多種服務(wù)的,就比如該設(shè)備的電量信息,設(shè)備的當(dāng)前狀態(tài)比如血壓計(jì)是正在測(cè)量還是在等待測(cè)量有的設(shè)備支持歷史數(shù)據(jù)等等。 ????公司開(kāi)發(fā)任務(wù)是,將醫(yī)療設(shè)備通過(guò)藍(lán)牙集成到app中,在這開(kāi)發(fā)中遇到了數(shù)不盡的坑.在此記錄一下做一個(gè)記錄,如果其他開(kāi)發(fā)人員看見(jiàn)或許能提供一些幫助,如有不對(duì),盡情指正,不勝感激! ...
閱讀 2943·2023-04-25 19:08
閱讀 1428·2021-11-16 11:45
閱讀 1991·2021-10-13 09:40
閱讀 4160·2021-09-30 09:47
閱讀 2425·2019-08-30 15:44
閱讀 2302·2019-08-30 13:03
閱讀 1401·2019-08-30 12:56
閱讀 1900·2019-08-26 14:04