电子产品的低功耗问题常常让产品规划者头痛而又不得不面临。以单片机(MCU)为中心的体系,其功耗主要由单片机功耗和单片机外围电路功耗组成。要下降单片机体系的功耗,需求从硬件和软件两方面下手。
硬件规划考虑要素
要满意单片机体系的低功耗要求,选用具有低功耗特性的单片机能够很简略完成(例如,Silicon laboratories规划的高速C8051F系列单片机)。因为具有低功耗特性的单片机能够大大下降体系功耗,这能够从单片机的供电电压、内部结构、体系时钟和低功耗形式等几方面来调查一款单片机的低功耗特性。一般来讲,用户在挑选技能供货商和产品过程中,需求对下面的一些重要硬件参数进行愈加深化的考量:
挑选简略的CPU内核
挑选CPU内核时切忌一味寻求功用,以“够用就好”为准则。8位机够用,就没有必要选用16位机、32位机;单片机的运转速度越快,往往其功耗也越大。一个CPU越杂乱、集成度越高、功用越强,片内晶体管越多,总漏电流也越大,即便进入STOP状况,漏电流也会变得不行忽视;而简略的CPU内核不只功耗低,本钱也低。
挑选低电压供电的单片机体系
单片机体系的供电电压低,能够有效地下降其体系功耗。因为半导体制作工艺的开展,现在单片机的供电电压从5V供电下降到3.3 V、3 V、2 V乃至1.8 V。供电电压低,不紧能够下降单片机的功耗,还能够下降单片机外围电路的功耗。
挑选带有低功耗形式的单片机体系
低功耗形式指的是体系的Idle、Stop和Suspend等形式。处于这些形式下的功耗将远远小于正常运转下的功耗。Idle形式下,CPU中止作业,但内部体系时钟并不中止,单片机的外围I/O模块也不中止作业;体系功耗一般下降有限,相当于作业形式功耗的50%左右。
如果在CPU进入Stop形式时,将各个模仿外设关掉,这时的功耗能够下降到nA级。可是在Stop形式下, CPU被唤醒后要从头对体系作初始化,一切特别功用寄存器的内容将被从头初始化。这在某些低功耗运用场合需求留意。
Suspend形式下,CPU、内部体系时钟中止作业,I/O模块等被悬挂起来,片内RAM中存储的数据将被坚持,CPU的功耗能够下降到nA级,由唤醒事情唤醒。当CPU被唤醒后,体系不会被CPU复位,持续从进入Suspend形式的当地开端履行程序。这是一种十分抱负的低功耗形式。
在硬件层面来说,对上面的这些参数进行细心衡量是十分必要的,除此之外,挑选适宜的时钟计划和运用每MIPS功耗来衡量MCU的低功耗功用也是十分要害的。
运用软件考虑要素
运用软件规划关于一个低功耗体系的重要性常常被人们疏忽。一个重要的原因是,软件规划上的缺点并不像硬件那样简略发现,一起也没有一个严厉的规范来判别一个软件的低功耗特性。可是规划者如果能尽量将运用的低功耗特性反映在软件中,就能够防止那些“看不见”的功耗丢失:
用“中止”代替“查询”
在没有要求低功耗的场合,程序运用中止办法仍是查询办法并不重要。但在要求低功耗场合,这两种办法相差甚远。运用中止办法,CPU能够什么都不做,乃至能够进入等候形式或中止形式;而查询办法下,CPU有必要不停地拜访I/O寄存器,这会带来许多额定的功耗。
用“宏”代替“子程序”
子程序调用的入栈出栈操作,要对RAM进行两次操作,会带来更大的功耗。宏在编译时打开,CPU按次序履行指令。运用宏,会添加程序的代码量,但对不在乎程序代码量大的运用,运用宏无疑会下降体系的功耗。
尽量削减CPU的运算量
削减CPU的运算作业量,能够有效地下降CPU的功耗。削减CPU运算的作业能够从许多方面下手:用查表的办法代替实时的核算;不行防止的实时核算,算到精度够了就完毕,防止“过度”的核算;尽量运用短的数据类型,例如,尽量运用字符型的8位数据代替16位的整型数据,尽量运用分数运算而防止浮点数运算等。
让I/O模块间歇运转
在体系运转过程中,不必的I/O模块要关掉,间歇运用的I/O模块要及时关掉,以节约电能。一起,不必的I/O引脚要设置成输出或设置成输入,用上拉电阻拉高。
总归,在单片机体系规划过程中,需求深化了解单片机低功耗的特性,并在硬件和运用软件的规划过程中充分利用单片机的低功耗特性,然后规划出契合低功耗要求的产品。