0 引言
TI公司的混合信号处理器MSP430系列单片机以其处理能力强大、外围器件集成度高、功率消耗低、产品系列全面、全系列工业级等特点,作为目前MCU主流市场的产品之一,在电子应用领域中得到广泛应用,被越来越多的电子设计师所青睐。由于复位电路设计问题而导致的系统出现上电后不工作或状态不正确是很多MSP430单片机电路设计者们在设计、调试和应用中曾遇到过的问题,尽管这种情况发生的几率很低,但对于可靠性要求较高的应用场合,这个现象仍需引起电子设计人员的足够重视。
为此,本文对MSP430全系列单片机的复位系统和复位机制进行了详细深入的分析,并针对性地提出了具体的外围复位电路设计方案和有关电子元器件的详细介绍,以供同行参考和交流。
1 MSP430复位机制
1.1 MSP430复位电路
MSP430的复位电路包括一个上电复位(POR)和上电清除信号(PUC)。POR是设备复位信号,它通常在以下三种事件发生时被触发:a.上电;b.复位模式下RST/NMI脚出现低电平;c.电压监控设备(Brownout)触发。
POR时序见图1(a)所示。
当供电电压VCC缓慢上升时,POR监测器保持POR信号有效直到VCC超出VPOR水平;当供电电压VCC快速上升时,POR延时t(POR DELAY)提供了足够长的有效POR信号以确保MSP430有足够的时间进行初始化。
1.2 Brownout电路
Brownout电路是电压不足重置功能电路。它取代了POR检测和POR延时电路。Brownout电路能够检测到上电或掉电过程中的较低的供电电压值,并能在供电或掉电过程中通过触发POR信号重置芯片。图l(b)为Brownout电路的复位时序。从图中看出,当VCC超过启动电压VCC(star-t)时POR信号有效,POR信号保持有效直到VCC电压值高于极限电压V(B_IT+)并经过一段时间的延时t(BOR);滞后电压Vhys(B_IT-)用于确保供电电压必须低于V(B_IT-)时Brownout电路才会产生下一个POR信号。
1.3 复位失效过程分析
对于没有Brownout复位电路的情况,如果MSP430的供电电源是周期性的,当电源再次上电时,供电电压VCC在上一个周期的下降期或在受到干扰时必须低于Vmin(见图1)才能确保POR信号的发生,如果VCC不能低于Vmin,将不会产生POR信号,此时,即使在RST/NMI出现了低电平信号也不会产生一个有效的POR信号,系统无法正常复位。
Brownout复位电路存在于部分MSP430系列芯片中,如MSP430F13X和MSP430F14X系列就没有Brownout电路。对于没有Brownout电路的芯片应用系统,在工作时,由于受到干扰、电网波动、误操作等原因,短暂的电压下降造成供电恢复时由于电压没有满足POR的发生条件(低于Vmin),复位端的低电平复位信号无法再次启动系统重新复位工作,此时出现系统死机,这种现象的出现尽管并不频繁,但对于不能随时进行手动复位的远端自动控制系统而言,却是致命的。
在进行电路设计前仔细查看产品技术手册,并针对各系列芯片的不同应用条件设计不同的复位电路。
2 复位电路设计方法
2.1 提高复位门限
提高MSP430的复位门限Vpor',令Vpor'位于MSP430正常工作电压范围内,且接近于MCU正常工作时的最低门限Vcc min,此时可以保证在供电电压位于Vcc min附近且MCU仍能正常工作时,在门限处向MSP430发出复位信号。此时Vpor的值应位于供电电源的低限(Vp min)和MSP430正常工作电压的低限(Vcc min)之间。如图3作图所示。
MSP430F149是目前用量最广的MSP430芯片之一,其工作电压范围在Vcc min=1.8V,Vcc max=3.6V之间,当选择低压差线性稳压器件TP-S76033时,其供电电压Vp max=3.34V,Vp min=3.23V,此时应选择复位门限范围在3.23V和1.8V之间。为提高系统可靠工作的条件,Vpor尽可能选择低一些。选择复位芯片MAX809S(如图4右图),其复位门限为2.89V(Vpor min)<vpor<-2.96v(vpor_max),典型值为2.93v,当供电电压低于2.93时,此电压值已超出(低于)tps76033的供电范围,但msp430f149仍处在工作状态,此时max809s发出复位信号,msp430f149执行por复位过程,避免死机。
此方法适用于供电系统的容差很小、供电电压精度很高的情况下。
2.2 延长外复位信号时间
由于MSP430内部POR只有在上电时提供复位,对于遇到短暂波动至供电压值降至Vpor以下但仍高于Vcc-min又迅速恢复的情况(如图l(a)所示的第二次电压下降),上述方法不能触发有效复位,此时,可以采取延长复位信号持续时间或增加复位周期的方法。让复位信号在压值恢复后维持足够长的周期,仍可促使芯片正常复位。MAX809S最高可维持140ms的有效复位信号,远远大于MSP430F149的有效复位信号要求时间(25μs)与POR信号维持时间(250μs)之和,在系统遇到周期120ms以内的电压波动时可保证系统正确复位。
利用带有看门狗定时器的复位芯片MAX803,还可以控制发送长达1s的复位信号发送间隔,适用于周期更长的电压波动情况使用。
2.3 监控电源
对于供电系统的容差范围较大(如图3(a)中Vp的范围大于或接近于VCC的范围时),压值精度较低的情况,或者是遇到电网长期工作在欠压状态下时,单纯地降低复位电压阀值会造成系统在正常工作条件下频繁复位。此时可以监控电源电压,当监测到出现上述电压波动时,监控芯片向MSP430发送电压异常信号,MSP430响应该信号并中断正在运行的程序进入掉电保护子程序、设置复位状态寄存器,避免下次上电时由于寄存器状态错误而无法启动POR复位。
MAX6342是具有内部电源失效比较器的复位芯片,比较器将不稳定的电压送入调节器,并产生为处理器和监控电路供电的电源,因为不稳定的电压会在调节器输出电压之前跌落,检测到不稳定或较低的电压后产生电源失效信号(PFO),MSP430在被复位之前进入掉电处理程序。
3 总结
对于内部复位机制不同(Brownout电路)的子系列MSP430单片机,面对不同的系统工作环境,通过提高复位门限、延长复位时间和监控电压源等方法设计复位电路,可以有效避免在实际应用中遇到的偶发复位失效的问题,提高系统的可靠性。经实践表明,上述方法能有效降低系统偶发复位失效现象的发生。