使用的抓包工具:Ellisys
今天用的Ellisys的界面如下所示,可以分為三個部分, 左上為40個信道監視圖,左下為某一個或者多個設備(MAC地址)的交互數據,我們只談只談BLE,所以其他wifi,zigbee等功能可以忽略。
藍牙設備工作狀態介紹:
1.從機設備廣播狀態:
Connectable LE Coded -> LE Coded
Connectable LE Coded -> 2M on aux
2.主機連接從機過程:
主機在2M PHY 下建立連接
2M PHY切換到1M PHY
3.藍牙MAC地址:
Slave: 0xF0F8F2D2BB7F
Master: F0:F8:F2:1F:57:1B
藍牙5 PHY層簡介:
藍牙連接
上一講講了藍牙5廣播數據分析,今天接著看連接過程,下圖是一個請求連接全過程,總共分為6個階段,1-4階段為廣播,5為請求連接,6為回應連接。
1-4階段分析請參考上一篇文章:
5,6階段發生在數據信道上,5為連接請求,因為是專屬藍牙5連接,可以看到其指令為AUX_CONNECT_REQ(主請求),AUX_CONNECT_REQ攜帶的參數和BT4.2并無太大差異,hopping channel,interval,latency等等。
在接收到信號之后從機會回應一幀AUX_CONNECT_REP。
PHY層更新
如上面所示,Sniffer是在2M PHY下建立的連接,整個抓包實驗,我把藍牙的PHY 從2M PHY更新到1M PHY,最后更新到Coded PHY,三個階段,如下圖所示。
2M -> 1M PHY更新和Coded PHY更新
從下圖可以看到,更新PHY階段有三個階段,主機發送更新請求:LLCP_PHY_REQUEST,在下圖右下可以看到,主機請求更新PHY 層到1M PHY, 從機接收到請求,并回復LLCP_PHY_RESPONSE,RSPONSE中回復主機可以用1M PHY,最后主機發送LLCP_PHY_UPDATE,進過幾個數據包的調整之后方能更新到1M PHY上。
1M PHY -> Coded PHY更新
過程和上面一致,不過多贅述。
總結
用兩張圖來總結我覺得恰到好處,圖1,藍牙5連接過程,圖2,藍牙5 PHY更新流程。
-
藍牙
+關注
關注
116文章
6026瀏覽量
173156 -
路由器
+關注
關注
22文章
3809瀏覽量
115969
發布評論請先 登錄
為UART、MCXA142實現ISP通信的主機端,發送Ping數據包并收到預期的響應,發送和接收數據包的典型順序是什么?
芯知識 BLE(低功耗藍牙模塊)和SPP(傳統藍牙模塊)的對比
I2C總線數據包結構詳解
mtu配置步驟詳解 mtu與數據包丟失的關系
Linux網卡收包流程

物聯網系統中常用的低功耗自組網無線傳輸方案(二)_藍牙模塊篇

esp8266怎么做才能每秒發送更多的數據包呢?
使用AT SAVETRANSLINK時UDP數據包丟失怎么解決?
帶你深入了解BLE藍牙模塊工作模式

評論