BLE连接简介

本文详细介绍了蓝牙低功耗(BLE)的拓扑结构,包括星形拓扑和设备的六种状态。内容涵盖了广播事件、广播间隔、扫描事件、连接参数以及连接建立和终止的过程。此外,还讨论了BLE的连接间隔、监督超时等关键参数在连接管理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、拓扑结构和设备状

  星形拓扑结构
  主设备管理着连接, 并且可以连接多个从机设备, cc254x的主设备可以最多连接3个从设备, 但一个从设备只能链接一个主设备
六种设备状态
  待机状态(Standby): 设备没有传输和发送数据, 并且没有连接到任何设备。
  广播状态(Advertiser): 周期性广播状态。
  扫描状态(Scanner): 主动寻找正在广播的设备。
  发起连接状态(Initiator): 主动发起连接。
  主设备(Master): 作为主设备连接到其他设备。
  从设备(Slave): 作为从设备连接到其他设备。

二、BLE 状态以及连接过程

在这里插入图片描述

三、BLE 广播事件

  广播包的发送是单向的, 不需要任何连接。 设备发送广播包即进入广播状态。
  广播包可以包含特定的数据定义, 最大 31 个字节。
  广播包中可以声明是可被连接的设备, 或者是不可连接的设备。
  在一个广播时间中, 广播包会分别在三个广播通道中被发送一次(37, 38, 39)。

四、BLE 广播间隔

  广播间隔, 是两次广播事件之间的最小时间间隔, 一般取值范围在 20ms~10.24s 之间。 链路层会在每次广播时间期间产生一个随机广播延时时间( 0ms~10ms), 这个延时被加在广播时间中, 这样来避免多设备之间的数据碰撞。

五、BLE 扫描事件

  每次扫描设备打开 Radio 接收器去监听广播设备, 这样称为一个扫描时间, 扫描时间交替发生在三个特定的广播通道中: 37、 38、 39 。
  关于扫描的两个时间参数:
  扫描时间: 即扫描设备的扫描频度。
  扫描窗口: 每次扫描事件持续的时间

六、BLE 发起连接

  除了扫描, 设备也可以主动发起连接, 发起状态的设备和扫描状态的设备区别在于:当它监听到一个可连接的广播, 发起设备就会发送一个连接请求, 而扫描设备会发送一个扫描请求。连接请求包括一套为从设备准备的连接参数, 安排连接期间发生的通道和时间。如果广播设备接收了连接, 两个设备会进入连接状态, 发起方会称为 Master(主机),而广播方会称为 Slave(从机)。

七、BLE 连接参数

  通道映射, 指示连接使用的频道。
  调频增量, 一个 5~16 之间的随机, 参与通道选择的算法。
  连接间隔, 1.25ms 的倍数, 在7.5ms~4s 之间。
  监督超时, 10ms 的倍数, 100ms~32s 之间, 必须大于(1+slaveLatency)*ConnInterval
  从机潜伏, 0~499 之间, 不能超过(SupervisionTimeout/connInterval) -1

八、BLE 连接事件

  所有的通信都发生在两个设备的连接事件期间, 连接事件周期的发生, 按照连接参数指定的间隔联系, 每个事件发生在某个数据通道(0~36), 调频增量参数决定了下次连接时间发生的通道, 在每个连接时间期间, Master 先发送, Slave 会在 150us 之后做出回应, 即使一个连接事件发生( 或两者), 双方都没有数据发送(例外情况是从设备潜伏使能), 这允许两个设备都承认对方仍然存在并保持活跃的连接。

九、终止连接

9.1、Master 和 Slave 都可以主动断开连接。

  一边发起断开, 另一边必须在断开连接之前回应这个断开请求。

9.2、监视超时而断开连接。

  监视超时参数都指定了两个数据包之间的最大时间跨度。监视超时时间必须大于有效连接间隔而小于 32s。Slave 和 master 双方都维持着自己的监视超时计时器, 在每次收到数据包时清零。如果连接超时, 设备会认为连接丢失, 并且退出连接状态, 返回广播、 扫描或者待机式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值