此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处
msp430单片机开发实录(23)
现象:
仍然是msp430g2955单片机,调试AD转换时,AD转换的值还是很准确、稳定。但是我们的产品是干电池供电,所以要求功耗极低。程序中AD转换采用的是定时采集,没有用中断。发现只要AD转换启用,转换结束后功耗就有所提高,多了大概几十个uA。
试验:
根据用户指南上说,AD转换结束后,ADC内核自动被禁用,在需要时自动重新使能。所以程序中AD转换结束后,没有对ADC内核和参考源控制寄存器进行操作。因此怀疑是没有关闭ADC使能或者参考电压源没有关闭。
于是在AD转换结束后,关闭了ADC使能和参考电压使能寄存器。顺手又关闭了AD采样通道的模拟输入使能寄存器。
- ADC10AE0 &= ~0x01; //AD模拟输入使能寄存器
复制代码
结果发现电流是减小了,但仍然比正常值高20uA。判断有可能是关闭模拟输入使能的问题。于是,去掉关闭模拟输入使能的那句话。电流终于正常了。
验证:
多次测试、更换测试条件、用不同的电压测试,测量的电压值稳定,电路的功耗一直维持在正常水平。说明找到问题的原因并正确修改了。
备注:
msp430单片机的超低功耗非常强大,但是要想实现超低功耗,一定要对各功能模块的影响功耗的寄存器进行正确配置才行。