【环境专家之智能手表】Part16:手表日常低功耗
[复制链接]
1.介绍
既然是手表,那低功耗是肯定要有的,在写低功耗之前看了论坛中两个大佬的低功耗,一个大佬的整体系统电流在32.8uA,另一位大佬RSL10待机电流大约在30uA左右,我想如果我的待机电流能够达到30uA,那我的手表可以大半年不用充电了。
2.低功耗
首先测试一下正常情况下的电流,这个电流是波动的,4~6mA之间波动,主要原因是BHI160+BMM150在计算导致的大电流。
图1
首先【RSL10-002GEVB】评估版有提供芯片电流检测接口,将如下图2跳冒断开,接上电流表。
图2
下载【standby_power_mode】例程,然后得到了如下图3的电流值,为14.5uA。
图3
然后将【standby_power_mode】例程下载至【RSL10-SENSE-DB-GEVK】开发套件,得到的电流为0.1mA。
图4
应该是有一些外设的占用了80uA的功耗,可能是没初始化,默认处于工作状态,然后我尝试把所有外设的初始化全部关闭,得到的电流为0.75mA。
图5
功耗还是有点高的,这是没进入Standby模式的功耗,然后初始化环境光传感器,电流增加了60uA。
图6
将环境光传感器初始化后再执行关闭命令,代码如下:
/** Initialize LV0104CS. */
retval = LV0104CS_LUX_Initialize();
if (retval == LV0104CS_OK)
{
retval = LV0104CS_LUX_StartContinuous(0, NULL);
if (retval == LV0104CS_OK)
{
//lv0104cs_status = 0;
LV0104CS_LUX_Stop();
}
else
{
lv0104cs_status = 2;
}
}
else
{
lv0104cs_status = 1;
}
然后打开BME680的初始化,对于外设全关闭的电流增加了70uA。
图7
然后一样是初始化完成之后关闭BME680,代码如下:
/** Initialize BME680 */
retval = BME680_ENV_Initialize();
if (retval == 0)
{
retval = BME680_ENV_StartPeriodic(BME680_Callback, 3000);
if (retval == 0)
{
//bme680_status = 0;
BME680_ENV_StopPeriodic();
}
else
{
bme680_status = 2;
}
}
else
{
bme680_status = 1;
}
然后打开BHI160 + BMM150初始化,电流增加了2~3mA,处于一个波动的状态。
图8
和上面一样,执行完初始化后关闭【BHI160 + BMM150】,代码如下:
/** Initialize BHI160 + load BMM150 RAM patch */
retval = BHI160_NDOF_Initialize();
if (retval == BHY_SUCCESS)
{
retval = BHI160_NDOF_EnableSensor(BHI160_NDOF_S_ORIENTATION, BHY_OrientationCallback, 1);
if (retval == BHY_SUCCESS)
{
//bhy_status = 0;
BHI160_NDOF_SetPowerMode(BHI160_NDOF_PM_STANDBY);
}
else
{
bhy_status = 2;
}
}
else
{
bhy_status = 1;
}
不过结果有点出乎意料,电流反而比外设全部不初始化低60uA。
图9
最后开启音频外设,电流增加了1.5mA左右,这个倒是稳定的。
图10
然后还有修改广播的频率,将【#define BDK_BLE_ADV_INT_DEFAULT】修改为1600则是1S广播一次,这样也可以减少些许的功耗。
最后想在系统空闲的时候进入Standby模式,不过影响了系统的正常运行,正常实现低功耗的话,电流应该在100uA左右。纽扣电池的容量大概在220mA左右,而实际能使用的容量为【220x0.9=198】198mA的容量,半小时唤醒传感器工作十秒,对于整个系统的功耗不会增加太多,就算平均电流120uA,那220mA的纽扣电池可以待机【198/0.12/24=68.75】68天,也就是2个月,还是非常不错的,当然这还没达到极致,官方说明【RSL10-SENSE-DB-GEVK】的电流为20uA,如下图11,所以目前的低功耗还没达到最理想,不过已经完全够使用了。
图11
3.总结
低功耗问题是物联网产品最重要的一个参数之一,只有待机时间足够久,那么在产品上就有一定的优势,RSL10的功耗在诸多BLE芯片中可以算的上数一数二的了,这次低功耗还是学习了不少,也给安森美的RSL10点个赞!
|