Android 蓝牙slave,蓝牙连接状态及其转换关系图

蓝牙的连接状态转换图如下:

2347ad80af2810b4c041177d4d2719af.png

Connection State:蓝牙连接状态,连接状态又有四个子状态,分别如下:

1. Active Mode:

在主动模式下,在微微网内部所有的从设备都可以和主设备通信,最多只能有七个从设备。所有的通信都有主设备来主导。微微网所有的从设备都会在主设备-> 从设备时隙上监听数据包。如果一个从设备没有被寻址,它将等待下一个数据传输。从设备能从主设备传输的包头获取传输占用的时隙,在此期间没有被寻址的设备将会等待传输时隙。具体可以查看下图,多从设备传输时序图:

9e821ce91a9ac0ce568f585cb3ec2785.png

2. Sniff Mode:

如果在主动模式下,从设备要时刻监听主设备发送过来的数据包,但是在Sniff模式下不需要,从而降低设备的功耗。在sniff模式下主设备将每隔Tsniff向从设备发送数据包,所以每隔Tsniff去监听主设备的数据包即可!slave就是只在下图中所示的sniff anchor point时监听。sniff mode只能应用于异步传输,不能应用于同步逻辑传输。

3.Hold Mode:

从机和主机协商一个保持时间,在此期间从设备进入低功耗模式但仍然保持LT_ADDR。异步传输在此模式下,不响应当然微微网的任何数据包。但在同步传输模式下(SCO,eSCO)需要支持保留时隙的数据包。在此模式下的设备可以scanning, paging,

inquiring, 或者加入其它的微微网。

4. Connectionless Slave Broadcast

Mode:

用来传输特性广播数据(profile broadcast data)。

5. Park State:

当一个从设备不需要一直参与微微网的信道,但是却需要保持跟信道的同步时,从设备可以进入Park state。

处于Park state状态下的从设备只有很少的活动,它会选择放弃它的逻辑传输地址 LT_ADDR,取而代之的是,它会使用两个新的地址:

PM_ADDR:

8-bit Parked Member Address

AR_ADDR:

8-bit Access Request Address

另外,为了达到低功耗的目的,在Park state下,一个master可以连接多于七个slaves. 在一时刻, 只有七个slaves可以开始连接状态。但是,通过交换active slave 和park slave, 在微微网中的slaves的数目可以达到更多(255 如果PM_ADDR被使用的时候,并且如果用了BD_ADDR,这个数目还可以随机大);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值