这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » LM3S系列冬眠模块及改进电路

共1条 1/1 1 跳转至

LM3S系列冬眠模块及改进电路

专家
2010-12-01 17:28:40     打赏

1.1功能概述

    在Luminary Micro公司推出的Stellaris系列ARM(采用最先进的Cortex-M3内核)里集成有冬眠模块(Hibernation Module)。冬眠模块为管理芯片其它功能模块电源的解除和恢复,提供了一种降低功耗的方法。冬眠模块用一个使能信号(/HIB)来控制芯片的电源。/HIB信号通知外部电源稳压器停止运行,以切断芯片主电源的供电。冬眠模块本身由一个独立的电源(电池或其它辅助电源)来供电。它还有一个单独的时钟源,用来维持实时时钟(RTC)。进入冬眠模式后,在外部管脚(/WAKE)有效或内部RTC达到某个特定匹配值时,为芯片主电源提供电力的外部稳压器可以恢复工作。冬眠模块也可以检测到电池电压何时过低,也可以选择在电池电压过低时阻止进入冬眠。

    当CPU和外设空闲时,可以完全切断电源,只维持冬眠模块的供电。电源可以因为一个外部信号的触发而恢复,也可以利用内置实时时钟(RTC)产生中断在某个时刻被恢复。冬眠模块可以单独由电池或一个辅助电源供电。

    冬眠模块具有以下特性:

  • 到独立外部稳压器的电源切换逻辑(/HIB输出管脚)
  • 用作外部信号唤醒的专门管脚(/WAKE输入管脚)
  • 低电池电压检测、信号和中断产生
  • 32位实时时钟(RTC)
  • 2个32位的RTC匹配寄存器,用作定时唤醒和中断产生
  • 时钟源来自一个32.768kHz的外部振荡器或一个4.194304MHz的晶体
  • RTC预分频器调整,对时钟速率进行良好的调节
  • 64个32位字的非易失性存储器
  • 可编程的RTC匹配、外部唤醒和低电池电压事件的中断

 

1.2      典型应用电路

冬眠模块典型应用电路示意图

    如图1所示,为Stellaris系列ARM冬眠模块的典型应用电路示意图。其中U2是具有冬眠模块的Stellaris芯片简化模型,突出了与冬眠模块相关的管脚VBAT、XOSC0/XOSC1、/HIB、/WAKE。其它关键的管脚还有:VDD、VDDA、LDO、VDD25、OSC0/OSC1。

    CZ1是外部DC +5V电源插座,肖特基二极管D1可以防止电源误插反。

    U1是美国Exar(原Sipex)半导体公司的低压差LDO电源稳压芯片SP6205,主要特点:在输出500mA电流的情况下,压差可以低至300mV。在Vin管脚输入5V电源,在Vout管脚可以得到稳定的3.3V输出。该芯片有个输出使能管脚EN,输入高电平时正常工作,而输入低电平时会切断Vout输出。

    LED1指示U1输出是否存在,如果U1输出被切断(EN被拉低)则LED1立即熄灭。

    U2的主电源VDD由电源稳压器SP6205供给。

    VBAT接额定电压为3.0V的后备电池。VBAT仅对冬眠模块供电。

    XOSC0和XOSC1是冬眠模块专用的晶振管脚,可以直接使用标称为4.194304MHz的晶体,也可以使用32.768kHz的外部有源振荡器(不直接支持32.768kHz晶体)。如果采用4.194304MHz晶振,则在软件上需要使能128预分频器功能,因此最终得到的频率仍为32.768kHz。

    U2在正常工作时/HIB管脚输出高电平,一旦申请进入冬眠模式(在软件上执行一个特定的操作),/HIB管脚就会输出低电平。在图1里,/HIB管脚被连接到了SP6205的EN管脚,因此进入冬眠后会VDD供电会被切断。如果VDD25管脚由外部2.5V电源供电,则也可以利用/HIB管脚来单独切断这个2.5V电源。

    JP1可以方便调试。

    U2的电源VDD被切断后,CPU和其它外设都被断电,仅有冬眠模块在后备电池VBAT的支撑下继续维持运转。此时整颗芯片处于功耗最低的状态,最低可达16µA。

    如果芯片被唤醒,则/HIB管脚恢复为高电平,于是VDD重新上电,CPU和其它外设重新开始工作(从复位开始)。唤醒有两种方法,一是在/WAKE管脚输入一个低电平,二是冬眠模块RTC定时唤醒(具体由软件配置)。

    冬眠模块还包含64个32位字(共256B)的非易失性存储器,用户可以在芯片进入冬眠之前保存一些最重要的系统状态数据。当然,存储容量很有限,如果有大量数据需要保存,则可以考虑利用IAP功能将数据保存到片内Flash存储器里,或者外扩存储器。

 

