产品的低功耗设计总结

        便携性电子产品在我们的生活中扮演了极其重要的作用,而便携性设备一般都是采用电池供电,在同等电能提供下,低功耗设计的产品就能够工作更长的时间。时间就是生命,因此低功耗设计在便携性产品设计中占据着很重要的地位。

a、MCU的选型

        我们知道MCU的尺寸越大,其内部包含的晶体管就越多,消耗的能量就越多,因此在选择MCU时尽量选择低功耗系列的MCU,并且选择尺寸尽可能小的MCU;另外MCU的供电电压、时钟频率、外设数目和运行模式也是影响低功耗的关键因素,所以说在满足系统性能正常、MCU工作正常的情况下,尽可能的降低MCU的工作电压、MCU的时钟频率、外设数目和合理的选择MCU的工作运行模式都能降低功耗。

        另外MCU的GPIO口配置也是影响低功耗设计的关键点,其引脚配置应按照以下原则进行配置:


MCU引脚配置基本原则

b、多电压动态管理

        我们知道电压与功耗有着密切的联系,因此功耗的降低可以考虑使用多电压动态管理模块。无论是使用硬件还是软件进行动态管理,都需要在设计中加入电压模式控制单元。该模块的功能是:系统不工作时, 进入IDLE模式, 这时候可以关掉不工作模块的电源; 当系统工作时, 给工作模块提供正常电压。这个模块可以是软件实现,也可以是硬件实现。

c、软件设计优化

        系统中的功耗都是硬件单元消耗的,但是软件组织对硬件的功耗有着很大的影响。在设计过程中,系统的功能可以用硬件实现,也可以使用使用软件进行实现。低功耗软件的设计需要注意:在满足系统应用的基础上,速度应该尽可能慢,电压应该尽可能低,尽可能满足时间要求。 在设计算法时, 要分析该算法需要多少ALU操作, 需要多少次存储器访问, 要尽量使那些耗能多的操作最小化。

d、具体措施

1)使用Wait替换查询方式

常见的查询方式如下,此时CPU无事可干,白白消耗电能。

ADC_CR1 = ADC_START;  /* start conversion */

while (!(ADC_SR & ADC_SR_EOC)) ;  /* wait for EOC bit set */

可以使用等待事件的方式来节省电能。

先配置ADC为事件源,并使能相应的中断:

WFE_CR2 = ADC_COMP_EV;  /* enable ADC as a source of event */

ADC_CR1 = ADC_EOCIE;  /* enable interrupt for end of conversion */

当ADC转换完成后,唤醒处于等待的CPU:

ADC_CR1 = ADC_START;  /* start conversion */

_asm(“wfe”);  /* enter wait mode until waked by ADC_EOCIE*/

2)其他方法

        尽可能地使用低功耗运行模式;如果不能使用低功耗模式,那就将主频降低到满足应用的最小值; 尽量使用MOS管做为外部功率扩展器件,因为MOS管是电压型驱动,MOS的导通内阻低通常只有几十个毫欧,所以说要比普通的晶体管省电。片外IC的电源最好都能由MCU的IO控制比如说我们常用的24C02,由于它是掉电记忆的,所以我们完全可以在它不工作的时候关掉它的电源。为了降低产品的功耗,在电子产品开发时尽量采用低电压低功耗的器件。

你可能感兴趣的:(产品的低功耗设计总结)