我最近在后台陆续收到一些关于STM8S低功耗的问题,所以今天我想写一些关于低功耗相关的内容。
1STM8S功耗来源
STM8S的功耗可以分为静态功耗和动态功耗两部分。
静态功耗:主要由晶体管的偏置电流和漏电流产生。
动态功耗:取决于电源电压和工作时钟频率。
当CMOS逻辑电路以一定时钟频率运行时,静态功耗相比于动态功耗可以被忽略。但在一些低功耗模式下,时钟停止工作,此时静态功耗成为主要的功耗来源。
因此,功耗主要受以下因素影响:
-
微控制器单元(MCU)的芯片面积:包括所采用的工艺、晶体管的数量、片上集成和使用的模拟功能/外设。
-
MCU的电源电压:CMOS逻辑电路中消耗的电流与电源电压的平方成正比。因此,通过降低供电电压可以降低功耗。
-
时钟频率:在不需要进行高速处理的应用中,降低时钟频率可以降低功耗。
-
激活的外设数量或使用的MCU功能数量:激活的外设数量越多,或使用的MCU功能数量越多,功耗就越大。
-
工作模式:功耗会随着应用所处的不同功耗模式的改变而改变,例如CPU的开启/关闭、晶振的开启/关闭等。
2STM8时钟
以下4种时钟源可用做STM8主时钟:
-
1-24MHz高速外部晶体振荡器(HSE) -
最大24MHz高速外部时钟信号(HSE user-ext) -
16MHz高速内部RC振荡器(HSI) -
128KHz低速内部RC(LSI)
各个时钟源可单独打开或关闭,从而优化功耗。
时钟源比较:
复位以后,默认的时钟为HSI / 8,随后用户可以把时钟切换到不同时钟源和不同频率:
降低功耗方法:
1.关闭不用外设时钟;
2.降低CPU的时钟频率;
提示:STM8S外设时钟默认是开启的。每个外设都可以在不使用的时候,单独地打开或者关闭它的时钟来优化系统功耗。
3低功耗模式
STM8S有3种低功耗模式:
1.等待(Wait)模式:CPU停止,外设保持工作。
2.活跃停机(Active HALT)模式:分快速和慢速模式。CPU停止,如果使能AWU(自动唤醒)和IWDG(独立看门狗),则它们保持工作,其余外设停止。
3.停机(HALT)模式:一切工作停止。
STM8S除了以上三种低功耗模式,就是处于运行模式。下面对比一下这几种模式:
4低功耗测量数据
下面来看一下官方测量的理论数据。
1.等待模式:
这种模式的功耗在低功耗模式中相对较高。频率越高,功耗越高;同时,电压越高,功耗也越高。
2.活跃停机模式:
这种模式和上面模式规律一样:频率越高,功耗越高;同时,电压越高,功耗也越高。
3.停机模式:
大家会发现,停机模式的功耗还是比较低,但这都是理论值,实际值应该会比这些值大。
比如:停机9us模式,而你实际测量有12us,这个应该属于正常范围内容。
但是,如果你实际值远大于这些理论值,那么就需要检查你硬件,或者软件了。
结尾:
**1.**STM8S芯片价格相对便宜,硬件上肯定比不上STM8L或STM32L系列芯片。
**2.**想要在STM8S上面做好低功耗,必须对其电源模块深入掌握,软件和硬件都需要考虑到位。可以参看《STM8S参考手册》。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !