控制带有启动引脚(比如大多数"砖块" DC/DC转换器和低压降电压调节器上的启动引脚)的电源仅仅是使用GPIO(通用I/O)引脚而已。如果电源没有使能功能,那么通常为MOSFET的在线开关可利用GPIO或者PWM信号控制电源。图 1所示电路采用TPS725xx系列低压降稳压器,由一个输入直流电源提供3.3V、2.5V和1.8V三种电压。这些稳压器带有启动引脚和复位功能。你可以轻易地将这一电路扩展到具有任意数目的电压干线。MSP430监视某个控制变量,以确定何时启动每根干线。对于电源排序应用来说,两个最常控制的变量就是时间和电压。当时间为控制变量时,控制器启动第一条干线;在此后的特定时刻,它将启动下一条干线;在此后的某一时刻再启动下一条干线,依次类推,直至所有干线均被启动为止。
MSP430提供定时序列信号和定时控制信号以接通电源。如果电压是控制变量,那么控制器便启动第一条电压干线并通过ADC监视其电压的上升情况。当第一条电压干线达到特定的电压电平时,控制器启动下一条电压干线并监视其电压上升直至达到规定的电压电平。此时,控制器再启动下一条电压干线并监视其电压上升。这一过程持续到控制器启动了所有电压干线为止。当将电压用作控制变量时,控制器不是使用GPIO信号就是使用PWM信号作为启动信号,视设计是否需要干线跟踪而定。你还可以将电压控制与定时控制兼而用之。
在图 1中,每个低压降稳压器都连接两条MSP430线路--一条线路用于启动,另一条线路用于监视。当时间为控制变量时,可通过端口 1 (GPIO)进行监视;当电压为控制变量时, 可通过端口 6 (ADC) 进行监视。MSP430还具有系统复位端,并具有节电输入端。代码非常简单,不需要多少编程经验。当时间为控制变量时,首先要做的事情就是使MSP430初始化并设置端口和定时器,这一操作需要5行代码(表 1,该表可从www.edn.com网站获得)。下一个操作是利用第一个定时间隔装入"捕获和比较寄存器零"(CCR0)并启动定时器。当CCR0的值等于定时器的值时,第一条电压干线被启动。随后利用下一个定时间隔装入CCR0,定时器复位并重新启动。当CCR0等于定时器的值时,第二个电压干线被启动。这一操作反复进行,直到所有电压干线被启动为止。
一旦所有干线均被启动,延迟回路便开始启用,以确保低压降稳压器上的复位引脚有时间达到规定电压。TPS725xx系列具有漏极开路的100 毫秒复位功能。当延迟结束时,MSP430便检查每一个稳压器的复位线路,以确保所有干线均已达到规定电压。如果所有干线均已达到规定电压,则MSP430 便发出系统复位命令。当电压为控制变量时,MSP430 (表 2)初始化只需5行代码。下一个操作是根据3V ADC基准电压将代表3.3V、2.5V和1.8V的值装入寄存器R9、R10和R11中。第一条干线被启动之后,其输出电压就受到监视,直至其处在规定范围内,此时下一条干线被启动,并受到监视。这一操作反复进行,直到所有三条干线被启动为止。所有干线被启动之后,用于稳压器复位的延迟回路启动,系统复位。
MSP430接通所有电压干线并执行系统复位之后,便进入监视方式。它通过复位或者输出引脚(取决于时间为控制变量还是电压为控制变量)连续地检查低压降稳压器的输出电压。如果发生故障,MSP430就进入错误例行程序。最常见的故障是电压干线的丧失,不过其他故障如过压和欠压也应当监视。错误例行程序所采取的动作取决于应用。最简单的动作是使所有干线处于节电状态,但编程功能能使你进行全面的控制。一个决定性的功能就是使所有电压干线处于节电状态。一个外部信号(可能来自主处理器)可通知MSP430使处理器电源处于节电状态。在本例中,节电排序正好与加电排序相反,但你可以定义任何序列。给节电序列增加的一种动作可能是接通假负载,以便对输出滤波电容器进行放电。该设计之所以采用TPS725xx低压降稳压器,是因为它们可通过任何输出电容器提供快速瞬时响应和稳定性。然而,某些应用可能需要很大的输出电容器来维持稳定性和瞬时响应。在这种情况下,如能使这些滤波电容器进行放电则可以增加MTBF。