2264|0

6366

帖子

4917

TA的资源

版主

楼主
 

msp430单片机开发实录(25) [复制链接]




此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处







msp430单片机开发实录(25)


现象:

产品开发完成,并且经过严苛、详细的测试后,已经开始批量生产了,但是大家提出一个问题:能不能把功耗再降低一些,目前产品的功耗有些高(超过50uA),用干电池供电的话,用不了1年就要换电池。


试验:
因为我们一直以来的产品都是电池供电的,对于产品的功耗一直都做得很低,这也是我们一直使用TI的MSP430系列单片机的原因,因为它的超低功耗做的确实很好。
不过这款产品因为功能太多,并且有一个很好点的地方:每1s都要进行一次串口通信(每次通信几十个字节,波特率9600),在最初方案设计以及产品验证时,所有参与人员都认为目前的功耗已经做到最好了,没有再下降的空间了。并且这款产品的功耗与其他厂家同类产品相比,功耗基本一样。所以就觉得功耗降不下来了。
但是今天忽然考虑到一个问题:msp430单片机数据手册上说,低功耗状态下,单片机检测到中断后,进行中断处理时,自动退出低功耗状态,处理完中断后,退出中断时自动进入低功耗状态,而如果在退出中断时手动添加了退出低功耗状态的语句,那退出中断后,是不会进入低功耗状态的。而我们的程序由于接受完完整的一帧数据后,需要进行及时处理,所以在退出中断时,添加了退出低功耗状态的语句,在主循环中处理完数据后,才会再次进入低功耗状态。
因为串口采用的中断方式,每次中断接受一个字节,所有数据接收完后才会处理,所以,能不能在没有接收完所有数据的时候,串口中断退出时直接进入低功耗状态?
于是对程序进行了优化:只有在接收完一帧数据后才退出低功耗状态,否则不退出低功耗状态


验证:

根据这个想法,对程序中的串口中断函数退出时根据条件退出或不退出低功耗状态,经过测试,电流减小了20uA左右,效果明显
备注:
msp430单片机的的超低功耗确实很强大,但是实现起来是需要不断地深入研究,实践,最后总能做到更低功耗。
 
点赞 关注(1)

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表