[Kinetis] 怎么使用KL46的内部振荡器?FLL倍频?

[复制链接]
 楼主| laocuo1142 发表于 2015-1-28 15:09 | 显示全部楼层 |阅读模式
#if defined(NO_PLL_INIT)
        mcg_clk_hz = 21000000; //FEI mode
        
        SIM_SOPT2 &= ~SIM_SOPT2_PLLFLLSEL_MASK; // clear PLLFLLSEL to select the FLL for this clock source
        
        uart0_clk_khz = (mcg_clk_hz / 1000); // the uart0 clock frequency will equal the FLL frequency
       这个21000000是怎么确认的?内部晶振怎么确定,怎么初始化。
FSL_TICS_ZJJ 发表于 2015-1-29 09:36 | 显示全部楼层
64.jpg


MCG_C4中的DRST_DRS 以及 DMX32位决定了FLL的倍频因子,如果都是0, 就是640倍,这点你可以到用户手册的MCG章节查看。
内部慢速时钟出厂值是32.768Khz。
FEI模式就是使用内部慢速时钟经过FLL模块倍频后给MCGOUTCLK, MCGOUTCLK=32.768K*640约为21Mhz。
 楼主| laocuo1142 发表于 2015-1-29 09:44 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-1-29 09:36
MCG_C4中的DRST_DRS 以及 DMX32位决定了FLL的倍频因子,如果都是0, 就是640倍,这点你可以到用户手册的 ...

这个我明白了,我要使用别的频率,要设置MCG_C4,然后可以调用DEMO里的int fll_freq(int fll_ref)这个函数得到想要的IRC频率对不对?int fll_ref这个参数是不是32768?麻烦你再帮我解答一下。谢谢
 楼主| laocuo1142 发表于 2015-1-29 10:37 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-1-29 09:36
MCG_C4中的DRST_DRS 以及 DMX32位决定了FLL的倍频因子,如果都是0, 就是640倍,这点你可以到用户手册的 ...

32K和4M能不能同时使用?32K做内核时钟,4M分频输出到RTC做时钟源
FSL_TICS_ZJJ 发表于 2015-1-29 13:16 | 显示全部楼层
laocuo1142 发表于 2015-1-29 09:44
这个我明白了,我要使用别的频率,要设置MCG_C4,然后可以调用DEMO里的int fll_freq(int fll_ref)这个函 ...

FLL模块的输入频率不仅可以是内部慢速时钟,还可以是外部晶振输入的时钟。
如果你选择内部慢速时钟,并且不trim的话,默认是32.768Khz
FSL_TICS_ZJJ 发表于 2015-1-29 13:17 | 显示全部楼层
laocuo1142 发表于 2015-1-29 10:37
32K和4M能不能同时使用?32K做内核时钟,4M分频输出到RTC做时钟源

可以的,你看时钟框图。
如果你FLL使用了内部慢速时钟,你的MCGIRCLK还可以选择为4Mhz的内部快速时钟。
FSL_TICS_ZJJ 发表于 2015-2-2 10:49 | 显示全部楼层
楼主问题解决了没有?
如果还有问题,欢迎继续交流。
firstfox 发表于 2015-2-10 21:59 | 显示全部楼层
不错,刚也坑在了FLL时钟配置上了
quray1985 发表于 2015-2-28 17:00 | 显示全部楼层
不错,开始也被坑了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6236

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部