STM32L051的低功耗初探

起因:有个项目需要做低功耗,以前都是用的MSP430。现在想换一个方案。

发现STM32L 系列的数据比较亮眼,与我实测的数据基本一致。

Ultra-low-power platform

– 1.65 V to 3.6 V power supply

– -40 to 125 °C temperature range

– 0.27 μA Standby mode (2 wakeup pins)

– 0.4 μA Stop mode (16 wakeup lines)

– 0.8 μA Stop mode + RTC + 8-Kbyte RAM retention

– 88 μA/MHz in Run mode

– 3.5 μs wakeup time (from RAM)

– 5 μs wakeup time (from Flash memory)

• Core: Arm® 32-bit Cortex®-M0+ with MPU

– From 32 kHz up to 32 MHz max.

– 0.95 DMIPS/MHz

There are three power consumption ranges:

• Range 1 (VDD range limited to 1.71-3.6 V), with the CPU running at up to 32 MHz

• Range 2 (full VDD range), with a maximum CPU frequency of 16 MHz

• Range 3 (full VDD range), with a maximum CPU frequency limited to 4.2 MHz

Seven low-power modes are provided to achieve the best compromise between low-power

consumption, short startup time and available wakeup sources:

• Sleep mode

In Sleep mode, only the CPU is stopped. All peripherals continue to operate and can

wake up the CPU when an interrupt/event occurs. Sleep mode power consumption at

16 MHz is about 1 mA with all peripherals off.

• Low-power run mode

This mode is achieved with the multispeed internal (MSI) RC oscillator set to the lowspeed

clock (max 131 kHz), execution from SRAM or Flash memory, and internal

regulator in low-power mode to minimize the regulator's operating current. In Lowpower

run mode, the clock frequency and the number of enabled peripherals are both

limited.

• Low-power sleep mode

This mode is achieved by entering Sleep mode with the internal voltage regulator in

low-power mode to minimize the regulator’s operating current. In Low-power sleep

mode, both the clock frequency and the number of enabled peripherals are limited; a

typical example would be to have a timer running at 32 kHz.

When wakeup is triggered by an event or an interrupt, the system reverts to the Run

mode with the regulator on.

Stop mode with RTC

The Stop mode achieves the lowest power consumption while retaining the RAM and

register contents and real time clock. All clocks in the VCORE domain are stopped, the

PLL, MSI RC, HSE crystal and HSI RC oscillators are disabled. The LSE or LSI is still

running. The voltage regulator is in the low-power mode.

Some peripherals featuring wakeup capability can enable the HSI RC during Stop

mode to detect their wakeup condition.

The device can be woken up from Stop mode by any of the EXTI line, in 3.5 μs, the

processor can serve the interrupt or resume the code. The EXTI line source can be any

GPIO. It can be the PVD output, the comparator 1 event or comparator 2 event

(if internal reference voltage is on), it can be the RTC alarm/tamper/timestamp/wakeup

events, the USART/I2C/LPUART/LPTIMER wakeup events.

DS10184 Rev 10 15/133

STM32L051x6 STM32L051x8 Functional overview

32

• Stop mode without RTC

The Stop mode achieves the lowest power consumption while retaining the RAM and

register contents. All clocks are stopped, the PLL, MSI RC, HSI and LSI RC, HSE and

LSE crystal oscillators are disabled.

Some peripherals featuring wakeup capability can enable the HSI RC during Stop

mode to detect their wakeup condition.

The voltage regulator is in the low-power mode. The device can be woken up from Stop

mode by any of the EXTI line, in 3.5 μs, the processor can serve the interrupt or

resume the code. The EXTI line source can be any GPIO. It can be the PVD output, the

comparator 1 event or comparator 2 event (if internal reference voltage is on). It can

also be wakened by the USART/I2C/LPUART/LPTIMER wakeup events.

• Standby mode with RTC

The Standby mode is used to achieve the lowest power consumption and real time

