《如何实现STM8L151G6U6超低功耗.doc》由会员分享,可在线阅读,更多相关《如何实现STM8L151G6U6超低功耗.doc(2页珍藏版)》请在三一文库上搜索。
1、如何实现STM8L151G6U6超低功耗先简单介绍下STM8L151G6U6,该MCU是STM8L超低功耗系列,与152系列相比只是少了LCD的功能,官方手册介绍的各个低功耗模式的功耗如下:其低功耗性能还是很不错的,在本文中是基于活跃停机低功耗模式来测试的。要实现STM8L151G6的低功耗,主要可以注意以下几点:1. 不需要用到的外设一律不使能外设时钟,对于临时使用的外设,只需在使用时临时打开即可,使用完毕关闭时钟2.合理配置GPIO口的状态,对于没有使用到的GPIO,可将其设为上拉输出低,GPIO_Init(GPIOF, GPIO_Pin_0, GPIO_Mode_Out_PP_Low_S
2、low);对于使用到的GPIO口,则要看你外电路的接法,如用一个GPIO低电平来控制LED亮灯,则要实现低功耗时,需把GPIO口置高;另一种情况是对于使用到的中断管脚,将该管脚上拉时,当发生中断电路接地时,该电阻则形成回路,有一定的消耗电流,可选用较大的电阻做外部上拉电阻,则大大减低电流。3. 最重要的一点,由于STM8L151G6有电源管理部分,故必须在进入睡眠之前使能低功耗模式,具体库函数为:PWR_UltraLowPowerCmd(ENABLE);4. STM8L系列的MCU数据手册表明工作电压可低到1.65V,当要实现这个功能是有要求的,必须勾选选项字节中的BOR_ON Brownou
3、t reset OFF,不启用BOR,这个可以在烧录软件中选择,这个在参考手册中有下面的描述In low density devices, medium density devices and in the medium+ and high densitydevices operaTIng from 1.8V to 3.6V (device part numbers without D suffix), the BOR startsto work above the POR threshold (see SecTIon 6.3: Brownout reset (BOR) on page 66)。 Toensure the minimum operaTIng voltage (1.65 V), the BOR should be configured to BORLevel 0.我根据上述几点,对自己的项目进行测试,使用活跃停机模式,RTC 30s自动唤醒,最后测试的休眠电流能做到4.7uA。