我正在为具有BLE模块的设备编写iOS应用程序,该模块在连接时以一致的方式通告几个字节的数据。我们正在尝试估算BLE模块的功耗,以便我们估算设备的电池寿命。我已经搜索了SO和Google正在寻找合适的方法来估算这一点,但我还是空了。有没有办法获取正在发送的字节数,乘以数据发送的频率,并得出功耗的粗略近似值?
答案 0 :(得分:1)
典型的BLE SoC(即一体化应用+无线电芯片)通常消耗:
BLE外设的寿命基本上由3个主要状态组成:
闲置(不是广告,没有连接)。大多数人会告诉你的设备是关闭的。除非它有物理电源开关,否则它仍会消耗几百纳安。
广告(在连接发生之前)。外围设备需要每50 ms运行大约5 ms。这是您的设备实际使用大部分电量的时间,因为广告需要经常发送许多数据包。平均功耗在1-10 mA范围内。
连接。在这里,消费取决于应用。如果应用程序大部分处于空闲状态,则需要定期唤醒外设,并且每次都必须发送数据包以保持连接处于活动状态。即使外设没有任何有用的发送,仍然会发送空数据包。副作用:这意味着低占空比应用基本上是免费传输数据包。
所以要真正回答你的问题:
有效负载的长度不是问题(只要你保持数据包短路):我们谈论的是每位传输1μs以上,而其余的处理(唤醒,接收主机)数据包等让我们在至少200μs内保持清醒;
你实际上称之为“连续”是关键点。是5赫兹吗? 200赫兹? 3 kHz?
假设我们以5 Hz的速率发送数据。功率估计每秒约为5个连接事件,每个连接事件大约2 ms CPU +无线电,因此每秒运行10 ms。平均消耗:200μA(.01 * 20 mA + .99 *5μA)
此计算不考虑某些参数: