BLE入门 16

2019-03-14  本文已影响0人  张志中

蓝牙设备工作状态:

  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层简介:

蓝牙连接

下图是一个请求连接全过程,总共分为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更新



总结


参考

https://mp.weixin.qq.com/s/c0eZi1J4B9CrbXsEuCz0CA

上一篇 下一篇

猜你喜欢

热点阅读