garfield

【原创】Kinetis系统时钟介绍

0
阅读(2565)

Kinetis芯片时钟系统为内核和外设模块提供基准时钟,在整个芯片架构中起到基础和重要的作用,而且时钟系统也是让初学者的童鞋们常常感到疑惑和理解起来有挑战性的部分。飞思卡尔中文论坛支持小组急人所急,特地就时钟系统部分的内容向大家做详细的介绍。Kinetis芯片系统时钟是由MCG模块、SIM模块、系统振荡器模块、实时时钟振荡器模块和电源管理模块组成。MCG模块是系统时钟的核心模块,提供多种时钟模式,本文将重点讲述如何使用Processor Expert工具配置MCG模块各种时钟模式,系统时钟产生机制和应用实例分析。
1. 模块功能介绍
Kinetis芯片可以使用内部和外部多种时钟源产生系统时钟,图1.1是Kinetis芯片典型的系统时钟框图,其中包括MCG模块、SIM模块、系统振荡器模块(system oscillator)、实时时钟振荡器模块(RTC oscillator)以及电源管理模块(PMC)。

Kinetis芯片典型系统时钟框图

image

MCG模块控制选择系统时钟所使用的时钟源,其中包括一个锁频环(FLL)和一个锁相环(PLL)。锁频环可以使用片内或片外时钟作为参考时钟,其参考时钟频率范围为【31.25KHz ~39.0625KHz】。锁相环只能使用片外时钟作为参考时钟,其参考时钟频率范围根据所属不同Kinetis产品平台略有不同,大体上分为两种:Kinetis产品主频为50MHz、72MHz、100MHz锁相环参考时钟频率范围为【2MHz~4MHz】;Kinetis产品主频为120MHz、150MHz锁相环参考时钟频率范围为【8MHz~16MHz】。
MCG模块输出时钟可以选择使用锁频环或者锁相环产生的时钟,或者直接使用片内时钟源或者片外时钟源。MCG模块提供两个片内时钟:片内高速时钟(4MHz)和片内低速时钟(32KHz)。MCG模块片内时钟具有自动校准机制。片内低速时钟可选择校准频率范围为【31.25KHz~38.2KHz】。MCG模块片外参考时钟源包括有源晶振、无源晶振、时钟产生器等。
MCG模块提供九种不同的工作模式,分别是:锁频环片内时钟模式(FEI),锁频环片外时钟模式(FEE),锁频环旁路片内时钟模式(FBI),锁频环旁路片外时钟模式(FBE),锁相环片外时钟模式(PEE),锁相环旁路片外时钟模式(PBE),低功耗旁路片内时钟模式(BLPI),低功耗旁路片外时钟模式(BLPE)以及停止模式(STOP)。锁频环片内时钟模式(FEI)是MCG模块默认使用模式。MCG模块不同工作模式(停止模式除外)之间可以来回自由切换,图1.2是MCG模块工作模式转换框图。

MCG模块工作模式转换框图:

image

SIM模块控制芯片内核时钟、总线时钟、外部总线时钟、FLASH存储器时钟、USB模块时钟等系统时钟,基于MCG输出基准时钟的分频系数。SIM模块还用于控制外设时钟是否选通,打开使用模块时钟,关闭未使用模块时钟,有利于降低芯片功耗。
系统振荡器模块用于外接有源晶振、无源晶振和外部时钟,提供MCG模块片外参考时钟。支持外接片外低速晶振(32KHz)、片外高速晶振(3MHz~32MHz)和高达50MHz的外部时钟。系统振荡器模块包括以下重要特性:
 自动增益控制,优化芯片功耗;

 电压和频率滤波,提供精确和稳定时钟源;
 支持多种低功耗模式;
实时时钟振荡器模块为实时时钟模块提供参考时钟源,也可以为MCG模块锁频环提供参考时钟。外接晶振频率为32.768KHz。实时时钟振荡器模块包括以下重要特性:
 自动增益控制,优化芯片功耗;
 提供内部反馈电阻和容值可调节的负载电容;
电源管理模块提供用于芯片各种低功耗模式的1KHz LPO时钟。

2. Processor Expert 设置
内部时钟调整(Trim)
Kinetis时钟模式提供片内时钟调整功能。 内部时钟可以通过写TRIM寄存器的方式对MCG模块片内时钟进行调整。一般这个功能需要外部工具的支持,如调试器,烧写器等。片内时钟也可以通过软件方式进行调整,如需更多地信息,可以参考飞思卡尔的应用笔记AN2496。
Kinetis 的片内慢速时钟可以在31.25KHz到39.0625KHz之前进行调整,Kinetis芯片出厂时内置了工厂调整值,通过把这个值写到调整寄存器,可以得到一个较为准确的32.768KHz的时钟。
下面以调试器PE Multilink Universal 为例,阐述在CodeWarriror10.3中如何实现内部时钟调整。
I图2.1所示选择菜单栏Run 下面的Debug Configuration

内部时钟调整:

image

下图所示选中左侧的Kxxx_xxxx_xxxx_PnEU-Multilink,再点击所标注的Edit 按钮。

内部时钟调整:

image

图2.3所示点击Advanced Programming option

image

此时弹出图2.4所示界面

image

【Calculate Trim and Program the Non-Volatile Trim Register】:选中该选项就会使能调试的时钟自动调整功能并将值写入到非易失性寄存器中。
【Use custom trim reference frequency】:默认情况下,对于片内慢速时钟,调试器自动调整的时钟频率值跟工厂调整值一致。如果客户需要调整成其他的频率值就需要选中该选项并填写期望的频率值,如31.25KHz,设置方法如图2.5所示。有效的时钟调整范围是31.25KHz到39.0625KHz。片内快速时钟调整值仅为4MHz。

image

未完待续,今天先到这里。

Baidu
map