历史上的今天
今天是:2025年01月22日(星期三)
2021年01月22日 | LPTIM低功耗定时器有哪些独特功能?
2021-01-22 来源:eefocus
1写在前面
在早些年,可能较少听见LPTIM这个名词。随着低功耗产品需求越来越严格,MCU厂商就推出了针对低功耗应用的LPTIM定时器。
定时器是我们常见的一种外设,之所以这么常见,原因在于定时器的用途非常广泛。
在STM32所有MCU中都配有定时器,那么你有关注、对比过各系列,各型号MCU中定时器的差异吗?
2哪些STM32配有LPTIM定时器
在STM32中,相对较新推出的MCU部分型号配有LPTIM定时器。
比如:STM32F7、H7高性能MCU,STM32L0、 L4低功耗MCU,以及最新推出的G0系列中配有这种LPTIM定时器。
具体哪些MCU配有LPTIM,大家可以下载对应的数据手册查看。
本文围绕STM32G0讲述其中的LPTIM定时器。
3LPTIM功能
LPTIM: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定时器的功能比较多,可能初学者一看到那么多内容就吓到了。其实,把内容拆开来看并不难。
本文旨在让更多朋友知道这些功能,想要深入掌握其中知识,需结合手册和实践编程。
史海拾趣
|
二、关于嵌入式系统方向 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家 ...… 查看全部问答> |
|
在蓝牙协议中,主从设备间只支持一条ACL链路和三条SCO链路,是不是就是说在某一时刻,主从服务间只有一个服务使用这个ACL链路??? 如题,现在很急的一个问题, 想请教高手, 蓝牙协议中的主从设备间只支持一条ACL链路和三条SCO链路,是不是就是等价于说在某一时刻,主从服务间只有一个服务使用这个ACL链路??? 举个例子就是,某一时刻文件传输服务和蓝 ...… 查看全部问答> |
|
S3C2440 SPI接收问题请教, 程序代码如下所示. 我通过示波器能够抓到MISO,MOSI的正确波形,说明数据发送和接收都是正确的,可就是2440寄存器SPRDAT0没有数值,始终是0. 各位大侠估计什么原因?ARM MISO管脚显示信号都是正确的,相应接收寄存器却 ...… 查看全部问答> |
|
最近做仿真软件开发,要求实时性很强,为了方便开发和用户使用,就不想换操作系统,看到可以在Windows下使用RTX来实现,只是我同用过,哪位大侠用过,说下~~ … 查看全部问答> |
|
题目是:同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms输出1k(hz)的方波。 我的代码是:#include #include #define uint unsigned int #define uchar unsigned char uint t1=0,t2=0; sbit b ...… 查看全部问答> |
|
奇怪!下面函数通不过? { uchar a; a=1; if( a!=1 ) break; } 错误提示:COMJM.C(64): error C171: \'break\': ...… 查看全部问答> |
|
这几天拼命在学这个了! 学了几遍,因为学完的比较早,做题过的也比较早,后来就只看资料了,没有想到当时忘记把图截完了! 当时以后系统可以在后台统计! 麻烦管理员朋友帮忙查看一下!辛苦了!!… 查看全部问答> |




