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