如何理解BLE數據的Tx和Rx


本文的設計的問題:

  • 理解BLE Tx和Rx的方式​

1. 廣播階段BLE設備的交互流程

 

還是以Heart Rate Sensor和手機間的交互為例,如下所所示:

 

2. 廣播階段的Tx和Rx交互方式

藍色線表示Adv Interval,綠色表示Adv Event。

Heart Rate Sensor以Adv interval為間隔周期性的發送廣播數據:

Adv interval = sleep + adv event

因此,只有在Adv Event期間才會有數據發送,其余時間都是sleep時間,

當手機收到廣播時,會發送掃描請求,Heart Rate Sensor在收到掃描請求后會回應掃描回應數據,手機進而可以通過掃描回應獲取更多的關於設備的信息,進而,設備可以發起連接,

可以看到,在sleep期間,是不發送數據,有沒有數據交互,只有event時間內完成數據發送或者接收。

Adv Interval和Adv Event的基本概念將在下章介紹。

對應的PDU抓包數據如下(下章將詳細展開):

 

 

3. 連接-數據交互-連接斷開的流程

一旦建立連接以后,手機和Heart rate sensor將會切換到數據通道上通信,兩個設備會在相等的連接間隔之間交換數據,兩者之間采用server和client模式,手機可以從Heart rate sensor讀取或者寫數據,Heart rate sensor有數據更新時可以通知給手機,不需要通信時,雙方斷開連接。

4.  數據通道上的Tx,Rx傳輸方式

 

建立連接后,並且以connection interval的間隔來交互數據,雙方的數據都在connection event的時間內交互,當應用層數據多時,connection event就長些,即使沒有應用層數據,鏈路層也會以connection interval間隔來交換空包。

 

抓包如下:

 

將在后面章節對該流程進行解析。

 

更多更新關注微信公眾號:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM