本帖最后由 小恩GG 于 2019-11-20 15:44 编辑
今天跟大家分享,如何通过Mxuxpresso进行MCG时钟的配置。 先来简单了解一下K64的时钟树。
K64芯片可以使用内部和外部多种时钟源产生系统时钟,如下图K64的系统时钟框图,其中包括MCG模块、SIM模块、系统振荡器模块(system oscillator)、实时时钟振荡器模块(RTC oscillator)以及电源管理模块(PMC)。 MCG在使用的过程中有8个模式,不同的模式需要不同的路径进行切换,在此仅讨论如何使用Mcuxpresso配置时钟,如下图
言归正传,我们动手实验。
第一步,我将PTC3设置成flexBus clkout,这样就可以通过示波器采集flexBus的频率,用于验证时钟设置是否成功。
接下来,我们分别设置不同的模式。 1. FEI(锁频环片内时钟模式):内部锁频环使用内部参考慢速时钟作为的参考输入锁频环的输出作为芯片的工作时钟。FEI模式是时钟模块的缺省模式。
2. FBE(锁频环旁路片外时钟模式);内部锁频环使用外部振荡器作为的参考输入,但FLL的输出被旁路,而将外部振荡器输入作为芯片的工作时钟
3. FBI(锁频环旁路片内时钟模式):内部锁频环使用内部参考慢速时钟作为的参考输入,但FLL的输出被旁路,而将内部慢速或者快速时钟作为芯片的工作时钟。
4 FBE(锁频环旁路片外时钟模式);内部锁频环使用外部振荡器作为的参考输入,但FLL的输出被旁路,而将外部振荡器输入作为芯片的工作时钟。
5. PEE(锁相环片外时钟模式):MCG模块输出时钟为锁相环产生的时钟。锁相环通过系统振荡器模块获取外部参考时钟,通过锁相环产生设定频率的输出时钟。
6. PBE(锁相环旁路片外时钟模式):MCG模块输出时钟为系统振荡器时钟。锁相环在PBE模式下处于工作状态,只是锁相环输出时钟未被使用。
7. BLPI(低功耗旁路片内时钟模式):MCG模块输出时钟为内部系统时钟。MCG工作在BLPI模式下,锁相环和锁频环处于关闭状态。
8. BLPE(低功耗旁路片外时钟模式):MCG模块输出时钟为内部系统的时钟。MCG工作在BLPE模式下,锁相环和锁频环处于关闭状态。
最后,尽管代码由IDE生成,但是我们也要注意代码的变化。因为如果在日后,我们用到模式切换,一些细节上的处理相当重要。OK,Get到的童鞋赶紧去试一试吧。
注:本篇为入门篇。下一篇将学习MCG不同模式的切换以及各模式的作用。
|