经典MCU探究:MSP430关键硬件电路设计要诀
众所周知,MSP430以其超低功耗而著称。但是很多用户反应,在实际应用中,测量MSP430的功耗时,测量结果和MSP430数据手册相差甚远。其实这里主要涉及到两方面的内容:
1. 如何使用MSP430合理的设计硬件和软件,使整个应用最大限度的达到低功耗?
2. 如何测量MSP430的功耗?
就如何测量MSP430功耗,我来分享一下我个人的经验。
一、未使用的GPIO的处理
为了使MSP430最大限度的达到低功耗,对于MSP430未使用的GPIO而言,应该将其设置为输出;或者是设置为输入,但是将管脚的电平固定,可以通过外部电路将管脚连接至Vcc或者GND,也可使能内部上下拉电阻,将管脚电平固定。
对于MSP430而言,大部分情况下,测量到的功耗与datasheet不符均是由对MSP430未使用的GPIO处理不当引起的。默认情况下,MSP430的GPIO是作为输入的,其等效电路如下图所示,为推挽模式:
当GPIO管脚配置为输入管脚且外部电平处于浮动状态时(0《Vin《Vcc),那么内部的MOSFETs管的导通电流本身就处于一个不稳定的值,会导致整体功耗的升高,示意图见上图右半边。另外过高或过低的温度更会加剧这种不稳定,且当供电电压升高时,本身MOSFETs管的导通电流也会变大。故在高压和低温双重作用下,就会出现功耗攀升现象。
二、前提条件的确定
MSP430数据手册各种模式下功耗的提供,均注明了相关的前提条件的,具体包括:测量温度,供电电压,系统时钟的时钟源,系统时钟的大小,CPU主频,MSP430工作模式以及active的模块(例如Brownout: BOR, WDT)等。故要验证MSP430在特定模式下的功耗时,一定要注意这些前提条件。
如果要与别家的MCU比较功耗时,切记一定要在相同的前提条件下比较才有意义。而MSP430的BOR功能在7种LPM mode下均是打开的,且几乎是零功耗的。
三、测量MSP430处于LPM4/LPM3 mode下的功耗
为了更准确的测量整个用户应用的功耗并且使得最大限度的降低整个应用的功耗,建议先对MSP430处于LPM4/LPM3模式下时,板子的整体功耗进行测量。在LPM4,LPM3模式下,将MSP430功耗与数据手册调至一致后,在此基础上,再进行其他情况下功耗的测量。
1.低功耗测试程序的编写
a. LPM4 低功耗测试程序编写
LPM4低功耗测试程序的编写,建议参考Wolverine MSP430FR5969 LPM4 code example,如下图所示,注意事项主要有:当作为输入时,将GPIO状态固定, 不让其受外部浮动电平的影响。示例中,GPIO设置为输入,但是使能其内部下拉
红外热像仪相关文章:红外热像仪原理
评论