背景
用户使用利尔达BLE模组时,有时会遇到功耗偏高的问题,本文针对这类功耗异常问题梳理了一个常规的问题排查流程,供用户参考。
具体操作流程如下文所示。
过程
一、分析思路
首先要在设备上尝试复现问题,然后分析用户对模组的使用是否合理?
如果定位到功耗高来源确实是BLE模组,需要把模组从板子上吹下来,单独测试模组功耗,通过分析电流波形找到功耗高来源。通过烧录定频固件,排除软件影响,验证模组纯硬件电流是否正常J。然后通过分析模组原理图找到可能会影响模组电流的几个关键器件(磁珠、VCC对地电容、TVS管等),对其进行器件替换,使用排除法缩小范围,最后找到功耗高原因。
如果最后定位是主芯片造成的模组功耗偏高,则需要借助原厂做进一步芯片RMA失效分析,定位具体芯片损坏点,从而帮助用户找到造成功耗高的诱因,进行规避解决。
具体分析思路可参考以下流程图:
二、排查步骤
1、复现问题
在电源VCC跟GND之间串联万用表,或者直接使用功耗测试仪给设备供电,测试设备功耗。
如果测试出来功耗确实高于用户提供的参考值,那么用同固件版本新模组替换异常模组,再次测试设备功耗。
同时,可以分析用户原理图,重点关注MODE_CTL、PWR_CTL、BT_CTL这3个控制引脚的接法是否正确?PWR_IND、BUSY_IND、CONN_IND等几个输出引脚是否被直接拉低或拉高了。(这样做可能会出现漏电流或灌电流,造成模组功耗增加)
PWR_CTL引脚直接被拉低,那么功耗就是2.2mA,而不是uA级别
BUSY_IND、CONN_IND引脚不建议加上拉
然后,再分析用户MCU软件逻辑是否正确?包括是否有配置一些非法参数,模组时序操作是否符合使用说明书描述流程。(一些非法参数配置或错误的时序操作可能会触发模组固件隐藏bug,造成整体功耗上升)
由于用户非法参数配置,导致模组软件死机,连接断开,原先uA级别连接电流变成一直保持1.2mA电流
总结:经过以上分析,用户使用方法都是正确的,且新模组替换异常模组后功耗降低至正常水平,那么可以判定模组是功耗高来源。
2、单独测试异常模组功耗
使用功耗测试仪,抓取模组从上电、广播、连接和连接断开这整个流程的电流波形,跟正常模组电流值进行对比,找到电流偏高来源,可能是待机电流(standby或sleep状态)、TX或RX电流偏高导致。
图中游标1、2处的待机电流是69uA左右,远高于正常模组广播状态待机电流15uA
3、烧录定频固件,排除软件因素,验证功耗高来源是模组射频部分/芯片CPU部分/软件bug
烧录认证定频固件(模组单纯的处于持续TX、RX或sleep状态),验证模组TX、RX、sleep电流是否正常。
如果测试下来TX、RX、sleep电流都正常,那么模组功耗高来源应该是standby电流,那么一种可能是软件bug导致原始透传固件的standby电流偏高,需要研发介入分析软件原因;另一种可能是模组芯片的硬件CPU部分受损,需要对调芯片进行验证。
如果测试下来TX、RX、sleep电流其中之一偏高,那么模组功耗高来源应该是模组射频部分或天线,需要下一步对调芯片进行验证。
4、好坏模组之间对调主芯片,初步定位功耗高来源
如果电流偏高现象跟着异常模组主芯片,那么下一步需要联系原厂做芯片RMA失效分析,定位最终原因。
如果电流偏高现象跟着异常模组底板走,那么下一步需要使用排除法,定位引起功耗高的具体器件。
注:对调芯片操作时,热风枪一定要注意轻柔的吹芯片,焊接芯片也要准确,以防因为操作不当造成芯片损坏,误导排查方向。
5、芯片RMA失效分析
需要至少准备2个以上数量的异常芯片样品,提供给原厂。
需要书面总结测试流程及现象,方便原厂进行分析。
6、异常模组底板其他器件分析
先肉眼观察模组内部是否有器件损坏或焊锡粘连现象,重点关注VCC、GND是否有短路?
使用交叉替换法,验证几个重要器件(磁珠、VCC对地电容、TVS管等)是否工作正常?
最后验证一下是不是PCB CAF问题导致的板子功耗上升?(该原因一般遇到较少)
结论
针对利尔达BLE模组功耗异常问题,总结以上排查步骤:
●复现问题。
●单独测试异常模组功耗,找到电流波形上偏高的部分,进行分析。
●烧录定频固件,排除软件因素,验证功耗高来源是模组射频部分/芯片CPU部分。
●好坏模组之间对调主芯片,初步定位功耗高来源。
●芯片RMA失效分析。
●异常模组底板其他器件分析。 |