蓝牙相关学习:4.1.BLE空口包结构
BLE空口包結(jié)構(gòu)
- 4.0 - 5.1 Uncoded PHY 空口包格式
- Preamble (前導(dǎo))
- Access Address (AA)
- 廣播包
- 數(shù)據(jù)包
- PDU
- CRC
- 5.1 Coded PHY 空口包格式
- Constant Tone Extension
- 參考地址
BLE空口包(packet,又稱air interface packet)涉及BLE協(xié)議棧link layer,L2CAP,SMP和ATT等各層次
是BLE的統(tǒng)一數(shù)據(jù)傳輸格式
4.0 - 5.1 Uncoded PHY 空口包格式
轉(zhuǎn) :BLE(3)—— 空口數(shù)據(jù)包組成 :https://stephenzhou.blog.csdn.net/article/details/94676596
BLE 4.0 BLE4.1 中PDU 最大到39B;BLE 4.2 以上可以達(dá)到257B。但是默認(rèn)了兼容BLE4.0/4.1還是采用了上面的39設(shè)計(jì)。
注意:PHY 的數(shù)據(jù)包最大長度直接由硬件決定,也是限制我們BLE 數(shù)據(jù)包大小的根本原因。換句話說,PHY的硬件寄存器/存儲(chǔ)器/FIFO 等直接決定了我們藍(lán)牙數(shù)據(jù)包最大長度。
BLE一次能傳多少數(shù)據(jù):https://leconiot.com/download/cc2640r2f/ble_stack_app/app_examples/exchange_mtu/exchange_mtu.html
擴(kuò)展:為什么說有效長度是20(39B時(shí))?
藍(lán)牙中數(shù)據(jù)包傳輸?shù)拇笮〉亩x BLE PACKET FORMAT:https://blog.csdn.net/chengdong1314/article/details/62038429
Preamble (前導(dǎo))
前導(dǎo)碼,主要用于接收機(jī)的頻偏同步和定時(shí)同步,還能用于自動(dòng)增益控制。
分類:前導(dǎo)根據(jù)不同的 PHY 分為兩類
1M Preamble
BLE 4.2
1M 的 Preamble 是 8 bits 的,
當(dāng) AA 的 LSB 是 1 的時(shí)候 Preamble 是:10101010 ,16進(jìn)制0xAA
當(dāng) AA 的 LSB 是 0 的時(shí)候 Preamble 是:01010101 ,16進(jìn)制0x55
對于廣播通道的數(shù)據(jù),前導(dǎo)碼為:0xAA,對于數(shù)據(jù)通道,前導(dǎo)碼為0xAA 或者0x55,當(dāng)接入地址的最低位是1時(shí),前導(dǎo)碼是0x55,否則為0xAA.
2M Preamble
BLE 5.0
2M 的 Preamble 是 16 bits 的
當(dāng) AA 的 LSB 是 1 的時(shí)候 Preamble 是:10101010 10101010
當(dāng) AA 的 LSB 是 0 的時(shí)候 Preamble 是:01010101 01010101
Access Address (AA)
Access Address 成為接入地址(與設(shè)備的 48 bits 地址不一樣)。用來標(biāo)示接收者ID或者空中包身份
根據(jù) Access Address 的不同,又區(qū)分兩種 Packet 類型:廣播包和數(shù)據(jù)包:
廣播包
廣播包 AA 固定為0x8E89BED6,廣播包只能在廣播信道(channel)上傳輸,即只能在37/38/39信道上傳輸。廣播包發(fā)送給附近所有的observer(掃描者)。
注:從藍(lán)牙5.0開始廣播包可以在其它信道上傳輸
數(shù)據(jù)包
數(shù)據(jù)包 AA 為一個(gè)32bit的隨機(jī)值,由Initiator生成。
數(shù)據(jù)包,其實(shí)是數(shù)據(jù)信道上的空中包的簡稱,數(shù)據(jù)包只在數(shù)據(jù)信道上傳輸,即除37/38/39之外的其余37信道。
每建立一次連接,重新生成一次Access address。數(shù)據(jù)包是給連接通信使用的,即用于master和slave之間通信的。
AA 又稱同步字段,在 Connection 建立的時(shí)候,雙方進(jìn)行數(shù)據(jù)傳送,如果未發(fā)現(xiàn) AA 或者錯(cuò)誤,則稱為 Sync Error。
PDU
PDU(protocol data unit,協(xié)議數(shù)據(jù)單元,BLE 數(shù)據(jù)傳送的基本單元)前兩個(gè)字節(jié)固定為LL header(1個(gè)字節(jié)長)和 payload length(1個(gè)字節(jié)長,又稱data length),即可以展開為:
協(xié)議數(shù)據(jù)單元,又分為廣播通道PDU和數(shù)據(jù)通道PDU
CRC
檢驗(yàn)數(shù)據(jù)完整性,一般情況下,協(xié)議棧會(huì)自動(dòng)處理這個(gè)字段
5.1 Coded PHY 空口包格式
BLE 5.0 以后,便支持了 Long Range,支持 Long Range 的方式呢,主要是引入了 Coded PHY。Coded PHY 分為兩種:
500kbps
125kbps
所謂 Coded PHY呢,就是將數(shù)據(jù)傳送的時(shí)候,不光是 raw data,而是加上了一個(gè) FEC 向前糾錯(cuò)編碼,使得在降低傳送速率的前提下,對數(shù)據(jù)進(jìn)行編碼(FEC),達(dá)到數(shù)據(jù)低錯(cuò)的目的。
說白了,就是以犧牲速度(低速)來換數(shù)據(jù)準(zhǔn)確傳送(通過 FEC 數(shù)據(jù)編碼)。
Constant Tone Extension
CTE,BLE 5.1 新增
參考地址
抄的大佬,做的學(xué)習(xí)筆記。
轉(zhuǎn) :BLE(3)—— 空口數(shù)據(jù)包組成 :https://stephenzhou.blog.csdn.net/article/details/94676596
轉(zhuǎn):詳解BLE空口包格式—兼BLE Link layer協(xié)議解析 https://www.cnblogs.com/iini/p/8977806.html
蝸窩科技:http://www.wowotech.net/sort/bluetooth
BLE:https://blog.csdn.net/zhoutaopower/category_9083143.html
總結(jié)
以上是生活随笔為你收集整理的蓝牙相关学习:4.1.BLE空口包结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高数_关于e两个重要的积分公式
- 下一篇: 常用的计算机组装工具有,计算机组装维护与