1.3 Fury家族冬眠模块存在设计缺陷

    【特别提示】在早期的Fury家族里,冬眠模块在设计上存在缺陷。根据冬眠模块的特性,在冬眠期间外部电源要保证始终供给系统(虽然它已被/HIB管脚断开),以时刻准备着有效的唤醒操作(/WAKE管脚唤醒、RTC定时唤醒)。如果在试图唤醒时,外部电源已经不存在,则会引起一个内部故障,该故障会导致RTC计数器被清零、非易失性存储器内的数据丢失。如果不使用冬眠唤醒功能,而仅使用RTC定时器,则外部电源也要始终供给系统,并且不可执行复位操作,否则RTC计数器被清除、非易失性存储器内容也可能丢失。

 

   在2008年4月份,Luminary Micro新发布了DustDevil家族:

  • LQFP-64封装的LM3S1xxx系列(原来的LM3S1xxx系列都是LQFP-100封装)
  • 带USB 2.0 HOST和OTG(On-The-Go)的LM3S3xxx系列
  • 既带USB又集成CAN-bus的LM3S5xxx系列

在这些新型号里,冬眠模块做了全新的设计,用户完全不必担心RTC计数器清零、非易失性存储器丢数据的问题。只要后备电池供电正常,不论外部电源彻底断电再恢复、还是执行复位操作,都不会影响RTC计数器、非易失性存储器的正常工作。甚至在调试其它功能模块之后,再回来调试冬眠模块,RTC时钟依然在继续运转、非易失性存储器内容依然保持。

 

1.4 解决Fury家族冬眠缺陷的方法

    为了能够在旧型号(Fury家族)里正常冬眠模块的RTC功能,我们想到了两种解决方法,一是再安排一路大容量电池保证系统不会断电,二是外扩RTC时钟。

 

  1. 增加大容量电池方案

 

冬眠改进电路:增加大容量电池

 

     如图2所示,为冬眠模块的改进应用电路,方法是添加一个标称为4.2V的大容量电池BT2,同原来的DC +5V电源共同提供给LDO芯片U1。肖特基二极管SS5819的正向导通压降在0.2~0.3V,而SP6205又是300mV低压差的LDO,因此当外部DC +5V断开时,BT2立即可以为U1正常供电。

    前面我们已经分析过,虽说冬眠模块设计存在缺陷可能会造成RTC计数被清零,但只要外电源(相对于U2而言)随时可以在/HIB管脚的控制下恢复,则RTC计数器仍是正常工作的,不会被清零。

    但是,电池BT2的容量毕竟有限,在电池电量耗光之前如果DC +5V不能恢复供电,则冬眠模块的RTC时钟还是会丢失。为了延长电池BT2供电时间,我们引入R4和R5这两个分压电阻,输出信号VX-INT可以连接U2的一个GPIO管脚上。在U2得知当DC +5V撤销后,可以改变运行程序的功耗策略以延长BT2的供电时间(比如立即进入冬眠模式,控制U1切断输出,而靠按键唤或RTC唤醒CPU工作)。

    

    2.外扩RTC时钟

 

    您可能觉得另外安排一路电池供电会增加体积和成本,不划算,那么还有另外一种解决方案会更加实用:外扩RTC时钟。

    NXP公司常见的RTC时钟/日历芯片是PCA8563T(兼容PCF8563T,更廉价)和PCF2129(内置高精度32.768kHz晶振)。

 

 

冬眠改进电路:外扩RTC时钟/万年历芯片

    如图3所示,为冬眠模块的改进应用电路,方法是外扩一片RTC时钟/万年历芯片PCA8563T,这可以彻底解决Stellaris系列Fury家族冬眠模块在设计上的缺陷。需要指出的是,冬眠模块的其它功能,如/WAKE唤醒、/HIB控制进入冬眠、RTC唤醒等功能仍是可以正常使用的。




关键词: 系列     冬眠     模块     改进     电路     芯片     电源     一个         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]