查看: 2218|回复: 2

[原创] 关于KE04定时中断的总结

[复制链接]

该用户从未签到

17

主题

66

帖子

0

中级会员

Rank: 3Rank: 3

积分
280
最后登录
2016-7-30
发表于 2015-11-20 10:41:19 | 显示全部楼层 |阅读模式
最近在用Freescale KE04片子做设计,其中要用到定时中断,同时要考虑系统功耗。所以研究了下在Freescale芯片中实现定时中断的方法
1. 定时中断对ARM来说最简单的方法是使用 SysTick,比较通用。但是查阅KE04的reference manual 发现KE04 的Systick 时钟来源是 Core clock 或者 Core clock/16. 当进入Stop 省电模式后 Core clock会被关断。 因此在Systick 不能在低功耗模式产生定时中断
2. 使用内部时钟源做RTC中断,使用RTC做定时中断有四个时钟源可选择:外部时钟,内部的1K低功耗实时时钟,内部参考时钟和总线时钟
A. 最推荐的方式是使用内部1K低功耗实时时钟,这个时钟是一直存在的。但是用这个时钟做为时钟源有个问题,最低只能到10Hz,如果要求更快频率的定时中断,无法使用此时钟源
B. 可以使用内部参考时钟做为中断源。 该时钟在出厂时会做校准,校准的频率为37.5KHz (这样才可以通过FLL的倍频得到KE系列的最大工作频率48M = 1280x37.5) 内部时钟源可以设置为STOP模式下保持工作,如果要实现ms级别的定时中断,这个时钟源可以利用。我的板子需要1ms中断一次,是使用分频系数37 将 37.5KHz 分频为 1.0135 KHz 来实现的。误差<2% 为可接受范围,如果需要精度更高,可以通过调整ICS Trim值来实现,我就没继续研究了
C. 使用总线时钟和Systick没区别,还不如直接用Systick
D. 使用外部时钟唯一的好处是定时更精确

回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2015-11-20 13:43:19 | 显示全部楼层
谢谢分享
回复

使用道具 举报

该用户从未签到

2

主题

65

帖子

0

注册会员

Rank: 2

积分
153
最后登录
1970-1-1
发表于 2015-11-20 16:28:21 | 显示全部楼层
学习了,顶一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-26 13:49 , Processed in 0.085696 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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