查看: 758|回复: 3
打印 上一主题 下一主题

【STM32L476 Nucleo】评测2:低功耗定时器-LPTIM

[复制链接] qrcode

24

主题

27

帖子

80

积分

注册会员

Rank: 2

积分
80
楼主
跳转到指定楼层
发表于 2016-6-19 09:35 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      挺久没发评测了,今天来聊聊L476的低功耗定时器,这玩意也算是坑过我一把,学库函数的基本不会感觉到变化。




Introduction
The LPTIM is a 16-bit timer that benefits from the ultimate developments in power consumption reduction. Thanks to its diversity of clock sources, the LPTIM is able to keep running in all power modes except for Standby mode. Given its capability to run even with no internal clock source, the LPTIM can be used as a “Pulse Counter” which can be useful in some applications. Also, the LPTIM capability to wake up the system from low-power modes, makes it suitable to realize “Timeout functions” with extremely low power consumption. The LPTIM introduces a flexible clock scheme that provides the needed functionalities and performance, while minimizing the power consumption.



这是一段对LPTIM的介绍,其主要说是该定时器可以工作在待机模式意外的任何模式,也可以用作脉冲计数,也能用于低功耗唤醒。


LPTIM main features
• 16 bit upcounter
• 3-bit prescaler with 8 possible dividing factor (1,2,4,8,16,32,64,128)
• Selectable clock
– Internal clock sources: LSE, LSI, HSI16 or APB clock
– External clock source over ULPTIM input (working with no LP oscillator running,
used by Pulse Counter application)
• 16 bit ARR autoreload register
• 16 bit compare register
• Continuous/one shot mode
• Selectable software/hardware input trigger
• Programmable Digital Glitch filter
• Configurable output: Pulse, PWM
• Configurable I/O polarity
• Encoder mode



相比通用定时器与高级定时器,该定时器的功能少了挺多,毕竟为了低功耗嘛。



这是定时器框图,相当丰富的时钟源选择,别的定时器是没有的。它的分频器是一个8级分频器,相比别的定时器就逊色不少了。

分频选项


别的不多说了,直接来说寄存器
以定时器中断为例

ISR是中断标志和状态寄存器,ICR是中断标志清除寄存器,IER是中断使能寄存器,这里就简单讲一下IER

ARRMIE位的描述是: Autoreload match Interrupt Enable
自动重装载匹配中断。
就是意味着CNT值与ARR寄存器相匹配的时候就会产生一个中断。
该中断等同于通用定时器的更新中断。





CFGR是配置寄存器,该寄存器用于配置分频和定时器工作模式,这里除了分频按需配置,其余位都是 0 即可。



CR是控制寄存器,是在该寄存器使能定时器(此处有坑),还有在这里要将定时器设置在持续工作模式
CMP是比较匹配寄存器,等同于通用定时器的CCR
ARR是重装载寄存器
CNT是计数寄存器
OR是选项寄存器,是用于选择定时器输入源的(不是时钟源)


那么?框图里不是有很多时钟源可以选择么?在哪里选?
在这里。。

一共四种时钟源。



我在这里设置为0,使用PLCK


为什么我上面说使能定时器那里有坑呢?,,,,反正我被坑了一把



别的定时器都是在所有配置完成后才能使能定时器,否则配置无效,而这个定时器,使能必须在ARR和CR前面,并且别的寄存器只能在未使能时配置。
这些在手册里都有说明,也只能怪我没好好看手册了


中断服务函数:



       前面配置的定时器更新频率可以计算得到  F=80000000/16/(49999+1)=100HZ,PA5的IO翻转频率为50HZ


通过逻辑分析仪抓取得到:



可见配置正确。






好啦,这次的分享就到此为止啦~~~


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

77

帖子

22

积分

新手上路

Rank: 1

积分
22
沙发
发表于 2016-6-19 10:01 PM | 只看该作者
点赞
回复 支持 反对

使用道具 举报

0

主题

81

帖子

20

积分

新手上路

Rank: 1

积分
20
板凳
发表于 2016-6-20 01:33 PM | 只看该作者
多谢分享。。。。
回复 支持 反对

使用道具 举报

0

主题

68

帖子

6

积分

新手上路

Rank: 1

积分
6
地板
发表于 2016-6-21 02:16 PM | 只看该作者
最近也要做低功耗,很难。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表