蓝牙低功耗是为了打造功耗尽可能低的无线技术而设计的。
因此,必须优化蓝牙连接的参数以避免浪费能量。这里包含了两组参数:连接时的参数和尽可能频繁地关闭连接的参数。实际上,BLE 的理念就是通过尽可能多地关闭无线电来节能。
因此,首先考虑的参数是连接间隔。此参数定义了中央设备与外围设备通信的频率。根据 BLE 规格,连接间隔的最小值为 7.5ms,最高值为 4 秒,并可编程为多个 1.25 ms。在一个湿度传感器应用中,每秒连接一次可能没问题,但对于像动作跟踪这样需要尽可能多数据的应用,就会选择 7.5 ms 的间隔。这一参数确实至关重要,因为电流消耗的百分比可以在两个选项间测量出来。
第二个关键参数是从属延迟,也就是从属设备允许跳过的连接间隔数。在一个 Android 应用中,连接间隔是 7.5 ms,这对于很多应用来说太短了。如果一个从属设备只想每隔 30ms 与 Android 应用进行连接,就应将从属延迟编写为四。跳过四个连接事件让总电流消耗大概降低了四倍。从属延迟在您想要保持休眠状态但偶尔以更高速率发送数据的时候也很有用。从属延迟可以是 0 到 499 之间的任意值,但不能超过((监督超时/连接间隔)– 1)。如果监督定时器达到监督超时,设备将认为连接失效并退出连接状态。连接监督超时范围在 100ms 到 32s 之间。
在连接中进行良好的优化也能节省重要的 µA。要让连接保持活动状态,每个数据包中的有效负载最高为 20 字节,最低为 0 字节。要是能发送 10 字节而不是 20 字节,总平均电流就能降低约 10%。
参阅相关产品
蓝牙规格接受最高每连接间隔 6 个数据包。但如果是使用 iOS 设计的,Apple 将其限制为了 4 个数据包。每发送一个额外的数据包,无论大小,都会让电流上升几百 µA。由于开销的原因,发送一个有效负载为 20 字节数据包比发送 2 个有效负载为 10 字节的数据包要有效率得多。前者的效率要高百分之几十。
最后,输出功率必须进行编程以匹配所需的距离。一些应用只有几十厘米,并非默认的几十米。无需 8dBm 的输出,-14 dBm 可能就够了,并能节省大量能耗。
总而言之,对一些简单的参数进行正确的编程可以显著改变一个 BLE 设计的电流消耗。BLE 被很多通过微型纽扣电池供电的可穿戴应用所使用。编程稍有不慎,就会让电池寿命从几年变为几天。

