MSP430低功耗策略探讨专题[有价值!]

楼主
MSP430低功耗策略探讨专题[有价值!]
    众所周知,MSP430以其低功耗的特性一直傲视群单片机,但是除了MSP430单片机本身的低功耗的特点,我们还可以使用一些方法和策略,使我们的系统功耗更低,这些策略是我书上看到的,觉得很有用,拿来和大家分享一下:
1、将不用的I/O引脚设置为高或者低状态,不要让其悬空。
2、在不需要运行时间严格要求的任务,如UART通信或精密脉冲时钟时序等,尽可能使用内 部时钟,这通常是低功耗的首选。
3、关断所有不使用的外设:如PWM模块、AD转换器等等。
4、尽可能在程序代码中使用查找表,而不是让CPU去计算结果。
5、检查所有外部元器件的功耗,减少那些驱动外设,如EEPROM或者外部模拟电路的I/O数目。

    总之,要去寻找那些电流消耗的单元,并尽量降低其功耗。
1楼
关于低功耗方面的应用我也有一些看法:
硬件方面:
[1]尽可能采用低功耗的器件或电路设计。比如,低功耗场合能不用LED尽可能不要用,声响的电路也是一样。
[2]尽可能选择带有关闭功能的器件,比较运放、R232电路、逻辑电路等等...在不必要的时候使其关闭。
[3]在显示方便也要选择低功耗的显示方式,比如采用LCD片,而不要用LCD模块。或采用LCD模块时将背光关掉。
[4]一些常用开关晶体管由三极管改为MOSFET管。
[5]有可能的话,不要选择小阻值分压;这样同样可减少功耗。按键上接电阻同样可以选择大点。对于模拟前端部分可能不态适合,因为当用高精度ADC时,电阻值越大热噪声就会越大。所以这做法不适宜用在高精度ADC前端。
[6]关于MSP430的IO处理,我个人的理解是可以空着,并设置为输入。因为设置为输入时IO处理高阻态,IO的漏电流只有50nA。
[7]能不用LDO尽可能不要用LDO,因为线性电源器件会带功耗上的增加。确实没办法了可以选择CMOS型的LDO器件。或采用高效的DC/DC电源管理电路,以提高效能利用。
关于以上几项,MC430F44开发板在设计都是基于这些原则上设计的,同时兼容了通用器件的使用。也就是说两种类型的器件都可以用,呵呵。

软件方面:
[1]你要了解MSP430的4种不同模式下的时钟与模块使用情况,这样你才控制好整个设计的功耗管理。
[2]若不是很需要很高精度的时钟的话尽可能不要外部晶振,尽可能使用内部的DCO作为MCLK。当程序中需要在串口时,这时可以开启所需的时钟源以得到精度的波特率,不用时则要关闭掉时钟和串口模块。如果不是高速响应处理任务的话尽可能不要用选择外部晶体时钟作为MCLK。
[3]在进入低功耗模式前,尽可能将MCLK改为DCO模式。因为DCO模式在进入功耗模式后,在得到中断唤醒时是最速度启动工作的时钟源。这样可以大大减小在唤醒时节省能源。如果唤醒后确实需要高速度时钟源,此时可以再转换到高速度的时钟源上使用。

测量验正:
采用精度高的电流表去测量电流值;在实际中,有些质量不太好的表会误导。采用串联高精度的电阻,直接测量电压值。这样电压法测量有时也很有用。
2楼
上面两位讲的都很不错,赞一下
3楼
长见识拉~~~~
4楼
[6]关于MSP430的IO处理,我个人的理解是可以空着,并设置为输入。因为设置为输入时IO处理高阻态,IO的漏电流只有50nA。
这一条我有点异议,当没有上拉或下拉时,没用的脚应该设置成输出,高低随意。当有上拉或下拉用时,设置为输入。
5楼
我认为[6]中所讲的问题,如果电路是固定的,不存在潜在的错误的话,IO应该置为输出态,50nA看似很小,但在有6组IO共48个IO口的片子上就是50nA*48=2400nA=2.4uA了,注意这个电流值即使在LPM4下也不会消失,因为端口被设置成那种模式后,休眠也不会改变端口的模式的,否则如果有端口的中断不就无法接收到了吗?所以这就会造成电路的待机功耗增加。
也许你会说2.4uA不大,没有关系。但要是用市电的话,24mA都可以不计,可是用电池,特别是长期待机的电池设备,2.4uA却是很大的功耗了!
可以做一下简单的计算,所有损耗忽略不计,以2.4uA电流待机一年就是2.4uA*60*60*24*365s=75686400uAs=75686.400mAs,75686.400mAs/3600s=21.024mAH。就是说,待机一年耗电量为21.024毫安时。一般的CR2032电池容量为50-90mAH,所以这样的电池待机最多都到不了五年就完全花费在这个漏电上了。
但如果按照上边说的设置为输出并置1则LPM3就只剩下0.7uA了,而LPM4则更是只有0.2uA。时间大家一比就知道了吧?

电脑版 Page created in 0.1560 seconds width 3 queries.