在开发低功耗产品时,我们非常关注整个系统的功耗。你是否也关注过LPTIM(低功耗定时器)呢?
1. 前言
在较早的时候,LPTIM这个名词可能并不常见。然而,随着对低功耗产品需求的不断增加,各种MCU厂商推出了专门针对低功耗应用的LPTIM定时器。
定时器是我们常见的外设之一,之所以它如此常见,是因为定时器具有广泛的应用。
在STM32的所有MCU中,都配备了定时器。那么,你是否关注过不同系列、不同型号的MCU中定时器的差异呢?
2. 哪些STM32系列配备了LPTIM定时器
在STM32系列中,较新的一些MCU型号配备了LPTIM定时器。
例如:STM32F7、H7高性能MCU,STM32L0、L4低功耗MCU,以及新推出的G0、G4系列,都搭载了LPTIM定时器。
具体哪些MCU配备了LPTIM,请下载对应的数据手册进行查阅。
本文将围绕STM32G0系列介绍LPTIM定时器的相关内容。
3LPTIM功能
**L*PTIM:Low-power timer*,即低功耗定时器。
**
**
LPTIM 是一个 16 位定时器,得益于其定时器的低功耗。
由于 LPTIM 的时钟源具有多样性,因此 LPTIM 能够在所有电源模式(待机模式除外)下保持运行状态。
即使没有内部时钟源, LPTIM 也能运行,鉴于这一点,可将其用作“脉冲计数器”,这种脉冲计数器在某些应用中十分有用。
此外, LPTIM 还能将系统从低功耗模式唤醒,因此非常适合实现“超时功能”,而且功耗极低。
LPTIM 引入了一个灵活的时钟方案,该方案能够提供所需的功能和性能,同时还能最大程度地降低功耗。
**
**
我仔细对比了一下STM32各系列的LPTIM低功耗定时器,发现很多功能基本一样。
1.框图
STM32G0低功耗定时器框图:
STM32L0低功耗定时器框图:
对比框图,可以发现这个LPTIM片上外设有相似之处。
当然,有些细节是不一样的,像在STM32H7中有多个LPTIM,这几个LPTIM之间是有一定差异的。
2.LPTIM 主要特性
-
16 位递增计数器 -
3 位预分频器,可采用 8 种分频系数(1、 2、 4、 8、 16、 32、 64 和 128) -
可选时钟
– 内部时钟源:LSE、 LSI、 HSI 或 APB 时钟
– LPTIM 输入的外部时钟源(在没有 LP 振荡器运行的情况下工作,可在使用脉冲计数器应用场景中使用)
-
16 位 ARR 自动重载寄存器 -
16 位比较寄存器 -
连续/单触发模式 -
可选软件/硬件输入触发 -
可编程数字防抖动干扰滤波器 -
可配置输出:脉冲和 PWM -
可配置 I/O 极性 -
编码器模式
拿这些特性和其它基本定时器相对较,你会发现,这些特性中很多都是LPTIM独有的。
3.LPTIM RCC
LPTIM的RCC和其他定时器相比较,其RCC功能更加丰富。
通过上面框图可以发现,LPTIM 可通过多个时钟源提供时钟。
它可以由内部时钟信号提供时钟,内部时钟信号可通过复位和时钟控制器 (RCC) 在 APB、 LSI、 LSE 或 HSI 时钟源中进行选择。
4.干扰滤波器
这个功能也是LPTIM所特有的一个功能。
LPTIM 输入由数字滤波器保护,避免任何毛刺和噪声干扰在 LPTIM 内部传播,从而防止产生意外计数或触发。
滤波示意图:
这个原理比较简单,如果不能理解请查看参考手册详解。
LPTIM定时器的功能比较多,可能初学者一看到那么多内容就吓到了。其实,把内容拆开来看并不难。
本文旨在让更多朋友知道这些功能,想要深入掌握其中知识,需结合手册和实践编程。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !