在微控制器的低功耗应用中,对时钟的设置是很重要的一个方面。不同类型的微控制器在低功耗模式下对时钟的配置也各有不同。飞思卡尔公司推出的增强型 8位微控制器HCS08系列具有很强的低功耗性能。其中,HCS08系列里的MC9S08QG8在同类产品的基础上对低功耗应用下的时钟又有了进一步的改 进。
1 MC9S08QG8及其内部时钟模块介绍
微控制器MC9S08QG8 是飞思卡尔公司新推出的一款8位增强型微控制器。它是小封装、低功耗的产品,但这并不意味着它是“低端”的产品;相反,它是一个 高度集成的、功能丰富的、适用于各种应用的低价位单片机。MC9S08QG8采用高性能、低功耗的HCS08内核,具有很高的集成度,还包括更长的电池寿 命(即使工作电压低至1.8V,也能发挥最大效能)、业界领先的Flash技术以及创新的开发支持。MC9S08QG8集成了背景调试系统(BDM)以及 可进行实时总线捕捉的内置在线仿真(ICE)功能,具有单线的调试及仿真接口。
MC9S08QG8微控制器的运行模式有很多种,包括正常运行模式、等待模式、背景调试模式以及停止模式。其中,与低功耗应用关系密切的停止模式又分为3个阶段:
停止模式l——内部电路全部断电,以最大限度地节省电源;
停止模式2——可选择部分断电,RAM内容保持;
停止模式3——内部电路都可快速恢复运行,RAM、Flash内容保持。
MC9S08QG8内部时钟模块由4个子模块组成:锁频环、内部参考时钟、外部振荡器、时钟选择逻辑模块,如图l所示。
锁频环的输出频率为参考时钟频率的512倍,包括3个主要部分:参考频率选择、数字控制振荡器和用于比较这两个部分输出的滤波器。
锁频环是通过比较数字控制振荡器时钟与参考时钟的频率来工作的。锁频环对一个参考时钟周期内的数字控制振荡器时钟脉冲边沿数进行计数,因此,对于512倍 的倍频器,锁频环应该在参考时钟的每两个上升沿之间得到512个数字控制振荡器输出的上升沿。锁频环的实现大多借助数字逻辑电路,不需要外部滤波器件。
内部参考时钟是一个可调整的内部参考时钟信号,既可用作锁频环的参考时钟,也可直接用作CPU和总线时钟的时钟源。这个内部参考时钟不需要诸如调整电容或 电阻等外部元件。内部参考时钟由寄存器中的一个9位数值进行调整,解析度典型值能达到未调整内部参考时钟频率的O.1%。与许多其他的内部参考时钟不同, 这个内部参考时钟可将频率在一定范围内进行调整,从31.25 kHz变到39.06 kHz。当用作锁频环的参考时钟时,允许用户用O.1%的解析度,把总线频率设定为8 MHz~10 MHz的任意值。
实际上,外部振荡器参考时钟把三个外部时钟源合并在一个里面。它有一个采用32 kHz~38.4 kHz晶振或谐振器的低频振荡器,还有一个采用1 MHz~16 MHz晶振或谐振器的高频振荡器。这两个振荡器需要两个引脚(即XTAL和EXTAL)来生成时钟信号。外部振荡器还有一种外部时钟模式。该模式简单地把 一个外部时钟信号引入MCU。在此模式中,只需要EXTAL脚,而XTAL脚可用作通用I/O。输入频率可以是OHz~20MHz之间的任意值。由于引脚 的限制,有些MCU可能没有外部振荡器。
时钟选择逻辑只是简单地选择锁频环、外部参考时钟或内部参考时钟作为内部时钟源模块的输出。此外,还采用了一个时钟分频器电路,可以对输出进行1倍、2倍、4倍或8倍分频,用以降低输出时钟的频率。
2 内部时钟源的工作模式
2.1 关断模式
当进入微控制器的任何一种低功耗 停止模式时,内部时钟源模块将被关断。在关断模式中,锁频环是关闭的,以节省功耗;然而,在停止3模式中,可以选择将外部参考时钟、内部参考时钟或二者都 保持在运行状态。这项功能使某些模块可以在停止3模式中继续运行。比如,实时中断模块等,它能继续用外部参考时钟作为其参考时钟。如果在应用中没有需要继 续使用的模块,参考时钟应关闭,以得到最低的运行功耗。
2.2 FEI模式
FEI(FLL启用、选用内部参考时钟)模式是芯片复位后的缺省模式,锁频环处于运行状态可驱动CPU和总线时钟,采用内部时钟源作为其参考时钟。FEI模式下的总线频率可按下式计算:
MC9S08QG8的内部参考时钟频率可以在3l.25kHz~39.06 kHz的范围内进行调整,因此经过512倍频后,可以输出16 MHz~20MHz。与其他同类产品不同的是,在复位发生后,上述时钟分频器会给输出时钟一个强制的2分频。这是为了在内部时钟模块未经调整且运行频率高 于31.25kHz的时候,对系统提供保护。如果运行频率高于8 MHz,就超出了MC9S08QG8低电压(小于2.1V)的最大频率规定值。
每一次上电复位后,内部参考时钟都应当进行调整,以得到精确的频率。
2.3 FEE模式
FEE(FLL启用、选用外部参考时钟)模式下,锁频环处于运行状态,可驱动CPU和总线时钟,采用外部时钟源作为其参考时钟。为了让系统正常运行,锁频 环的输出要求在16 MHz~20MHz之间。这样外部参考时钟会受到限制。内部时钟源模块有一个参考时钟分频器,可用于降低外部参考时钟的频率,表l列出了根据分频设置所能 容许的外部频率。
FEI模式下的总线频率可按下式计算:
2.4 FBI和FBILP模式
FBI(锁频环旁路、内部参考时钟)和FBILP(锁频环旁路、内部参考时钟低功耗)模式均旁路锁频环,而直接采用内部时钟源生成时钟信号。不同之处在 于,FBI模式让锁频环保持运行,而FBILP模式则关闭锁频环,从而降低更多的功耗。FBILP是通过配置为FBI并设定ICS控制寄存器2 (ICSC2)中的LP位来启动的。
采用FBI而非FBILP的原因之一,是为了采用背景调试模式(BDM);其二,当需要切换到FEI时可节省锁频环的锁定时间。锁频环必须处于运行状态才 能给背景调试模式通信提供一个高速时钟源。锁定时间的最大规定值为lms,通常需要约500μs。关闭锁频环可节省大约220~310μA的 电流。
2.5 FBE和FBELP模式
FBE(FLL旁路、外部参考时钟)和FBELP(FLL旁路、外部参考时钟低功耗)模式与2.4小节中的FBI和FBILP模式类似。除了是用外部时钟 产生时钟源,而不是用内部时钟源外,FLL仍被旁路,LP位则在未启动BDM时关闭锁频环。
3 低功耗模式中的内部时钟源
3.1 停止1和停止2模式
当MCU进入停止1或停止2模式时,内部时钟源总是被置于关断模式。因此,执行STOP指令时。内部时钟模块所处的模式无关紧要,也不会影响处于停止l和停止2期间的功耗。
由于停止1和停止2模式均导致MCU在停止恢复时执行上电复位,因此,复位后的模式总是FEI,总线分频被设置为2分频,产生大约4MHz的总线时钟。内 部时钟调整位ICSTRM将被重置为0x80,微调寄存器的FTRIM位会被清零,所以如果要采用内部参考时钟,则须对它进行重新校准;如果调整值已保存 在Flash存储器中,则须把保存值重新载入寄存器。
3.2 停止3模式
当进入停止3模式后,内部时钟源的大部分(包括锁频环)将关闭。内部时钟源在执行STOP指令时所处的模式不会影响停止3的功耗。但是,ICS的两个控制 位,IREFSTEN和EREFSTEN会影响停止3的电流。若置1,则IREFSTEN可使IRC在停止3模式中保持启用状态;
同样,若置1,则EREFSTEN可使OSC在停止3模式中保持启用状态。将IREFSTEN置位,将产生约100μA的停止3电流;将EREFSTEN置位,将对停止3电流产生不同的影响,取决于OSC的频率和设置。
如果因复位而退出停止3,ICS会像停止1或停止2的恢复那样回复至FEI模式。不同之处是调整值不会重置,除非发生了上电复位。
4 内部时钟校准
系统经过上电复位后,ICSTRM将被重置为0x80,FTRIM 位会被清零。如果要采用内部参考时钟,则需要对其进行重新校准。增大ICSTRM的值,将降低参考时钟频率;相反,减小ICSTRM的值,将提高参考时钟 频率。FTRIM置0或1会更精细地对频率进行调整。根据这个原理,内部时钟校准的程序流程框图如图2所示。
关于具体的程序町根据参考文献编制。待ICGTRM和FTRIM选定后,可存入微控制器的Flash中,下次上电复位后直接读取数值载入即可。
结语
恰当地运用时钟设置,对于降低微控制器的功耗有很大帮助。在微控制器各种不同的运行模式下,时钟都有不同的配置方法与之配合。同样的方案也适用于功能类似的微控制器。巧妙地运用各种时钟模式,可以使系统的功耗最低。
文章评论(0条评论)
登录后参与讨论