在这篇文章里我们来分享一下如果一个项目有低功耗的需求,那在这个项目中如何去做芯片的选型、与MCU相关的低功耗系统设计考虑(硬件考虑和软件考虑及系统考虑),也就是从项目的角度出发如何做低功耗设计的考虑因素。
整体来说,按照你的应用需求会先选择一颗芯片,现在假设我们选好了芯片,基于应用需求,需要做低功耗设计,降低功耗是需要软件和硬件协同工作才能解决的。
从芯片选型开始说,有一些设计大家可能沿用原先项目中使用过的低功耗芯片,在此基础上做低功耗设计,不断从软件和硬件角度来降低功耗,最终看能不能达到我们的需求,如果达不到,再换其他的芯片,还有一些情况,我们可能要完全从头去选一个MCU芯片,一般这时候还是要看项目需求,要求做到的工作,再加上休眠这样的一个时间要求做到多低的功耗,也就是要求电池的使用寿命时间有多长,依据这个标准去做选择。
选择芯片会考虑到的因素有:
首先需要拿到芯片的数据参考手册,看到它在不同功耗时的数值,做一个简单的估计。对STM32来说,会有一个power consumption calculate这样一个软件,其实就是一个简单的数学建模模型,然后把芯片工作的模式变得模式化,也就是把它变成一个循环,比如工作多长时间,紧接着让哪些外设进入休眠的状态,休眠的时候让哪些外设去工作,什么条件唤醒,要把这些变为程序化的过程,把这个过程输到数学建模的模型中,这样就可以帮我们算出power consumption calculat的值,算出来之后我们就可以很明显的得到一个数值,也就是说我们使用这样一个电池去给应用供电大概可以使用多久,