模拟工程师以前在设计需要具有多路输出、动态负载共享、热插拔或广泛故障处理能力的电源时,往往需要与复杂性抗争。利用模拟电路来实现系统控制功能并非总是经济有效或灵活的。采用模拟技术设计电源需要使用“过大的”元件来解决元件变化和元件漂移的问题。即使是在克服了这些设计难点之后,这些电源在生产线末端还需要进行人工调整。
那么,模拟工程师应该选择什么来设计电源呢?工程学对这个问题的回答是利用功率转换反馈环路的智能数字控制来实现上述功能。单片机已使模拟设计人员能够实现监控、控制、通信甚至确定性功能(如电源中的上电时序、软启动和拓扑结构控制等)。不过,由于缺乏经济有效的高性能技术,以数字方式控制整个功率转换环路还不太现实。
现在,一种新型数字信号控制器(DSC)的问世使具有智能电源外设等功能的数字转换成为可能,因为这种器件采用基于计数器的脉冲宽度调制(PWM)模块、基于模拟比较器的反馈和协调模数转换器(ADC)采样,可以在一个单时钟周期内进行快速乘法。这些特性的组合有助于DSC处理控制环路软件所需的较高执行速度。
在开始进行电源设计之前,需要做出以下决择。
1. 选择一种适合应用需要的拓扑结构:升压型还是降压型(Boost还是Buck),隔离式(正向、半桥还是全桥)。
2. 选择一种开关技术: 硬开关还是软开关。软开关技术(如谐振模式或准谐振模式),以增加电路和控制的复杂程度为代价,换取较少的开关损耗。
3. 选择一种控制方法:电压模式还是电流模式。
电压模式控制和电流模式控制是基于传统模拟开关电源(SMPS)控制技术的两种控制方法。在电压模式条件下,利用期望的输出电压和实际的输出电压之间的差值(误差)来控制电源电压施加在电感器上的时间,进而间接地控制电感器中的电流。在电流模式控制条件下,利用期望的输出电压和实际的输出电压之间的差值(误差)为模拟比较器创建一个门限值来设置峰值电感电流,从而控制平均电感电流。电压模式可以在噪声环境中或宽工作范围条件下提供更高的稳定性;电流模式控制可以实现逐周期的电流限制和更快的瞬态响应,它还可防止可能导致电感器饱和并引起灾难性MOSFET故障的“逐步增加的电感电流”。
4. 选择PWM工作频率。高频PWM有助于使用更小的电感器和电容器,但是需要额外付出开关损耗为代价。
5. 确定需要的控制带宽。这在很大程度上取决于应用所期待的负载瞬态响应。
6.根据估计的控制带宽需求来分配处理器资源。虽然有多种控制算法,但是常用的技术仍是比例、积分和微分(PID)方法。使用常用PID算法,控制环路将需要以所需控制系统带宽的八倍速度运行,以保证足够的相位容限。在估计控制环路的延迟时,控制环路内的所有延迟都必须考虑到(参见“计算控制环路的延迟”部分)。
接着,选择一个可以满足您所有或大多数设计需求的DSC。
选择采用Microchip的SMPS dsPIC DSC——dsPIC30F2020来设计一个同步降压式转换器。这种DSC有一个硬开关,可提供互补PWM模式的电压控制模式。这种降压式转换器(见图1)采用同步开关,用一个MOSFET取代了电路中的整流器,因为它比标准整流器有低得多的正向电压降。通过降低电压降,这种降压式转换器的整个效率可以提高5%~10%。同步开关与Q2需要一个次级PWM信号来补充初级PWM信号。当Q1关断时,Q2接通,反之亦然。此外,在PWM信号的上升沿和下降沿期间,需要利用“死区”控制来防止Q1和Q2同时导通。
图1 同步降压式转换器
降压式转换器的输入与输出电压的关系可以表示为:
VOUT = VIN ( D,其中 D = PWM占空比 = TON /(TON + TOFF)
一个降压式转换器理想的输出电压是输入电压与晶体管占空比的乘积。通过检测(见图1),如果晶体管Q1是常通的,输出电压将等于输入电压。如果Q1是常断的,那么输出电压将为零。实际上,当负载电流增加时,晶体管和电感器两端存在的电压降将会增加。图2给出了如何使用DSC设计数字SMPS控制系统。
图2 用于同步降压式转换器的典型SMPS控制系统
采样保持(S/H)电路通常每2~10ms进行一次采样,ADC需要大约500ns将模拟反馈信号转换成为数字值。PID控制器是一种运行于DSC的程序,有大约1~2ms的计算延迟。该控制器输出可以转换为一个PWM信号,由它来驱动开关电路。当进入新的占空比时,如果PWM发生器不能立即更新其输出,就可能出现明显的延迟。晶体管驱动器和相关的晶体管也会引入大约50ns到1微秒的延迟,其长短因使用的器件和电路设计而异。
计算控制环路的延迟
总控制环路延迟是ADC采样与转换时间(500ns)、PID计算时间(1μs)、PWM输出延迟(0)、晶体管切换时间(50ns)和PID执行速度时期(2μs)之和。这个例子中的总环路延迟是3.65μs,这意味着最大有效控制环路的采样率为274 kHz。虽然尼奎斯特定理需要2倍的采样率来重建一个信号,数字控制环路仍必须以6倍至10倍采样率进行采样。这样做的原因是只使用2倍的采样率,相位滞后将180度。利用2倍采样率,我们已经用完了180度的相位滞后“预算”,而没有考虑系统中任何其他的延迟。一个采用8倍采样率的系统单在采样过程引入45度的相位滞后,这是一个好得多的采样率。为了有足够的相位容限,许多数字控制系统对模拟信号进行了10倍或更高的过采样。假定最高有效采样率为274 kHz,有效控制带宽是其八分之一,也就是大约34 kHz。
SMPS设计中PWM的重要性
不同的电源规范推动着对不同电源拓扑结构的需求,这些不同的拓扑结构需要不同的PWM模式,其中每一种都支持多种SMPS设计,包括标准、互补、推挽、多相位、可变相位、电流复位和电流限制PWM模式。最基本的PWM模式是标准的边沿对齐式PWM,其中的导通与关断时间之比控制着电源电流。每对输出中只有一个PWM输出被用于这些异步降压式、升压式和反激式转换器电路。同步降压式转换器采用互补PWM模式,其中的互补输出控制一个由MOSFET实现的 “同步开关”整流器,而不是通常的整流器。互补PWM模式还可以用于采用同步整流来改善系统效率的其他电路。
推挽式转换器通常用于DC/DC转换器和AC/DC电源。“多相PWM”术语描述的是多PWM输出而不是边沿对齐的。多相转换器电路经常用于必须提供大电流、负载变化可能非常迅速的应用的DC/DC转换器。由于PC电源的广泛使用,相位变换PWM模式正变得越来越常见。Microchip的dsPIC DSC SMPS系列可以支持当前广泛用于电源行业的所有已知的PWM模式。
理解PWM分辨率
电源设计人员和客户必须正确地理解“PWM分辨率”这个术语。PWM分辨率并不表示某个计数器有多宽,而是表示在PWM循环时期内可以发生多少次计数(尽可能最小的PWM时间片)。在电源行业,PWM分辨率表示的是PWM占空比内的最小时间增量。这个分辨率经常以ns表示。如果一个PWM模块没有足够的分辨率,控制系统(硬件或软件)就会使PWM输出发生抖动,以实现期望的平均值输出。在电源应用中,PWM抖动可以引起纹波电流的问题,并使控制进入所谓“极限循环期(Limit Cycling)”的不良运行模式。
例如,假设控制环路的输出需要3.25的值,而PWM可以输出的值是3和4。在这种情况下,PWM在33343334值之间抖动。这可以容易地看到——许多DSC都采用运行于40至150 MHz范围之间的PWM计数器,可以产生6至25ns的PWM分辨率。SMPS dsPIC DSC系列具有1ns的占空比分辨率。在一个控制环路中,在PWM输出一个新的占空比值之前,来自电压和电流测量的采集时间被称为“延迟”。当延迟下降时,控制环路变得更稳定和更具有响应能力。一些DSC配备了PWM模块,只在PWM周期到周期的基础上接收新的占空比数据。在PWM模块接收数据之前,软件计算新的占空比值的时间滞后会增加控制环路延迟,并使其稳定性下降。因此,最好采用有PWM模块的DSC,以便及时接收和处理新的占空比数据。
SMPS ADC的需求
您可以将您的模拟知识运用于采用DSC的智能电源设计。片上ADC可以为控制环路提供系统状态(反馈)。传统的ADC是基于ADC值以“组”的方式进行采集和处理的假设而设计的。音频处理和工业控制系统的ADC通常都是以这种方式发挥作用。组采样可使处理器工作量达到组中的峰值,这将增加控制环路的延迟。
在SMPS电路中,通常不存在要被采样和转换的模拟信号,或者这样的信号不会在任何时候都那么明显。这样的信号可能在PWM周期的某一刻才比较明显。因此,由于不精确的采样定时,标准的ADC模块可能错过希望得到的数据。
图3给出了一个用于监测电流的电流检测电阻器的实例电路。在这个电路中,只有当晶体管导通时,才能检测到电流。典型的ADC模块不能精确地使采样保持电路在适当的时间进行一次采样。如果应用需要多个电路进行检测,那么这个ADC就不理想。SMPS dsPIC DSC的片上ADC模块可提供独立的采样保持电路,可以进行彼此独立的采样。因此,它可以在准确的时刻监控电压或电流,有助于实现事件瞬时(event transitory)信号的采样,并降低系统成本。此外,SMPS dsPIC器件的片上ADC可以进行异步采样,有助于支持PFC(70 kHz)和DC/DC(250 kHz)等不同频率的多控制环路运行。
图3 带有具体采样保持(S/H)功能的ADC的重要意义
模拟比较器改进数字SMPS设计
因为ADC不能继续不断地监控信号,所以只能以高达每秒兆次采样(MSPS)的量级进行采样。一些DSC具有模拟比较器,可以解放处理器和ADC以完成其他重要的任务。例如,模拟比较器可以利用与传统线性电源控制器直接控制PWM占空比类似的方式进行电流控制。模拟比较器还能够提供对过压或过流状况的独立监测。Microchip的SMPS dsPIC DSC的参考DAC和模拟比较器可以实现从电流测量到PWM更新的大约25ns的延迟。通常,从检测到模拟电压,直到由比较器对PWM输出进行修改,大约需要25ns的时间。与其他必须使用“轮询”技术的ADC以及利用处理器修改PWM输出来响应变化条件的其他DSC相比,这个响应时间是非常迅速的。事实上,这正是DSC实现逐周期电流限制的方法,属于电流模式控制。由于连接模拟比较器的参考DAC也是16位的,PWM分辨率也是相同的,因此同样的控制分辨率对电压和电流模式都是有效的。
PID算法
使用PID算法,将实际与期望输出电压之间的误差进行比例、积分和微分计算,然后将这三项合起来,实现对PWM占空比的控制。PID算法可以用于采用电压和电流模式的控制环路。处理Microchip的DSC不需要DSP技巧(见图5的代码列表),控制软件(图4)的主要“核心”是PID环路。PID软件通常很小,但是其执行速度非常快,通常每秒可以反复几十万次。这么高的反复率需要PID软件程序尽可能有效地发挥最佳性能。使用汇编程序是保证“严紧代码”的一种很好的方法。
PID控制环路是定期由ADC进行中断驱动,任何系统功能都能在“空闲环路”中执行,以便减少PID控制软件内不必要的工作量。诸如电压上升/下降、错误检测、前馈计算和通信支持程序功能都是空闲环路可以执行的,其他中断驱动进程的优先级都必须比PID环路低。
空闲环路在完成系统和外设的初始化任务之后启动。通常,空闲环路监控温度,计算“前馈”条件,并检查故障状况。SMPS软件可执行该控制算法,将ADC中断驱动的PID环路作为其与时间关系最密切的部分。PID软件不应该使用超过可用处理器大约66%的带宽,以便计算资源的其余部分能够分配给空闲环路软件。
假设以30 MIPS运行PID环路(包括30条指令),执行时间大约为1μs。如果反复率是500 kHz(2μs),那么PID工作量需要消耗一半可用的处理器带宽,也就是15 MIPS。
用于数字式降压式转换器的PID软件的实例代码列表:
CALCULATE_PID:
push.s ; Save SR and W0-W3
bclr.b IFS0+1, #3 ; Clr IRQ flag in interrupt controller
#PID_REG_BASE, w8 ; Init pointer to PID register block
mov #PID_GAIN_REG_BASE, w10 ; Init pointer to PID gain register block
mov ADBUF1, w0 ; Read ADC to get voltage measurement
mov COMMANDED_VOLTAGE, w1 ; Get commanded output voltage
sub w1, w0, w0 ; W0 = proportional voltage error
mov PROPORTIONAL_ERROR, w1 ; Get previous voltage error
sub w0, w1, w2 ; diff error = new verr - old verr
mov w0, PROPORTIONAL_ERROR ; Store New Proportional Voltage Error
mov w0, PREINTEGRAL_TERM ; Store copy PERR as pre integral term
mov w2, DERIVATIVE_ERROR ; Store new Derivative Error
; These registers are reserved for PID calculations
; w6, w7 = contains data for MAC operations
; w8, w10 = pointers to error terms, and gain coefficients
SUM_PID_TERMS:
clr A, [w8]+=2, w6, [w10]+=2, w7 ; clr A, prefetch w6, w7
mac w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC proportional term and gain
mac w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC derivative term and gain
mac w6*w7, B, [w8]+=2, w6, [w10]+=2, w7 ; Update Integrator
add ACCA ; Add ACCB (Integrator) to ACCA
sftac A, -#8 ; scale accumulator (shift)
mov ACCAH,w0 ; Read MSW of acca (result)
btst ACCAU,#7 ; Check sign bit of ACCA
bra z, OUTPUT_PWM ; Branch if acca PWM value is positive
clr w0 ; Clear negative PWM values
OUTPUT_PWM:
mov w0, DC1 ; Output new duty cycle value
pop.s ; Restore SR, w0-w3
retfie ; Return from Interrupt
评估板有助于设计人员测试和修改SMPS控制软件,并理解SMPS的设计原理。在这种情况下,您可以考虑使用Microchip的dsPICDEM SMPS降压型开发板——卓越的低功耗DC/DC降压式转换器来评估DSC器件和控制软件。该板可通过标准AC/DC 9V,0.75A电源获得其输入电源。板上有两个独立的降压式转换器,演示软件设置可提供高达+5V和+3.3V的输出。
图4 控制软件的结构
这个开发板的输入电压范围为8-14V DC。每个输出负载应该限制在0.75A,而输入电源可以通过同轴输入电源连接器J2或测试夹连接P1和P2提供。该板也可为+5V输出提供一个动态负载。这个负载是通过1 kHz方波信号驱动的,该信号是由输出比较模块产生的。板上动态负载使用一个FET将电阻器负载连接到转换器对地输出,实现转换器激励,以便可以测量转换器的动态行为。动态负载的使用可通过跳线模块和/或软件由用户自行选择。
用户可以选择通过跳线设置,像标准降压式转换器或同步降压式转换器那样运行开发板。所提供的软件能够以电压控制模式运行该板,也可以进行电流监控。该板也可通过转换器输出端的一个检测电阻器测量电流,而电压则被放大并送到dsPIC30F2020器件的ADC输入端。该板还可提供通过ADC输入可读取的三个备用可变电阻器。这些“电位器”可用于在原型设计中的模拟所需的信号。
结语
通过专用于数字回路控制的新款DSC,电源设计人员可以容易地在他们的设计中加入新的功能和能力。要做到这一点,无需学习复杂的数字信号处理器(DSP)处理技巧,使用熟悉的模拟元件和软件,设计人员就能够迅速而经济地使用DSC开发具有更高智能的电源。