问题发现
之前使用MSP430+SI4432的方案做了个物联网的数据采集设备,使用CR2032供电,但是在调试中发现设备及不稳定。原因之一是SI4432寄存器数据丢失问题,在我上一篇博客《msp430si4432物联网设备调试踩坑记》中有描述。
但是在后续调试中发现,设备在工作状态时(SI4432发送数据时),MSP430经常会重启。
问题分析
首先怀疑可能是代码问题,但是在代码中找来找去没找到重启的原因。
其次怀疑是CR2032供电问题,于是用示波器测量CR2032两端的电压,发现在SI4432触发时,CR2032两端的电压会降到2.5V左右,低功耗模式下两端电压时3V,也换过新电池,因此排除是电池没电导致的问题。所以唯一有可能的就是在工作时,工作电流太大,导致CR2032两端电压下降,最后导致MSP430掉电重启。
因此需要验证猜想。
猜想验证
用示波器的单次触发模式抓波形,将触发电平调至3V稍微往下的位置。然后触发设备工作。抓到波形如下图。
在左下方可以看到,最小电压降到2.48V。
因此基本可以确定是工作瞬间电池电压下降导致的设备重启。
解决方案分析
首先想到的解决方案是通过电源稳压解决问题,但是引入新的耗电芯片会增加功耗,待机电流最低也要1uA,而我现在这套方案的待机电流也就500nA&#x