汪垚
【摘 要】随着移动互联网的普及,越来越多的便携式电子设备走入我们的生活,这为移动电源产业带来机遇的同时,也对其技术提出了更高的要求。文章提出了一种基于FPGA(Field Programmable Gate Arrays)的数字控制BUCK型DC-DC变换器设计方案,分析了其工作原理,介绍了变换器中ADC芯片的选择过程,并采用TLC1549作为采样芯片,以及PID控制的数字化方法,并详细说明了数字化PID控制方式在FPGA芯片EP2C5T144C8上实现的方法,然后对计数式DPWM原理进行了介绍,并给出了具体的实现方法。
【关键词】DC-DC;FPGA;DPWM;DPID
【中图分类号】TM46 【文献标识码】A 【文章编号】1674-0688(2018)09-0055-03
0 引言
伴随我国经济的蓬勃发展,开关电源的相关领域也逐渐产业化,我国已经是世界上最大的开关电源生产地[1]。进入数字化时代后,开关电源也逐步在实现数字化、智能化,以迎合市场的需求。相较于以往的模拟控制,现代数字控制DC/DC变换器结构上更加复杂,需要满足的响应速度和信息传递速率等各方面性能指标都有很高的标准[2]。文章设计了一种利用FPGA芯片EP2C5T144C8,实现高精度、数字控制的BUCK型DC/DC变换器,并搭建实验环境进行了验证。
1 数字控制DC/DC变换器的基本结构
与传统的模拟开关电源相比,数字控制开关电源主要的区别点在整个系统的控制回路上面,其数字控制电路主要包括以下几个模块,分别是ADC模块、数字PID模块和DPWM波模块。数字控制的BUCK型DC-DC变换器模块图如图1所示。
2 ADC分辨率和采样芯片选择
ADC在进行模拟量和数字量的转换过程中,必然会出现一定的量化误差,但误差的存在不能对最终的结果造成不可忽视的影响,因此我们需要把误差控制在一定的范围内,这就要求ADC的分辨率必须满足系统的要求。
模数转换器的位数N决定了其分辨率的高低,一般来说位数越大则分辨率越高,其输出的精度也会越高,但在实际设计时,需要考虑具体的情况,考虑到成本和实现条件等因素,实际设计时经常依据系统规定的纹波电压来制定ADC的分辨率:ADC的分辨率需要小于系统规定的纹波电压△VO,即
Vr.ADC /2N<△VO(1)
公式(1)中的Vr.ADC是系统的电源输入电压范围,因此ADC的位数N必须符合下式:
N>log2(Vr.ADC /△VO)(2)
此次设计要求纹波为1%,系统电压的输入范围是10~20 V,计算后可知,ADC的位数N需满足:
N≥7(3)
综合考虑了成本、精确度、转换速率等实际情况后,文章选择TLC1549芯片当做系统的模数转换器。
3 模拟PID的数字化
若要在数字系统中使用数字的PID控制,需要把模拟PID进行数字化。数字化也称为离散化,常用的有增量式PID及位置式PID[3]。位置式PID,其輸出结果因为和前面的一切状态也有关系,因此会将输出的误差累积,相较之下,增量式PID因为其输出仅于当前状态及之前的2个状态有关,因此增量式PID的误差很小[4];增量式PID的另一个比较显著的优点是,当控制系统发生异常情况,其输出只是系统控制量的增加量,计算性差错不会对系统造成大的影响,因而在现实生活里,增量式PID得到了更多的应用。接下来对位置式和增量式PID算法进行对比说明。
积分可以视为是很多项相加的和,在数字化时,我们经常用累加求的方法来替代积分,公式如下:
■e(t)d(t)=T■e(nT)(4)
而微分可以视为把自变量的改变量映射到变化量的线性部分的线性映射,所以,数字系统里,一般将微分使用差分方法进行替换,公式如下:
de(t)/dt=e(kT)-e[(k-1)]/T(5)
我们利用替换采样时刻点,即
t=kT(6)
而PID控制器的控制规律如下:
u(t)=Kp[e(t)+1/Ti■e(t)dt+Td(de(t)/dt)](7)
把公式(4)(5)(6)代入式(7)里,可得:
u(kT)=Kp{e(kT)+T/Ti■e(nT)+Td/T[e(kT)-e(k-1)T]}(8)
对上式进行简化,设u(kT)代表u(k),e(kT)代表e(k),可得:
u(k)=Kpe(k)+Ki■e(n)+Kd[e(k)-e(k-1)](9)
公式(9)里,k表示系统的采样序号,必须是整数,Ki=Kp(T/Ti)表示积分的系数,e(k)及e(k-1)代表第k及k-1次的输入,Kd=Kp(Td/T)代表的是微分系数。
公式(9)表达的就是位置式PID算法。这种方式里,最终的输出和前面的任意状态都相关,而且在处理时,需要对 e(n)累加计算,明显增加总的计算任务,出现的计算错误还会累积起来,将对系统可靠性造成不好的影响。
在增量式PID算法中,设输出结果为△u(k),根据公式(9)和递推原理可得:
u(k-1)=Kpe(k-1)+Ki■e(n)+Kd[e(k-1)-e(k-2)](10)
用公式(9)减公式(10)可得:
u(k)-u(k-1)=ae(k)+be(k-1)+ce(k-2)(11)
公式(11)就是增量式PID算法,其中a=Kp+Ki+Kd,b=-Kp-2Kd,c=-Kd。从公式(11)可知,若Kp,Ki和Kd是确定的,一旦知道当前和前面两个周期的偏差,就可以通过公式(11)算出系统的控制增量。
4 数字PID在FPGA中的实现方法
根据上面的计算分析,增量式PID算法优势更加突出,所以文章采样增量式PID算法,并进行离散化得到数字式的控制算法。数字PID若要在FPGA里进行实施,由公式(11),把PID算法的3个参数分别设成A、B、C,根据前面式子算出的△u(k)和输入相加,然后再同程序中的设定值相比,两者之差决定了PWM模块输出的PWM波的占空比。FPGA中的设定值并不是系统的设定电压,需要把设定的5V电压进行相应的改变,最终成为能够直接在FPGA里进行计算的整数,计算公式如下:
set=5÷■÷2.5×1 024=341(12)
公式(12)里,设定值的计算方式是把5 V电压进行电阻分压采样后,把1/6的设定电压输入TLC1549里面,因为TLC1549的基准电压是2.5 V,位数为是10位,所以在FPGA中最后的设定值为341。
5 DPWM的实现
5.1 计数式DPWM
计数式DPWM也称为计数器DPWM。DPWM的实质是把一系列二进制数改变为代表特定占空比的信号[5],计数式DPWM能够很好地满足这样的需求。
计数式DPWM的结构如图2所示。由图2可知,计数比较式DPWM结构采用了对时钟周期进行逐次计数,具体方式是把PWM先设为高电平,开始时计数器计数是0,此时比较器1就是高电平,此后,计数器跟随时钟变化,逐渐增加,当计数变为系统设定值时,比较器2将由低电平变成高电平,通过触发器将PWM的输出电平变为低。利用这种方式,就可以控制开关管的PWM输出,并把输出稳定在系统的设定值。
计数式DPWM结构不复杂,只需要比较器、计数器、RS触发器就可以完成。因此本文采用计数式DPWM进行设计。
5.2 DPWM分辨率的选择
在实际的电子电路设计中,很多要求都需要考虑实际,也就是说并不是所有的指标都可以达到最好的状态,而是综合考虑多个参数的互相配合,使得系统的性能在一定的条件下呈现最优的效果。在数字系统的DPWM里,精度和功耗就是一对相互矛盾的指标。在实际的数字控制DC-DC变换器系统里,对DPWM的要求主要有以下几点。
(1)DPWM的设计有效精度必须大于模数转换模块的精度,这样才可以规避极限环出现,而有效精度即两者的设计比特数[6]。所谓极限环,即为系统的输出在整个系统趋于稳定状态的时候,不停地在一个固定的量附近来回跳动,这个跳动的幅度和频率也是在一定的范围内。之所以会出现这样的情况,多是因为在整个的设计阶段,没有仔细考量模数转换后的适配问题,而在开关电源相关的设计里,如果系统的模数转换中,量化位数不能匹配,往往就会出现极限环现象。根据实际经验,DPWM的有效位数要比模数转换器高3 bit。
(2)DPWM的响应速率需足够快,这样才可以将数字控制DC-DC变换器拥有一个的较快的响应速率。
(3)DPWM要尽量达到线性单调的要求,并提高其线性度。
因为TLC1549是10位的,而系统的时钟频率采用FPGA自带的50 M时钟频率,因此DPWM的分辨率选择为14位。
6 结语
在开关电源的使用背景下,本文介绍了数字型DC-DC变换器的基本原理,然后分析了ADC采样率及采样芯片的选择,利用TLC1549作为采样芯片,同时说明了数字PID在FPGA芯片EP2C5T144C8里面的实现方式和具体设置参数,最后详细分析了DPWM的实现方法及其分辨率的选择,结合TLC1549芯片的位数和实际设计经验给出了合适的分辨率位数。但是本文只是一个初步的设计,里面还有很多的方面都有待提高,根据目前的数字开关电源领域已有的相關理论和方法,还可以从以下方面作进一步的改进。
(1)DPWM模块的分辨率有待进一步的提高。可以利用其他的方法或者途径,继续提高DPWM的分辨率,我们可以对计数器式方法进行一些改造,通过增加一个计数器的方式来降低系统的频率。
(2)ADC模块精度的提升。ADC的高精度是开关电源可以达到高精度的一个前提,因此在进行ADC转换的时候,我们可以结合窗口ADC与其他方法来共同提高模数转换的精度。
(3)硬件的配置可以优化。因为此次设计仅仅进行了实验性的电路搭建,整个电路系统的结构都不够细致,接下来可以通过一定的方式,使电路系统更加紧凑,布线更加优化,提升系统效果。
参 考 文 献
[1]赵同贺.新型开关电源典型电路设计与应用[M].北京:机械工业出版社,2009.
[2]侯李军.试论FPGA技术在电子设计中的运用[J].消费电子,2013(12):9-11.
[3]王军琴.基于三菱FX2N的增量式PID控制器设计[J].现代电子技术,2010(12):167-168.
[4]金奇,邓志杰.PID控制原理及参数整定方法[J].重庆工学院学报,2008(5):91-94.
[5]白永江,冯维一,杨旭.高精度数字PWM的实现——数字“抖动”[J].电力电子技术,2007(8):54-56.
[6]周淑阁.FPGA/CPLD系统设计与应用开发[M].北京:电子工业出版社,2011.
[责任编辑:钟声贤]