如何估算BLE模块的功耗?

时间:2016-04-19 17:17:55

标签: ios bluetooth bluetooth-lowenergy

我正在为具有BLE模块的设备编写iOS应用程序,该模块在连接时以一致的方式通告几个字节的数据。我们正在尝试估算BLE模块的功耗,以便我们估算设备的电池寿命。我已经搜索了SO和Google正在寻找合适的方法来估算这一点,但我还是空了。有没有办法获取正在发送的字节数,乘以数据发送的频率,并得出功耗的粗略近似值?

1 个答案:

答案 0 :(得分:1)

典型的BLE SoC(即一体化应用+无线电芯片)通常消耗:

  • 沉睡时几百nA,
  • 2到10μA,而RTC跟踪时间(广告或连接时无线电事件之间需要),
  • CPU或无线电运行时10至30 mA(计算数据,TX,RX)。 RX和TX的功耗大致相同。

BLE外设的寿命基本上由3个主要状态组成:

  1. 闲置(不是广告,没有连接)。大多数人会告诉你的设备是关闭的。除非它有物理电源开关,否则它仍会消耗几百纳安。

  2. 广告(在连接发生之前)。外围设备需要每50 ms运行大约5 ms。这是您的设备实际使用大部分电量的时间,因为广告需要经常发送许多数据包。平均功耗在1-10 mA范围内。

  3. 连接。在这里,消费取决于应用。如果应用程序大部分处于空闲状态,则需要定期唤醒外设,并且每次都必须发送数据包以保持连接处于活动状态。即使外设没有任何有用的发送,仍然会发送空数据包。副作用:这意味着低占空比应用基本上是免费传输数据包。

  4. 所以要真正回答你的问题:

    • 有效负载的长度不是问题(只要你保持数据包短路):我们谈论的是每位传输1μs以上,而其余的处理(唤醒,接收主机)数据包等让我们在至少200μs内保持清醒;

    • 你实际上称之为“连续”是关键点。是5赫兹吗? 200赫兹? 3 kHz?

    假设我们以5 Hz的速率发送数据。功率估计每秒约为5个连接事件,每个连接事件大约2 ms CPU +无线电,因此每秒运行10 ms。平均消耗:200μA(.01 * 20 mA + .99 *5μA)

    此计算不考虑某些参数:

    • 你应该增加传感器的消耗量(陀螺仪/加速度计可以吃几毫安),
    • 您应该考虑板载通信(i2c,SPI等),
    • 如果您的设计实际上使用了两个芯片(一个用于与无线电模块通信的应用程序),那么消耗将大致翻倍。