最近做了一个低功耗控制器的项目。因为第一次接触低功耗硬件的设计,收集了大量的资料,经过了四次修改,现在项目才有了一个低功耗设备该有的样子。第一次接触到的样板静态电流大约为80ua(电源是12V锂电池)。现在自行设计的控制器功耗的已经被砍到了25ua左右(后续还会继续砍功耗)。下面是对这一个多月以来进行记录。
如果一个控制器需要做成低功耗设备,那就需要考虑主控芯片的功耗。我们可以根据芯片的型号来选型,一般地,型号上有L的是低功耗主控。例如:STM8L、STM32L、HC32L等(还有TI的msp)这些单片机由八位、十六位、三十二位。具体用哪个,要根据项目需要来定(从成本、开发难度、开发周期等来选择,一般被采用多的主控芯片是不会踩坑的)。如果你是着急把DEMO做出来的,建议使用STM8、STM32这一些资料非常丰富的进行开发,先把DEMO做出来。然后在更换同类型封装的其他低功耗主控芯片。
关于如何判别一个主控芯片的待机功耗为多少,一般是使得芯片进入休眠模式,在测量它的供电电流为多少。当流过的电流越少,功耗也就越低。这就是为什么很多人衡量设备待机功耗一般看待机电流多大。(就是根据电功率的公式来看)
此外,测量一款芯片的待机功耗一般使用该款芯片的最小系统板。除了让芯片进入休眠,还需要对它的外部设备(高速时钟等),引脚进行关闭和拉低或者高阻态设置(我一般把所有引脚设置为低电平输出)。这一些外设被关闭之后,测出来的电流就是待机电流。