clock. The internal voltage regulator is switched off so that the entire VCORE domain is

powered off. The PLL, MSI RC, HSE crystal and HSI RC oscillators are also switched

off. The LSE or LSI is still running. After entering Standby mode, the RAM and register

contents are lost except for registers in the Standby circuitry (wakeup logic, IWDG,

RTC, LSI, LSE Crystal 32 KHz oscillator, RCC_CSR register).

The device exits Standby mode in 60 μs when an external reset (NRST pin), an IWDG

reset, a rising edge on one of the three WKUP pins, RTC alarm (Alarm A or Alarm B),

RTC tamper event, RTC timestamp event or RTC Wakeup event occurs.

• Standby mode without RTC

The Standby mode is used to achieve the lowest power consumption. The internal

voltage regulator is switched off so that the entire VCORE domain is powered off. The

PLL, MSI RC, HSI and LSI RC, HSE and LSE crystal oscillators are also switched off.

After entering Standby mode, the RAM and register contents are lost except for

registers in the Standby circuitry (wakeup logic, IWDG, RTC, LSI, LSE Crystal 32 KHz

oscillator, RCC_CSR register).

The device exits Standby mode in 60 μs when an external reset (NRST pin) or a rising

edge on one of the three WKUP pin occurs.

对于模式的选择和区别总结如下:

睡眠模式

在睡眠模式,系统的CPU也就是Cortex-M内核的时钟被关闭了,但外设是继续保持运转的它整个I/O的引脚状态与运行模式下也是相同的。

低功耗睡眠模式

低功耗睡眠模式是基于睡眠模式下的低功耗模式,是具有极低电流消耗的睡眠模式,它内核的时钟也是被关闭的,同时外设时钟频率受到了限制,因为它的电压调节器属于低功耗状态,内部的FLASH是要被停止的,所以低功耗睡眠模式只能从低功耗运行模式进入,这个是和其他模式不同的,其他模式都可以从运行模式直接做切换。

在低功耗运行和睡眠模式下,可以有一个BAM模式,它的工作方式是通过RTC加一个外设加DMA加SRAM,在不需要CPU干预的情况下就可以自行做数据采集,一旦到了数据采集需要到CPU处理的条件时,然后再把CPU唤醒做处理,所以这整个一个小系统就实现了一个协处理器的功能。

停止模式

在说停止模式之前,为了说清楚停止模式和睡眠模式的区别,我们先说一下Vcore的概念,它是内核的一个供电区域,不仅给CPU内核供电,还会给系统内部的存储器和它的数字外设供电。

停止模式中,除了CPU,也就是Cortex-M内核的时钟被关闭外,内核供电域的时钟也被停止,在停止模式下,内核供电域的时钟全部都停掉,PLL内部、外部的高速时钟全部都停掉,电压调节器为内核供电域供电,保留寄存器和内部SRAM中的内容。

在L4和L4+系列中,停止模式被细分为stop 0、stop 1和stop 2三种模式,按照功耗从低到高来说,stop 2是功耗最低的一个stop模式,它整个Vcore电源域放在了更低的漏电流模式下,使用了低功耗的电压调节器,只有最少的外设可以工作,所以它的功耗相对来说是最低的,但是唤醒时间是最长的。

Stop 1模式提供了更多的外设和唤醒源,唤醒时间也会更长一些;

Stop 0模式主电压调节器打开,可以得到最快的唤醒时间;

在所有的stop模式下,所有的高速振荡器停止,而低速振荡器保持活动,外设设置为active,需要的时候就可以使用这些高速时钟,能保证它在一些特定的事件下去唤醒设备。

待机模式

在待机模式下,内核的供电是直接断电的,电压调节器掉电区寄存器的内容会完全丢失,包括内部的SRAM,所以最大的区别就是说,系统从待机模式下的低功耗唤醒的时候,系统是要复位的。

