主题:【分享】续航削弱?这些小技巧帮你省电省心,看看谁不点赞!

浏览0 回复0 电梯直达
Ins_bc3830b5
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵

最近在调试一款IOT类的通信产品的续航功能,类似与GPS跟踪器产品。产品要求需要正常工作持续半年时间,但是目前只能维持4个月左右,这个续航的问题搞的我们焦头烂额。
先简单介绍一下本产品的工作方式,产品每隔一段时间采集传感器数据以及GPS等定位数据后,通过4G Cat1网络发送到目标服务器,而后进入休眠定时,在下一个上报周期唤醒上报。但是由于需要有时间触发的应用,所以设备需要在睡眠的同时每隔10s唤醒一次进行传感器的数据采集判断。
因为实际情况下,网络环境的差异性,所以在设备上报时的功耗基本上不太好明显优化。所以基本上优化休眠时期的功耗。刚开始在开发时使用高精度的直流电源来测试,但是由于只能看到实时的电流值,所以不好判断休眠下的整体电流运行情况,从而不好确定优化点,瞎折腾了还几天都没有发现优化点。幸运的是,我有一个华为的同学向我推荐了一款他们正在用的精度和性价比较高的电流分析仪器mPower1203,我向领导申请了款项进行采购,关键是领导也对项目问题比较纠结,经过两天的功耗相关仪器调研后也同意采购这款仪器。
对这个功耗分析仪的相关情况我就不做介绍了(除非这个设备原厂给我点好处,哈哈)。经过半天的测试分析,完全从电流波形上分析出了功耗优化的方向,不说别的,直接上测试图分析。





图1,2,3所示,功耗优化前,休眠时期的平均电流为225uA,设备中的主控会每隔10s唤醒采集一次传感器数据,其中10s之间(从电流波形峰的间隔上测量大概也是10s)的低电流为56uA左右。我们查阅了一下主控芯片的功耗数据,主控休眠时的功耗在40uA,加上外围的传感器器件以及GPS定位模块的热启动backup供电(大约10uA左右),所以56uA的底部电流是合理值。
可以发现,225uA平均电流与56uA底部电流相差还是很大的,所以电流的优化方向应该在每一次MCU唤醒的峰值上。


图4所示,测量一下MCU每隔10s唤醒的峰值,持续时间为189ms,平均的电流为8.688mA。这块的功耗的确挺大的。


通过对MCU唤醒过程中的分析,发现两个地方影响了功耗。第一个地方就是读传感器数据等待时间有点长,这一点可以微微做了些优化。第二个地方就是输出log,这也是很多人容易忽略的地方,串口打印log会占用时间,但是有些log 是必须要有的,所以我们关闭了一些不必要的log。
经过再次使用mPower1203仪器的波形测量分析,我们可以得到图5,6,7所示的电流分析图。此时,休眠时期的平均电流被优化到了66.8uA,与之前的225uA相比提升非常的大。而底部电流依旧保持在56uA左右。峰值电流也被优化,主要是持续时间被优化到8.5ms,大大的降低了整体的休眠功耗。





最后也为自己的测试总结一下,提炼几个要点:
1. 低功耗的调试需要多多关注个使用器件的规格书功耗参数
2. 尽可能使用专业的电流分析设备进行排查优化,会有事半功倍的效果
3. 需要注意log对设备功耗的影响
为您推荐
您可能想找: 气相色谱仪(GC) 询底价
专属顾问快速对接
立即提交
猜你喜欢 最新推荐 热门推荐
品牌合作伙伴