在KL03、KL27中出现了另一种MCG模块—MCG_Lite,相对原先的MCG版本,MCG_Lite有很多新的特色。
一、概述
MCG模块通过对输入的参考时钟进行分频和倍频处理,为MCU和芯片内部各个模块提供时钟信号。MCG_Lite模块内部集成了,同时也支持外部时钟源。MCG_Lite输出的时钟源包括MCGPCLK、MCGOUTCLK、LIRC_DIV1_CLK、MCGIRCLK、LIRC_CLK(如图1所示),其中MCGOUTCLK是核心时钟,它是core时钟、system时钟、bus时钟、flash时钟的基础(如图2所示)。不同的参考时钟,以及对参考时钟的不同的处理方式,可使得MCG模块产生有4种不同的时钟模式,这个会在后面细讲。
二、寄存器
1、控制寄存器1
CLKS: MCGOUTCLK时钟源选择,00:HIRC;01:LIRC2M或者LIRC8M;10:外部时钟源;11: 保留,写无效。
IRCLKEN: 内部参考时钟选择位,0:LIRC禁用;1:LIRC使能。
IREFSTEN: 设置STOP模式下,LIRC参考时钟是否使能,0:禁止;1:使能。
2、控制寄存器2
EREFS0: 外部时钟源选择,0:外部参考时钟;1:外部振荡器。
IRCS:选择2MHz 或者8MHz为LIRC,0:2MHz,1:8MHz。
3、MCG状态寄存器
CLKST:显示当前的时钟模式
OSCINIT0:显示OSC初始状态,0:OSC初始未完成;1:OSC初始化完成。
4、状态控制寄存器
FCRDIV:选择LIRC输出的分频系数
5、额外控制寄存器
HIRCEN: 控制HIRC,0:禁止HIRC;1:使能HIRC,即使在MCG_Lite没有选择HIRC情况下。
LIRC_DIV2:第二梯阶LIRC分频器
注意:MCG_Lite不支持LIRC 8MHz和LIRC 2MHz两者间切换,因为两者内部有共享的电路,需要先切换到HIRC或EXT时钟模式后,才能完成LIRC 8MHz和LIRC 2MHz两者间的切换。
RUN,VLPR模式下,各个基础时钟源的频率限制,所以当MCU进入VLPR模式之前,确定时钟模式不是HIRC,即MCG_MC=0。