本帖最后由 小小电子爱好者 于 2018-8-31 20:28 编辑
今天刚到这个活动帖
时间限制只讲解低功耗了
以后有时间把远距离做上!
引用ST官方资料
介绍NUCLEO-L073RZ:
1,STM32L0独具的低功耗结构特点
2,低功耗程序设计时注意的要点
2.1 运行时降低功耗
2.2 休眠时降低功耗
NUCLEO-L073RZ是基于STM32L0超低功耗系列芯片STM32L073RZT6设计的一款评估板。该系列显著的低功耗性能也算是MCU行业的的绞绞者。官方给出数据,低功耗运行模式(Low power run) 8.55uA , 停止模式(Stop with RTC)0.82uA, 待机模式(Standby) 290 nA,功耗直逼MSP430。
但STM32L系列内核是基于Cortex-M0+的高性能32位微控制器。在低功耗应用中,MCU总有段时间需要唤醒完成一系列任务,这样可以快速处理完任务,以最大化的休眠时间进入休眠模式,也是一种降低功耗的办法,通常在执行任务时的电流消耗是休眠状态的几十,甚至几百倍。在拥有低功耗的同时,又能运行高性能模式,完成数据采集,算法处理等一系列应用 。是对STM8L系列的补充。所以TI公司也推出MSP432系列基于Cortex-M0内核的低功耗产品。
1,STM32L0独具的低功耗结构特点
1). Cortex-M0+ 提供一系列领先的性能和程序容量。在大多数低功耗设计中采用的,尽最大努力减少唤醒后的运行时间,争取更多的休眠时间达到降低功耗的目的。按mA/DMIPS考虑,Cortex-M0+优于其他架构,特别对比于16位MCU。
2). Voltage regulator 可动态管理内核电压Vcore,根据性能,功耗的平衡来降低电流消耗。在降低内核电压的同时,频率也必须满足相应的要求。
3). 多种时钟源选择 独有的HSI16,HSI48,MSI时钟,用于复位时及stop,standby模式唤醒后使用,及低功耗运行模式的时钟源(MSI)。其中,MSI作为内部超低功耗的内部RC时钟源,可配置:65.536 kHz, 131.072 kHz, 262.144 kHz, 524.288 kHz, 1.048 MHz,2.097 MHz (default value) and 4.194 MHz,根据以最低功耗满足性能需求的原则合理降低运行时的功耗。
4). Numerous low power modes 多种低功耗模式(即休眠模式),low power run模式除外。低功耗设计中,通常尽快执行完任务,让CPU处于空闲状态后,进入休眠模式,以节约电源。不同的休眠模式,将关闭相应的外设及内核,达到降低功耗的目的。
5). 一系列独有的低功耗外设
A pair of ultra-low power comparators 用于管理模拟电压,并可以做为低功耗模式的唤醒设置(当检测到外部电压达到设置范围),仅3uA的电流消耗。
RTC peripheral 可以在内核处于电流消耗最少的待机模式下唤醒,可做为实时时钟,通常电池供电的手持设备,需要借此外设维护系统时钟等信息,功耗极低。1uA以下。
versatile LCD controller 专用的LCD控制器,5uA的消耗,不包含LCD的电流。
Low power timer (LPTIM),LPUART 不同于常规的MCU,独有的低功耗外设,实现定时,串口。另I2C,USART在使用HSI16驱动时,可把MCU从stop模式下唤醒。
2,低功耗程序设计时注意的要点
微控制器程序设计时,影响最大的因素是:电压和频率。高性能的处理效率和低功耗相互茅盾,难度在于平衡时间和功耗以达到最低的功耗(相当于程序设计思路权衡,唤醒时间间隔及唤醒后以多高的性能运行,以达到最快的结束算法,降低平均功耗)。本文只描述降低芯片自身的功耗,在产品中,整体功耗有关原理的设计,各功能的外围电路应用MOS电路能使能或关断相应的电源电路以降低功耗。
2.1 运行时降低功耗
1).根据运行时需处理的任务实时性,算法复杂度,选取合适的内核电压和频率。降低运行时的平均功耗。
2).除了上途选择合适的电压频率,在突发式需大量处理数据时,可根据需要动态调整电压频率以降低功耗或提升性能。
3).可以考虑使用low power run的运行模式。
4).关闭不使用或暂时不需要用到的外设时钟
5).降低不需要高频率运行的外设频率,如定时器、ADC(1MSps时300uA,10KSps时仅几十uA)等。
6).定时器,串口尽量使用专门设计的低功耗的LPTIM,LPUART。ADC也有特殊的低功耗处理模式
2.2 休眠时降低功耗
1).合理设计休眠时间,满足需求情况下,最大程度休眠。
2).休眠期间可选择关断FLASH,内核等不同的休眠模式,但牺牲的是唤醒的实时性。
3).休眠时间较长,可选择关闭所有外设时钟。
4).除了上述关闭时钟,有些外设还需要禁能(如ADC,关闭后,可以关闭模式电源)
5).IO口配合外围电源,切断或减小外部电路的消耗(通常此时不需要响应的,不用IO调成内部上拉,并关闭时钟)。
|