待机模式下,BOR是始终使能的,这样就保证了供电电压低于所选功能阈值时,器件可以复位。默认条件的待机模式下,SRAM的内容是会丢失的,但是在L4里增加了SRAM 2,如果需要在待机模式后系统唤醒的时候有SRAM能保存一些内容,那就可以使用SRAM 2,它需要有多余220nA的额外电流消耗。

Shutdown模式

在shutdown模式,系统达到了最最低的功耗,电压调节器的供电就被关断了,内核的供电也完全被断开,只有备份域的LSE、RTC可以工作所以在L4器件实现了一个新的模式,这个模式主要实现的目的就是为了延长电池供电之后整个器件的使用寿命,它其实是通过关闭内部的稳压器以及禁止使用耗电的监控,所以这个模式可以达到最低的功耗电流。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: stm32l051低功耗串口是一款针对低功耗应用场景而设计的串口芯片。相比于传统的串口芯片,其在功耗控制、性能优化等方面有着显著的优势。 在功耗控制方面,stm32l051低功耗串口采用了独特的低功耗设计方案,能够在工作状态和待机状态之间快速切换,以实现更加高效的功耗控制。同时,其还集成了多种省电技术,例如低功耗时钟、低功耗微控制器模式等,使得设备在脱机状态下的能耗得到大幅降低。 在性能优化方面,stm32l051低功耗串口支持多种串行通信协议,例如UART、SPI、I2C、LIN等,同时支持数据包、多主机、帧同步等多种特性。其还支持数据缓存、DMA传输等高效的数据传输方式,在串行数据传输的过程中能够提高通信速率与通信质量,避免了串口传输时出现的一些问题。 总之,stm32l051低功耗串口是一款性能强劲,功耗低、稳定可靠的串口芯片,广泛应用于各种低功耗设备中。 ### 回答2: STM32L051是一款低功耗的微控制器,其特性包括丰富的外设和强大的处理能力,同时也是一款非常注重功耗管理的单片机。其中,低功耗串口是这款微控制器的一项特色。 低功耗串口是一种以最小化能耗为目的的串口传输方式。它通过将对串口的唤醒信号最小化,降低串口传输过程中的能耗。在STM32L051中,低功耗串口的实现采用了多种技术,如自动处理、片上缓冲等,旨在将传输时的电流消耗最小化。 在一般的串口传输过程中,不断的串口空闲时段会导致功率的浪费。而低功耗串口则可以在传输结束后,很快进入睡眠模式,等到下一次传输开始时再次唤醒。这样就保证了整个传输过程中的最小功耗。 另外,STM32L051低功耗串口也支持多种传输模式。它可以通过自适应低功耗模式实现自动切换和自主处理。通过使用DMA传输数据,更进一步提高了传输的效率和稳定性,同时也能使股支持它的应用程序更加高效。 综上所述,STM32L051低功耗串口是一种专门针对低功耗应用而开发的串口传输方式。其通过多种技术手段和特殊设计,能够实现最小化的功耗消耗,使得整个传输过程更加高效和稳定。 ### 回答3: STM32L051是一款高性能、低功耗的微控制器芯片,可广泛应用于智能家居、工业自动化、机器人等领域。该芯片的低功耗串口是其特有的一项功能,可以有效减少芯片的能耗,节省电力资源。 低功耗串口采用异步串行通信协议,能够实现数据的传输。在传输数据时,芯片可以进入低功耗模式,从而有效降低功耗。此外,该串口还支持自动唤醒功能,能够在特定条件下自动唤醒芯片,提高工作效率。 在使用STM32L051低功耗串口时,需要根据实际应用场景进行配置。用户可以设置波特率、奇偶校验等参数,满足不同需求。同时,为了避免数据丢失或干扰,用户还需要采用合适的数据传输方式,如单线半双工模式或双线全双工模式等。 综上所述,STM32L051低功耗串口功能是其具有竞争力的一项特性。通过合理配置和使用,该功能可以大大降低芯片的功耗,提高系统效率,为用户提供优质的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值