STM32F103C8T6 MCU越来越广泛的应用在生产生活的各个领域,外接丰富的传感器、功能模块、通信模块、显示存储等可以形成各种可样的产品项目应用。对于功耗要求比较高的产品,一般会选择STM32L系列的MCU,但是从功耗的评测角度,逻辑上是基本相似的。
在很多应用场合中都对电子设备的功耗要求非常苛刻,如某些传感器信息采集设备,仅靠小型的电池提供电源,要求工作长达数年之久,且期间不需要任何维护。由于智能穿戴设备的小型化要求,电池体积不能太大导致容量也比较小,所以也很有必要从控制功耗入手,提高设备的续航时间。其实,只要是涉及到便携式的产品,都免不了要使用电池作为电源,否则,如果还是需要接一个插头使用市电来供电的话,那就无法称之为便携式了,比如手机、运动手环、蓝牙耳机、智能手表等都是类似的。所以控制功耗和提高产品的续航时间就显得尤为重要。
目前针对STM32F103C8T6等系列单片机而言,比较常用的低功耗模式是停止模式和待机模式。
当使用待机模式时,在实际应用中,通常会有一个开关机的按键(PA0),如果用户按下按键的话,就会开机或者关机,开机对应的就是唤醒,而关机对应的就是待机(类似于手机的开关机按键)。在此过程中,电池会一直给单片机的3.3V电源供电,也就是说,单片机一直都是有电的,但是它的所有外设以及时钟都处于关闭状态,之所以还要给单片机供电,只是为了在用户按下按键时检测PA0的上升沿而已,如果不给单片机供电的话,那么还怎么检测呢?检测不了。
当使用停止模式时,我们先看一个问题:理论上待机模式的功耗远比停止模式要低,为什么还要选择停止模式呢?通常是这样的,一个便携式的系统,除了考虑按键开关机外,还需要考虑给电池充电的时候往往需要显示一些充电的信息(现在的手机充电就是这样的),如果是在开机状态下充电的话完全没有问题。但是,如果是在关机状态下充电呢?肯定就需要单片机能够自己唤醒自己(不需要用户按下PA0),然后才有可能显示充电的信息(比如手机关机状态下接通电源后,可以自动显示充电的动画)。
是否可以实现不按下PA0就实现唤醒功能吗?当然可以,只需要在硬件上做一些改动即可。
比如,将充电口的电压降压后跟PA0相连,这样只要充电口在充电,PA0必定会出现一个从低到高的脉冲,这样就可以唤醒了。但这种情况下,软件层面上又不好区分PA0的上升沿是由于充电造成的,还是由于用户按下按键造成的。所以,这个时候就需要考虑选择停止模式了,开关机按键接到一个引脚,充电口接到另外一个引脚,两个引脚都配置为外部中断,两个引脚也都可以唤醒单片机,分开了不同的信号电平,这样子,在软件上就可以很容易地判断。文章来源:https://www.toymoban.com/news/detail-470866.html
实际上也有另一种改进方式,就是在硬件上实现一个脉冲电路,可以用文章来源地址https://www.toymoban.com/news/detail-470866.html
到了这里,关于功耗测评 | STM32F103C8T6的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!