日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝牙相关学习:4.1.BLE空口包结构

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝牙相关学习: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空口包结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。