提高系统可靠性的电压管理器选择
电压管理器是一种集成电路,在低电压的情况下它可以用来对处理器进行复位,避免处理器错误操作以确保系统安全掉电。本文介绍了电压管理器概念以及电压管理器的重要性能,并以ispPAC-POWR1208P1为例探讨电源电压的监测电路的应用。
随着亚微米技术的应用,先进的集成电路,例如那些在通信产品中所用到的处理器在增强性能和功能的同时,还降低了功耗。这也导致了器件内核电压的降低,然而器件之间相互连接的标准需要不同种类的I/O电压,使得需要给这些器件提供多种电源电压。在一个典型的处理器数据手册中,除了定义1.2V的内核电压、2.5V和3.3V的I/O电压以外,同时也定义了允许的电压变化范围。例如,1.2V的范围是±3%、2.5V和3.3V的范围是±5%。只要电源电压的波动在其允许的范围之内,处理器就会正常工作。如果器件的内核电压降到一定的门限以下,处理器开始错误理解指令。如果I/O接口的电压降到信号规格以下,在处理器和存储器之间传送的数据就会变得模糊,致使处理器误读指令,由此引起错误的指令。
图1:单电源电压管理器电路。
由于错误的指令,就会导致处理器不可预知的行为。在某些时候,处理器可能重写电路板上的闪存存储器,从而引起整个电路板不能正常工作。在电源电压低于门限的条件下,板上的ASIC/FPGA都可能产生不可预知的行为。例如,对用于网络处理的ASIC,当电源电压低于门限时,它可能发出一些混乱的数据包,或者遗失一些内部缓存的数据包,因此引起错误的信息。电压管理器就是用于防止这种不可预知的行为。
电压管理器的概念
电压管理器是一种集成电路,在低电压的情况下它可以用来对处理器进行复位,避免处理器错误操作。在某些情况下,电压管理器可以中断处理器当前的指令操作流程,给处理器提供早期的告警信息,以确保系统安全掉电。
一个典型的电压管理器(如图1所示)包括一个电压比较器、能隙(band-gap)参考电压源和用于设置监测电压阈值的电压衰减器。比较器的输出可以用于中断处理器的操作或者对其复位。
如图2所示,这是一个用于多电源电压监测的器件结构。这类器件包含多个比较器,这些比较器拥有各自独立的衰减器,以此来完成对不同电源电压的监测。其比较器的输出经逻辑组合提供一个单一的输出信号去中断或者复位处理器。
图2:三种电源电压监测电路。
电压管理器的精确性
如图1所示的电路,这是一个假设的理想框图,其中包括能隙电压参考源(输出电压为1.25V),衰减器(当输入电压为3.135V时,其输出为准确的1.25V)和理想的比较器(所谓理想的比较器,是指该比较器没有任何偏移,无穷大的增益,零传播延迟,当受监测的电压为3.135V时,比较器总是准确地翻转。)
在现实中,能隙参考电压随温度变化而改变,衰减器的输出电压随器件不同而不同,这样会造成比较器的不准确。累计起来,在整个工作温度范围和电压范围内这些变化因素会使比较器的阈值发生变化。管理器的准确性指标就是对不同器件在整个工作温度范围内实际电压阈值门限的度量。
图3为表示电压管理器精度的示意图。以图1所示的单电源电压管理器为例,电源电压出错门限设置在3.3V-5%(3.135V)。如果电源电压管理器的精度为2%,在其范围以外3.135-2%(3.072V)或3.135+2%(3.2V)的任何地方都可以指示出电源错误。如图3中的A和B所示。
图3:精度为2%的管理器故障检测。
如果电源电压在3.2V时,出现电源错误标示,即意味着应该阻止处理器操作,尽管此时处理器在这种情况下或许能正常地的工作。更严重的情况是当电源电压降到3.07V时,处理器在低于指定的最低的门限电压下工作,极有可能出现错误的操作。使采用电源管理器监控电源电压的目的毫无用处。
补偿电压管理器的精确性
由于电压管理器的不准确,可能使处理器工作在不希望的低电压情况下。为了避免这种情况的发生,电压管理器的阈值门限必须仔细选择,使得电源出错监测范围落在处理器正常工作的电源范围以内。如图4所示,如果将电压管理器的阈值电压设置在3.2V,判断电源出错的范围电压从3.14V到3.26V,这样就可以避免处理器工作在低于门限电压(3.3V-5%)。
在图4中,电压管理器的门限设置为3.2V,其计算公式如下:
这里:VTSup为电压管理器的门限值;Vin为电源电压正常输入值;
VCktTol为电路电源电压容忍值;Asup为电压管理器的准确度。在这个例子中,Vin为3.3V,VCktTol为5%,Asup为2%,将这些值代入公式(1)中,
当所选择的电压管理器的阈值门限电压为3.2V或者以上时,在电源供电电压等于或者小于3.3V-5%时,处理器将处于复位状态。
电源电压输出的变化决定电压管理器的准确度
电源的输出电压由于各种不同的原因与典型值之间有差异,这些因素包括:负载电流,工作的环境温度以及器件与器件之间的差异。一种通常的做法是在选择电源时,选择其电压的偏差值范围小于单板电路对电压所能容忍的范围。例如,电源电压的波动范围为3%,而单板电路对电源电压的要求其变化范围是5%。电源电压输出的最小值为3.3V-3%=3.2V,具有2%精度的电压管理器的门限电压范围为3.14V到3.26V。这就是说,无论什么时候只要电源电压输出低于3.26V(例如,动态电流的增加,温度升高等原因),电压管理器就能检查出电源错误信息并对处理器复位,同时导致系统间歇故障。
图4:基于修正门限电压后的错误监测。
在设定的电源电压输出范围值和单板电路容忍电压的范围值,等式2可以用来计算需要的电压管理器的精度。
这里:VSupRng为电源电压输出范围值百分比;VCktTol为板上电路所能容忍的电压范围值百分比;Asup为电压管理器的精度百分比。
请注意,在公式(2)中电压管理器的精度与实际的电源电压无关,而仅仅与电源输出电压偏差范围和单板电路对工作电压容忍范围有关。
如图5所示,曲线图表示所计算出的管理器的精度与电源电压输出范围的关系。这里有两条曲线,对应不同板上电路的电源电压容忍范围,分别是3%和5%。如图5中的箭头所指,把一个电压输出范围在3%的电源用到板上电路,其电压容忍范围为5%时,要求电压管理器的精度为1%。
图5:输出电压范围与电压管理器精度曲线图。
在一个多电压的电路板上,有些器件的电压容忍范围是3%。如果电压管理器的精度是1%,如图5所示,电源电压输出的范围将被限制在1%的范围。由此可清楚地得出,对于可靠的系统操作,电压管理器的精度是一个极为重要的因素。例如,由Lattice提供的ispPAC-POWR1208P1芯片,该器件在室温条件下提供0.5%的电压监测精度。同时,该单芯片可以精确监测多达12种电源。对于可靠的系统操作,不仅仅电压管理器的精度重要,而且错误监测的时延也需要考虑。以下将讨论该内容。
电压管理器的错误监测时延
错误监测时延是指当电源电压降到电压管理器所设置的门限电压值时,电压管理器的指示翻转,指示出错误的时间。图6所示,当3.3V的电源电压在错误期间,同时,电压管理器监测出错误后,使其输出翻转。
图6:单板错误监测示意图。
请注意,为了简化,这里的讨论忽略错误监测的准确度。如图6所示,电压管理器报告错误的时间越长,电源电压下降的幅度越大。例如,当电源电压的衰减率为1V/ms,电压管理器的阈值为3.3V-5%。这里有两种情形:
情形1: 错误监测时延为1ms。在这种情况下,电源电压继续往下掉。当处理器被复位时,电源电压可能已降到低于处理器所能容忍的最低电压门限以下。尽管处理器的电压范围要求是3.3V+/-5%,由于错误监测时延为1ms,使得当电源电压下降到2V时,处理器还在执行命令。很显然,高精度的电压监测没有发挥其作用。
情形2: 错误监测时延为50us。由于错误监测时延为50us,当电压管理器输出指示信息时,供给处理器的电源电压已经从门限电压值3.3V-5%再下降50mV。再次强调,在此刻的电压值不能确保处理器的正常工作。
为可靠的错误监测提高门限阈值
现在,将门限电压调整到比3.3V-5%高50mV,当电源电压下降到门限附近时,处理器将被复位。在这种应用例子中,错误监测时延为1ms是不能接受的。但是,对于错误监测时延为50us,需要将门限电压设置在比处理器所能容忍的最低操作电压高50mV。
很明显,为保证系统操作可靠,电压管理器不仅仅要考虑管理器的精度,同时也要考虑错误监测的时延。由于过高的输入电压会造成器件的损坏,为避免损坏器件,对高电压的监测也是很重要的。在这种情况下,对过电压的错误监测速度要比对次电压的错误监测速度更重要。例如,Lattice的ispPAC-POWR1208可以同时监测12路电源电压,错误监测时延为4us。
以上的例子只是考虑到对单电源使用非常精确的电压管理器。在现实情况中,需要监测的电源电压不仅仅只有一种,经常都是多种电压。电压管理器必须具备同时监测多种电源电压的能力,并且要有最小的错误监测时延。
增加系统可靠性的其它因素
为了可靠的电源电压错误监测,其他的因素也需要考虑。它们是:
尖脉冲滤波器。单板在实际工作中,电源上通常是有噪声的。这些噪声的产生可能来源于电源的纹波,或者来源于当板上器件工作时的瞬变电流。这些噪声都会引起电压管理器的比较器的随机翻转,为了防止这种情况的发生,电压管理器在输入端有一个尖脉冲滤波器,为门限比较器提供干净的输入。
迟滞。在门限比较器的输入端设置少许的迟滞电压,以此防止当电源电压在门限阈值附近时比较器由于电源噪声引起的多次翻转。
多路电压同时错误监测电路
以下的方案是以Lattice的ispPAC-POWR1208P1为例,探讨电源电压的监测电路。如前面提及到的,该芯片提供的监测精度为0.5%,错误监测时延为4us.
Power1208P1有12个高精度的模拟输入比较器。每路输入都可以单独编程,设置不同的门限(共384个阶梯),错误监测的精度为0.5%。另外,1208P1还有独立可编程的电压参考以供电源电压监测,4个抗噪声的数字输入端以及4个漏极开路输出,用于系统控制接口,4个片内可编程计数器,1个1MHz的片内振荡器,用于时延控制和16个宏单元的PLD用于实现电源顺序控制功能。并且,较为严重的噪声环境下,Power1208P1也能正常工作,其工作的电压范围从2.7V到5.5V。
图7:用于ATM卡的电源管理方案。
在12路电源电压监测输入端,每路都具备以下特点:
可独立编程门限电压值的比较器:
1. 电压范围从0.68V到5.95V共有384阶梯设置,一个80mV的电源电压放电门限阈值监测。
2. 0.5%门限阈值精度(因工艺和电源电压,温度变化其最大值为0.9%)
高速的错误监测:
1. 当没有尖脉冲滤波器时,错误监测时延为4us
2. 当设置尖脉冲滤波器时,错误监测时延为32us
迟滞电压:
同一个芯片可以用作去监测不同的电源电压,因为每路输入的门限是可编程的。不需要任何附加的外围器件(电阻,电容或抑制尖脉冲的电感)。另外,在Lattice提供的免费PAC-Designer软件里,可以单独设置每一路模拟输入的门限值。
图7所示的电路在ATM端口卡上实现完整的电源管理功能,3.3V和5.0V电源是由背板提供的。所需的电源管理功能如下:
第一步,等待背板的电源稳定。
第二步,为不同的器件产生各自所需的加电顺序。
第三步,当这些电源电压都稳定后,时延一定的时间,释放对处理器的复位信号。
第四步,对所有电源电压进行监测,一旦任何一路电源出现故障,对处理器复位。如果电源故障一直持续,启动单板电源掉电操作。
第五步,根据设计要求完成规定的掉电顺序控制。
在图7中,1208P1芯片同时对7种电源进行监测。根据操作的步骤,处理电源电压错误监测的方法是不同的。片内的CPLD用于控制电源电压管理功能。例如:
在第一步,1208P1检测从背板来的3.3V和5.00V电压。其目的是在打开单板上其他电源电压时确保该两组电压已经稳定,不会产生对处理器的复位信号,其原因是该两组电源电压还在所设定的门限电压值以下。
在第二步,1208P1对每一路电压进行检测,确保正确的上电顺序。如果这个启动的处理过程在规定的时间内没有完成,1208P1将所有电源关掉。
在第三步,精确的错误监测过程开始,在所有电压稳定后,延伸复位脉冲以确保CPU正确启动。精确的监测继续到第四步。
第四步过程表示板上电路工作正常,继续对所有电源电压进行精确的监测。无论是单板上的任何电源出错,或者单板突然从插槽中取出,CPU将被复位。减少CPU由于在低电压的情况下误操作的可能性。
本文小结
为了完成可靠的电源电压错误监测,所需的电压管理器的精度应考虑到电源电压输出的电压偏差范围和器件正常工作的电压容忍范围。除了电压管理器的精度以外,工程师还需要考虑到电压管理器的错误监测时延。
由于1208P1提供12路高精度的模拟输入,并且每一路的门限阈值设置可编程,使设计更灵活和简单。带有迟滞特性和尖脉冲滤波特性的输入使系统更具有抗干扰性,同时错误监测的响应速度极快,ispPAC-POWR1208P1芯片适合于对所有多电源供电的电路板进行电源管理。1208P1的高精度和快速错误监测能力,可最大化地增加电源电压容忍范围,能用低成本的电源而同时保持高的系统可靠性。由于每一路被监测的输入错误门限是可编程的,因此一个器件可以用于同时监测各种的电源电压。另外,片内CPLD的逻辑功能可以完成单板所有的电源管理。基于图形化的设计软件使电源管理器功能的完成变得非常方便和易用。