最近搞一个低功耗的项目,用到STM8L的芯片。低功耗这玩意儿,MCU是一部分,硬件也是需要仔细考虑的。
所谓低功耗产品,一般来讲就是在大多数时间让MCU进入睡眠模式,在有数据更新时唤醒,将数据显示或者发送上报。对于中断类型的,可以采用中断直接唤醒MCU的方式,而对于温湿度之类的传感器,只能采用定时唤醒,然后采样并比较判断当前的值是否发送变化,然后显示或者上报。
如果使用了显示屏,WiFi、蓝牙等模块,则需要在睡眠时将其断电。硬件上需要升压电路,否则有些外设在低电压时驱不起来。
STM8L本身在halt模式下消耗电流为350nA,在active-halt with RTC模式下为1.3uA。
最先的版本测试电流达到了1mA以上,草,赶紧折腾了一下,发现在进低功耗之前需要将相关的ADC、TIMER等关闭,此时达到了70uA左右,折腾,发现部分使用到的IO口需要根据硬件进行相关的配置,这样可以达到20uA左右,再折腾,发现没有连到电路的IO设置为输出低电平,又可以降低,这次是2.4uA,,,再折腾,发现PWR_UltraLowPowerCmd(ENABLE);需要开启,这次到了0.4uA。好了好了,不搞了。这玩意儿也是无底洞啊我去,花了我几天时间。
关键字:STM8L 低功耗设置
引用地址:
STM8L低功耗设置
推荐阅读最新更新时间:2024-03-16 16:13
STM8L HSE时钟配置
CLK_DeInit(); CLK_HSEConfig(CLK_HSE_ON); while(!CLK_GetFlagStatus(CLK_FLAG_HSERDY)); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE); CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); CLK_SYSCLKSourceSwitchCmd(ENABLE); CLK_ClockSecuritySystemEnable();
[单片机]
STM8L编程环境官方库+STVD+COSMIC+ST-Link
1.软件下载 (1)到ST官网下载最新版STVD,搜索STVD下载安装sttoolset。 (2)下载COSMIC,地址 http://www.amobbs.com/forum.php?mod=viewthread&tid=3229327 2.编程仿真工具 官方ST-Link,100左右。或者买第三方做的ST-Link 3.固件库下载 到官网上下载芯片对应的固件库,我用的是STM8L151G6U6。 下载方法,st官网- 产品- 微控制器- STM8 8位MCU- STM8L系列- 资源列表中点软件- STM8 Embedded Software- STM8L15x/16x/05x/AL3Lx/AL31
[单片机]
stm8s和stm8l低功耗对比
在低功耗应用中,一般来说mcu是常态halt模式,然后偶尔被唤醒(外部中断或者内部定时唤醒)进入运行模式。所以对比低功耗性能,一般来说只需要对比run模式和halt下的功耗即可,因为项目选用的是通过内部定时器唤醒,所以选用active halt mode。以下是stm8s003和stm8l151在这两种模式下的功耗对比: run mode: stm8s stm8l 对比 在使用同样的16M内部RC振荡器情况下,stm8s 3.7ma,stm8l 3.54ma,两款mcu耗电量差不多。 active halt mode: stm8s stm8l
[单片机]
STM8L USART串口使用
USART串口使用 STM8L上有多个串口,最多可达5个,分别为USART1~USART5,但依据型号不同,搭载数量并不相同。 以STM8L052R8为例,其只具有USART1~USART3。 因为STM8系列功能众多,很多Pin都是复用的,因此使用前必须检查STML的参考手册。 通过手册可知,以USART1为例,RX/TX可以使用以下的管脚,默认是PC2/PC3, 如果要变 更,需要修改SYSCFG remap control register 1 (SYSCFG_RMPCR1)的5:4位进行切换。 Bits 5:4 USART1TR_REMAP : USART1_TX and USART1_RX remap
[单片机]
STM8L最小系统板移植Atomthreads成功
终于花了一天时间把atomthreads1.3移植到了STM8L151K4。由于之前有了移植STM8S的经验,这次整个过程清晰了很多。并且我也安装了STVP+COSMIC编译环境,因此这回也更加注重代码在不同编译器的兼容性。 原版Atomthreads1.3的port目录下有点乱,所有编译器的相关文件都放在同一个目录下,我同样对目录结果进行了调整。让代码看起来更易读。同时,原作包括的意法半导体的外设库,一方面太陈旧,一方面也只有一小部分驱动程序,使用起来不方便,还有更重要的是,这个库对STM8L不适用。因此我把最新的ST驱动库整个放了进来。 原作者之所以只拿了一小部分驱动,无非是考虑可能最后编译的二进制文件太大。其实这点不
[单片机]