打印
[资料分享与下载]

【KL25】低功耗定时器之寄存器操作

[复制链接]
908|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccw1986|  楼主 | 2015-9-18 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天晚上一直在研究低功耗定时器(LPTMR),今天就把自己所了解的简单说说.

低功耗定时器,顾名思义,这个定时器的功耗非常小,在很多模式下比如停止、运行、等待、低漏模式下依然可以正常运行,在调试模式下则只能运行脉冲计数器。


这里我只说说定时计数器,关于脉冲计数器我没有过多了了解,这里我就不多介绍了。只是计数器稍微研究了一下。欢迎大家前来纠错。


(一)允许软件访问低功耗定时器
         说白一点,就是和打开IO时钟的原理,是一样的,这里允许软件访问,应该就是允许我们对低功耗定时器进行编程。
         具体操作:SIM_SCGC5 的D0位写入1
(二)配置低功耗定时器模块
怎么配置?当然就是操作寄存器了,接下来我们就稍微讲解一下低功耗定时器的一些寄存器。
         (1)低功耗定时器的控制状态寄存器(LPTRM0_CSR)

TMS:我们这里选用的是定时计数器,所以这里默认为0就可以了。(1:脉冲计         数器)
TCF:定时器比较标志,当CNR(计数寄存器)的值增加到和CMR(比较寄存器)一样时,并且CNR再增加时,该位自动置1。当该位写1时,或者LPTRM被禁用时,该位自动清0.
TIE:定时器中断使能。这里设置为1。当该位置1时,只要TCF置1,低功耗定时器将产生一个中断请求。这里特别注意,是产生中断,最终能否允许该中断产生,还要取决于NVIC的设置。
TPP和TPS是和脉冲计数器有关的,这里我们不用去理会。
TFC:注意不要和TCF混淆了。该位只有LPTMR禁用的时候才允许设置。
我们这里设置为0,就是说,只要TCF置位,CNR就会复位。(1:只有CNR溢出的时候才会复位)
TEN:1-使能LPTMR 0:禁止LPTMR
       (2)低功耗定时器预分频寄存器



这三位我们都需要用到
PRESCALE:预分频值,默认是0000:2 这里我们选择0001:4
PBYP:1-PRESCALE 的预分频值是有效的, 0:预分频器被旁路,预分频值无效,其实就相当于预分频值为1,时钟源没有被分频
PCS:预分频器时钟源选择,这里我多说一点。这个占了2bit也就是由四种模式,具体如下图


这里我们选的是00 默认值即可,就是MCGIRCLK.
那么问题来了,MCGIRCLK的时钟频率是多少?


从图上不难发现MCGIRCLK的时钟源由两个,一个是4MHZ的IRC,另一个是32KHZ的IRC,那么这两个到底选择哪一个?
这个是由MCG_C2控制寄存器决定D0位(IRCS)决定的,该位的描述如下:内部时钟参考选择,为内部时钟在高速和低速时钟之间选择一个时钟参考源。0:低速时钟,也就是我们的32KHZ。  1:高速时钟,也就是4MHZ。
所以在选择MCGIRCLK作为预分频器的时钟源,要特别注意这一点,当然我选用的是高速时钟4MHZ。那么是不是MCGIRCLK就是4MHZ?
答案当时不是的,图上特别注意那个FCRDIV,也就是说4MHZ的高速时钟出来以后得陷阱股FCRDIV的预分频,在CG(时钟门,这里经过系统时钟的初始化后默认是允许的的,这个初始化在system_MKL25Z4.c文件中)允许的情况下,才会输出MCGIRCLK。
那么问题又来了FCRDIV是多少?FCRDIV是由MCG_SC控制的,其默认值是001,对应的分频值是2,所以经FCRDIV后,4MHZ就变成了2MHZ,在经过低功耗定时器的预分频器预分频后(上面我们提到预分频值设为4),就成了0.5MHZ。
(3)LPTMR0_CMR和LPTME_CNR寄存器这里我就不多讲解了,这个我想大家都明白。那么0.5MHZ的时钟每振荡一次,CNR加1,当和CMR中设置的值相等并且再增加时,TCF置位,发送中断请求。
还有一个时间的计算公式T=(N+1)/f,T:是我们需要的时间,N是LPTMR_CMR中设置的值,f是我们最终计算出的时钟频率。
实验中CMR设置成9999,那么T=10000/50000 0=1/50=0.02S 产生一次断。


大体的程序思路每隔1S让三色led灯循环亮起:
(1)初始化三色led灯
(2) 允许软件访问低功耗定时器,初始化并且使能低功耗定时器
(3)在NVIC中设置LPTMR的中断优先级并且使能该中断
(4) 编写中断函数,使得三个led灯循环点亮

相关帖子

沙发
ccw1986|  楼主 | 2015-9-18 21:58 | 只看该作者
代码在这

LPTMR0.rar

387.05 KB

使用特权

评论回复
板凳
FSL_TICS_ZJJ| | 2015-9-21 09:48 | 只看该作者
感谢楼主资料分享!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

925

帖子

6

粉丝