本发明涉及电力测试领域,尤其是一种直流电子负载软启动的数字实现方法。
背景技术:
随着新能源行业的迅速发展,电源测试对高性能电子负载的需求日益扩大。市场上电子负载产品层数不穷,而绝大多数的电子负载在控制电流上升时间的功能实现上,只能根据设定的上升斜率,控制电流沿直线上升。其不足在于①无法模拟感性负载的上电过程;②当被测电源产生振荡或产生尖锐变化的电流时,难以在负载启动过程中使电流稳定;③有可能在开始带载时发生不必要的过流保护。
现有技术中,只有使用硬件实现软启动功能的方法(如图1所示电路)。这种方法将斜率产生器产生的信号送到RC串联电路,再把电容端的电压输出作为控制信号(形如图2所示)。通过接入不同的电阻(图1中有阻值不同的8个电阻)来实现软启动时间的参数选择。其缺点在于可选参数限定,不能满足实际需要。而假如使用一般的软件方法去做,则面临两难境地:使用高性能的DSP可实现软启动参数的任意设定,却难以达到1MHz的频响范围(1us内难以完成单次复杂公式的计算和数据传输,且数据传输受限于总线效率);使用能并行计算的FPGA虽省去总线传输耗时,但FPGA无法进行超越函数的运算,且过于庞大的计算最终将导致1MHz的频响范围无法满足。那么,如何既能实现任意的软启动时间参数设定,又能达到1MHz的频响范围,就成为了一个关键技术问题。
技术实现要素:
本发明要解决的技术问题是:提出一种直流电子负载软启动的数字实现方法。
本发明所采用的技术方案为:一种直流电子负载软启动的数字实现方法,包括以下步骤:
1)通过CPU将采样时间T、起始电平Vo、终止电平Vs、斜率信号采样次数N1、时间常数τ分别以DAC为基准转换为整数并写入FPGA的总线数据处理模块;
2)根据式在单次采样周期内(1us),由DAC数据生成模块完成公式计算,得到模拟斜率产生器产生的信号e(n),作为系统的输入信号。
3)根据式由差分方程计算得到输出信号v(n)。
4)将v(n)通过补偿模块转换为实际控制信号的电平值。
5)由DAC数据生成模块生成循环控制逻辑,将步骤4得到的电平信号值传递给SPI输出控制模块。
6)SPI输出控制模块模拟芯片ADR5541时序逻辑,将最终控制信号输出到芯片管脚。
本发明的有益效果是:本发明仅包含整数加减乘除的数字算法,由FPGA进行控制信号的实时计算,进而在满足任意参数设定的同时,又达到频响指标,从而良好实现软启动功能。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1软启动功能的硬件电路实现原理图;
图2是示波器测量的DAC输出信号波形图,横坐标为时间,单位为us。
图3是系统时域连续信号的理论曲线图,横坐标为时间,单位为s;
图4是利用差分方程计算仿真的曲线图,横坐标为采样点。
图5是基于FPGA实现原理示意图。
具体实施方式
现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
一种直流电子负载软启动的数字实现方法,工作原理如下:
A.系统数学模型的建立
如图1所示,令斜率产生器的输出电压为e(t),电容端的电压为v(t),根据KVL定理及电荷传递规律可得如下微分方程:
令斜率为K(A/s),时间为t,起始电平为Vo,终止电压为Vs,则e(t)可表示为分段函数:
将(1-2)式代入(1-1)式:
令τ=RC。运用拉普拉斯变换/逆变换解微分方程,得时域信号的表达式:
其中:
实际工程中,当t=5τ+t1时,v(t)近似等于Vs。则控制信号的分段表达式可进一步改写为:
该分段函数的理论曲线如图3所示。
由此可见以上建立的数学模型符合实际电路的工作情况。
B.由系统函数求解差分方程
假令系统输入为e(t),输出为v(t)。当e(t)为单位冲激函数时,v(t)即为系统函数h(t)。根据(1-1)式可解得:
采用双线性变换时,从s域函数到z域函数的转换关系为:
式中T为对模拟信号进行等间隔采样的采样时间间隔。指标为1us。
代入(2-1)式并整理得:
又得:
其中:
由于T为单位采样时间,所以τ和t1皆为T的整数倍。将(2-4)式作如下变形:
(3-6)式中的(2τ-T)、(2τ+T)两项为定值,只需在写入τ及T时计算一次即可,此后无需重复计算。于是可知(3-6)式总共包含3次整数乘法运算、2次整数加法运算、1次整数除法运算。FPGA能够完成该计算工作。
该差分方程的仿真曲线如图4所示。
由此可见该算法设计严格遵循了设计要求。
C.FPGA实现软启动
根据式3-6,CPU完成参数设置和传递,FPGA完成公式的计算和逻辑控制,最终数据传递到DAC控制芯片ADR5541管脚。实现原理如图5所示。
FPGA部分包括三个模块:总线数据处理模块,DAC数据生成模块,SPI输出控制模块。
总线数据处理模块:总线部分采用8位数据信号线,3位地址信号线,1位片选信号线,1位读有效信号线,1位写有效信号线。主要完成公式中涉及到的参数传入到公式计算模块,回读相关状态信号,生成必要控制信号等。
DAC数据生成模块:DAC数据生成包括2次加法,3次乘法,1次除法的处理逻辑,数据补偿逻辑,以及循环生成SPI输出控制模块所需要的控制和数据信号逻辑。
SPI输出控制模块:本模块将产生满足ADR5541芯片时序的控制逻辑。
全部模块采用50M外部晶振,保证时钟信号稳定性,同时采用同步逻辑处理,有利于保持系统的稳定性。实现DA转换功能的芯片ADR5541最高支持25MHz的输入时钟,输出16位精度数据,且满足SPI标准的数据传输逻辑。频响要求为1MHz,即1us发送一次数据,而完成16位SPI数据耗时40ns*16=640ns,所以时间上绰绰有余。在单位采样时间1us内(50个时钟)需要生成一次新的数据,其中有关乘除部分的逻辑需要做好时序约束,防止数据竞争的产生。
本发明采用的FPGA为Altera公司的EP4CE6E22C8,总逻辑单元为6272,消耗2000左右逻辑单元,目前市场上大部分FPGA都能满足要求。同时由于FPGA负责数据运算逻辑,负责CPU功能的芯片只需要完成参数的设定和状态检测等简单功能,可选范围很广,甚至部分FPGA可以采用内置的软核nios作为替代,一定程度上降低了实现的成本和难度。
以上就是基于FPGA实现软启动的控制原理,可以精确地计算每一个采样点的控制信号进而进行DAC输出以实现电流拉载。
以上说明书中描述的只是本发明的具体实施方式,各种举例说明不对本发明的实质内容构成限制,所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离本发明的实质和范围。