NXP MCU 技术william hill官网
直播中

偶是糕富帅

11年用户 788经验值
私信 关注
[问答]

KL 系列 FAQ (八)——RTC 模块

11.1 KL25Z RTC 模块初始化失败
问题:
KL25Z 用内部 32K 时钟 初始化 RTC 模块 就会使芯片晶振设置失败。
附上程序
  1. void rtc_init(uint32_t Secendtimes,uint32_t AlARMTimes)
  2. {
  3. int i;
  4. SIM_SCGC6 |= SIM_ SCGC6_RTC_MASK;//使能 RTC 时钟门控制
  5. OSC0_CR |= OSC_CR_ERCLKEN_MASK;
  6. SIM_SOPT1 |= SIM_SOPT1_OSC32KSEL(0);
  7. RTC_CR  = RTC_CR_SWR_MASK;//软件复位 RTC 寄存器
  8. RTC_CR  &= ~RTC_CR_SWR_MASK;//软件复位之后清 SWR 位
  9. RTC_CR |= RTC_CR_CLKO_MASK  | RTC_CR_SC8P_MASK  ;
  10. RTC_CR |= RTC_CR_OSCE_MASK;//使能 32.768kHz 振荡器

  11. for(i=0;i<0x600000;i++);//在使能 32.768kHz 振荡器之后,使能计数器
  12. //之前等待一段时间,来稳定 32.768kHz 时钟。
  13. RTC_TCR = RTC_TCR_CIR(0)  | RTC_TCR_TCR(0);//配置定时器补偿寄存器的时
  14. 间间隔与时钟周期数
  15. RTC_TSR = SecendTimes;//初始化定时器秒寄存器
  16. RTC_TAR = AlarmTimes;//初始化定时器报警寄存器
  17. RTC_TPR = 0;     //复位 RTC 定时器预分频器寄存器
  18. RTC_SR |= RTC_SR_TCE_MASK; //使能秒计数器
  19. }

一旦经过RTC_CR |= RTC_CR_OSCE_MASK;//使能 32.768kHz 振荡器这句之后就会死机。


答案:
从手册中(如下图)可以清楚的看出,RTC 模块一共有 3 个 clock 的来源。
它们分别是 LPO,RTC 的时钟输入脚和 OSC32KCLK,可以通过
SIM_SOPT1[OSC32KSEL] 选择(如下图)。  其中 LPO 是内部的 1KHz 频率的时钟;
OSC32KCLK 也是外部的时钟产生的,而且在使用 RTC 选择 OSC32KCLK 时,只
有外部晶振为 32.768 kHz 时才可以;选择 RTC_CLKIN 时,RTC_CLKIN 必须是有
源 32.768kHz 时钟源。所以说 RTC 的时钟是不能用内部 32.768kHz 产生的。不过
有人利用内部 32.768kHz 通过外部引脚输出然后引到 RTC_CLKIN 引脚这样的方法,
从而使用内部 32.768kHz 作为 RTC 的时钟源。
1.jpg

11.2 RTC 模块 使用内部时钟在 PE 中如何配置
问题:
FRDM_KL25Z 板上的 RTC_ IN 引脚没有有源晶振,如果想使用内部的慢速时
钟来作为 RTC 的时钟源,在 PE 中该如何配置实现?

答案:
内部的慢速时钟和 RTC 从芯片内部是没有连接线路的,所以,需要在外部
用引线将两个模块相连。思路:把板子上的 PTC1 配置为 RTC_CLKIN,用作 RTC
的时钟输入引脚。然后将 PTC3 配置为 CLKOUT,通过 SIM_SOPT2[ CLKOUTSEL]
选择 MCGIRCLK,并且配置 MCGIRCLK 为内部的慢速时钟 32.768khz。
下面来配置 PE 中的模块参数了。

首先,配置 CPU 部件的相关 RTC 参数,这些都是在 ex pert 中操作:
(1) 使能 RTC 时钟输入并选择 PTC1。
(2) MCGIRCLK source 选择为 slow,选择 32KHz 的时钟频率。
(3) 选择 ERCLK32K clock  source 为 RTC clock inp ut,即选择 RTC_CLKIN
作为 RTC 模块 32khz 输入。
(4) 选择 PTC3 作为 CLKOUT 引脚,引脚输出信号配置为 MCGIRCLK。
然后,添加 RTC_LDD,并对其配置,需要注意,clock source 选择为 ERCLK32K.
其实,官方william hill官网 有一个关于这方面的文章,并且附上了代码,具体链接为:
https://community.freescale.com/docs/DOC-94734

推荐阅读:

更多回帖

发帖
×
20
完善资料,
赚取积分