飞思卡尔半导体 AN3041 应用笔记 第0版, 10/2005深入了解HCS08的内部时钟源(ICS)模块作者:Scott Pape飞思卡尔微控制器部系统工程部在本文中,我们将较为深入地了解一下某些型号的HCS08系列微控制器(MCU)所具有的内部时钟源模块(ICS)。
ICS是HCS08 MCU所采用的一种非常灵活的时钟源,然而它十分的经济高效,适用于HCS08系列中体积较小、成本较低的类型的MCU。
ICS中包含锁频环、内部时钟参考信号、外部振荡器和时钟选择子模块。
这些子模块组合起来能提供各种时钟模式和频率,从而几乎能满足任何应用的需要。
ICS有7种工作模式,后文中将详细讨论。
同时,我们将把ICS模块与用在其他HCS08 MCU中的内部时钟发生器(ICG)模块进行比较。
此外,我们还会介绍ICS模块从HCS08的各种低功耗模式恢复时的工作过程。
在结论部分,我们将介绍内部时钟参考信号的校准。
目录页1 ICS功能介绍 (2)1.1 结构框图 (2)1.2 ICS模式:关断 (4)1.3 ICS模式:FEI (4)1.4 ICS模式:FEE (4)1.5 ICS模式:FBI和FBILP (5)1.6 ICS模式:FBE和FBELP (5)1.7 ICS与ICG (6)1.8 附加应用功能 (6)2 低功耗模式中的ICS (7)2.1 停止1和停止2模式 (7)2.2 停止3模式 (7)2.3 等待模式 (8)3 校准IRC (8)3.1 如何校准— AN2496 (8)3.2 不调整的运行 (8)3.3 校准IRC (9)1 ICS 功能介绍深入了解HCS08的内部时钟源(ICS)模块飞思卡尔半导体 General Business Information 3FLL 的输出频率为参考时钟频率的512倍。
FLL 包括三个主要部分:·参考频率选择·数字控制振荡器(DCO )·用于比较这两个部分输出的滤波器FLL 的工作原理与锁相环(PLL )非常相似。
不同之处在于PLL 是根据参考时钟与DCO时钟的相位差来调节输出的,而FLL 则是通过比较DCO 时钟与参考时钟的频率来工作的。
FLL 对一个参考时钟周期内的DCO 时钟脉冲边沿数进行计数。
因此,对于512倍的倍频器,FLL 应该在参考时钟的每两个上升沿之间得到512个DCO 输出的上升沿。
FLL 的实现大多借助数字逻辑电路,因而不需要PLL 通常必须采用的外部滤波器件。
时钟选择逻辑只是简单地选择FLL 、外部参考时钟或内部参考时钟作为ICS 模块的输出。
此外,还采用了一个时钟分频器电路,可以对输出进行1倍、2倍、4倍或8倍分频,用以降低输出时钟的频率。
内部参考时钟(IRC )是一个可调整的内部参考时钟信号,既可用作FLL 的参考时钟,也可直接用作CPU 和总线时钟的时钟源。
这个内部参考时钟不需要诸如调整电容或电阻等的外部器件。
IRC 由ICS 寄存器中的一个9位数值进行调整,解析度典型值能达到未调整IRC 频率的0.1%。
与许多其他的内部参考时钟不同,这个IRC 可将频率在一定的范围内进行调整,从31.25kHz 变到39.06kHz 。
当用作FLL 的参考时钟时,这将允许用户用0.1%的解析度,把总线频率设定在8MHz 至10MHz 间的任意值。
调整之后,对调整频率的偏差典型值仅为 +0.5% 至 -1%,最大值也只不过是±2%。
外部振荡器参考时钟(OSC )实际上把三个外部时钟源合并在一个里面。
它有一个采用32kHz 至38.4kHz 晶体或谐振器的低频振荡器,还有一个采用1MHz 至16MHz 晶体或谐振器的高频振荡器。
这两个振荡器需要两个引脚即XTAL 和EXTAL 来生成时钟信号。
OSC 还有一种外部时钟模式,该模式简单地把一个外部时钟信号引入MCU 。
在此模式中,只需要EXTAL 脚,而XTAL 脚可用作通用I/O 。
输入频率可以是0Hz 至20MHz 之间的任意值。
由于引脚的限制,有些MCU 可能没有外部振荡器。
ICS 的子模块是否启动取决于采用哪种ICS 时钟模式。
ICS 具有7种工作模式:·关断·FLL 启用、内部参考时钟(FEI )·FLL 启用、外部参考时钟(FEE )·FLL 旁路、内部参考时钟(FBI )·FLL 旁路、内部参考时钟、低功耗(FBILP )·FLL 旁路、外部参考时钟(FBE )·FLL 旁路、外部参考时钟、低功耗(FBELP )1 ICS 功能介绍深入了解HCS08的内部时钟源(ICS)模块表1:FEE 模式下的容许外部频率FEE 中的总线频率可根据等式(2)计算:f bus = (f OSC ÷参考时钟分频器)×512÷(2×总线分频器) 等式(2)1.5 ICS 模式:FBI 和FBILPFLL 旁路、内部参考时钟(FBI )模式与FLL 旁路、内部参考时钟低功耗(FBILP )模式基本上是一样的,只有一点不同。
这两种模式均旁路FLL ,而直接采用IRC 生成ICSOUT 。
不同之处在于FBI 模式让FLL 保持运行,而FBILP 模式则关闭FLL ,从而节省更多的功耗。
FBILP 是通过配置为FBI 并设定ICS 控制寄存器2(ICSC2)中的LP 位来启动的。
采用FBI 而非FBILP 的原因之一,是为了要采用背景调试模式(BDM );之二,当应用要切换到FEI 时可节省FLL 的锁定时间。
FLL 必须处于运行状态才能给BDM 通信提供一个高速时钟源。
如果LP 位在BDM 启动后再置1,FLL 将保持运行状态,不管LP 位是否置1。
同样,如果BDM 在LP 位置1后又启动,FLL 将开启。
FLL 的锁定时间的最大规定值为1ms ,通常需要约500μs 的时间。
关闭FLL 一般可节省大约220~310μA 的电流,具体数值取决于V DD 和FLL 的频率。
1.6 ICS 模式:FBE 和FBELPFLL 旁路、外部参考时钟(FBE )模式和FLL 旁路、外部参考时钟低功耗(FBELP )模式与上述的FBI 和FBILP 模式类似,除了是用OSC 产生时钟源,而不是用IRC 。
FLL 仍被旁路,LP 位则在未启动BDM 时关闭FLL 。
在1.4节中我们看到,当FLL 启用时(FEE ),OSC 的频率会受到限制。
如果不会采用FEE 模式且ICS 被置于FBELP 模式(记住,FLL 在FBE 模式中保持运行),则这些限制都会解除,剩下的只是对OSC 参考时钟本身的限制:低频振荡器从32kHz 到38.4kHz 、高频振荡器从1MHz 到16MHz ,而外部时钟模式从0Hz 到20MHz 。
然而,如果会启用BDM ,则FEE 的振荡器限制在FBILP 模式中 也适用。
飞思卡尔半导体 General Business Information 51 ICS 功能介绍 深入了解HCS08的内部时钟源(ICS)模块6 General Business Information 飞思卡尔半导体同样,对于FBELP ,1.4节中讨论的参考时钟分频器也不起作用。
FEE 模式中的振荡器限制在FBE 模式中也适用。
1.7 ICS 与ICG现在有几款HCS08 MCU 采用了内部时钟发生器(ICG )模块。
为了区分ICS 和ICG ,应弄清几点差异。
尽管ICS 是一种全新的模块,但是就功能而言,它基本上就是ICG 的一个子模块。
ICS 旨在为体积更小、对成本更敏感的HCS08 MCU 提供一种尺寸更小、功耗更低的时钟模块。
首先,对于产生输出频率,ICG 模块中的FLL 具备更多的选择。
ICS 的 FLL 将倍频数固定为512,可输出16MHz 到20MHz 的频率,而ICG 的 FLL 则具有8个软件可选的倍频值,还另有一个预分频器,既可用于高频(>1MHz ),也可用于低频(<100kHz )的参考时钟。
ICG 的FLL 能够输出8MHz 到40MHz 的频率,同时对参考时钟的限制也较少。
ICG 提供了更多的时钟状态位。
ICG 有9个状态位,几乎可监测ICG 运行的所有方面,包括LOCK 状态、当前的ICG 模式、DCO 稳定性和外部参考时钟稳定性(包括各种时钟)。
ICS 只有三个状态位:两个用于监测当前的ICS 模式,另一位用于指示外部振荡器已启动。
ICG 还有一个时钟监控电路,能在FLL 失锁或时钟源失步时产生复位或中断。
失步或失锁不仅能产生复位或中断,ICG 还会切换到内部时钟源,维持CPU 的运行。
ICS 没有监测失步或失锁的功能。
不过,有些HCS08的 MCU 给COP 看门狗定时器提供了一个完全独立的时钟源,能在CPU 和总线时钟出错时使MCU 复位。
有关ICG 的更多细节可参阅任何带ICG 模块的HCS08 MCU ,比如MC9S08GB60的数据手册,或应用笔记AN2494。
1.8 附加应用功能应该提一下的两个附加功能是总线分频器和高增益振荡器。
本文先前已经提到过总线分频器。
总线分频器有4个软件可选的数值用于总线时钟的分频:1、2、4或8,由ICSC2中的BDIV 位选择。
除了关断模式,其他所有的ICS 模式中均可使用。
当不需要较高的总线速度时,它可以降低CPU 和总线时钟,从而降低功耗。
分频器位于FLL 之外,因此其数值的改变不会导致FLL 失锁。
同时,分频器只是简单地从分频器链路的4个输出中选择1个,所以频率的改变只需要很少的几个总线周期。
发生任何复位后,BDIV 设置为二分频。
2 低功耗模式中的ICS 深入了解HCS08的内部时钟源(ICS)模块飞思卡尔半导体 General Business Information 7当驱动晶振或谐振器时,OSC 模块可选择工作在低功耗或高增益模式。
低功耗模式可限制外部器件上的电压振幅,以节省功耗。
高增益模式驱动外部器件达到全电源轨道的幅值,从而使振荡电路不易遭受板级噪声的干扰。
采用高增益选项所导致的功耗上升取决于电源电压和OSC 的频率。
例如,一个运行于低功耗模式的32kHz 晶振通常消耗5μA 的电流,但不会随V DD 发生显著的变化。
当V DD 为3V 时,相同的晶振运行于高增益模式下将消耗约40~50μA 的电流,而且电流会随V DD 发生较大的变化。
2 低功耗模式中的ICS了解低功耗模式如何影响ICS 的运行是很重要的。
2.1 停止1和停止2模式当MCU 进入停止1或停止2模式时,ICS 总是被置于关断模式。
因此,执行STOP 指令时ICS 在所处的模式无关紧要,也不会影响处于停止1和停止2期间的功耗。