微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 数字电源控制器 UCD3138 的 Single Frame 和前馈功能说明

数字电源控制器 UCD3138 的 Single Frame 和前馈功能说明

时间:11-20 来源:互联网 点击:

此不再赘述。软件设计主要包含了Vref(DAC)值的配置、Kc 的配置和前馈功能的启用设置。

1)Vref(DAC)值的配置

如下函数实现了根据v_input_error 的大小对Vref(DAC)值的更新。v_input_error 为当前采集的输入电压与前一次采集到的输入电压的差值。该函数包含在一个状态机中,100us 执行一次,将连续执行300 次,以保证在使能前馈功能之前Vref(DAC)近似等于当前输入电压。

if(v_input_error > 10)

{

if(FeCtrl2Regs.EADCDAC.bit.DAC_VALUE > 3000) //can not lower than 35V;

{FeCtrl2Regs.EADCDAC.bit.DAC_VALUE = FeCtrl2Regs.EADCDAC.bit.DAC_VALUE - 1;}

}

else if(v_input_error -10)

{

if(FeCtrl2Regs.EADCDAC.bit.DAC_VALUE 14000) //can not higher than 80V;

{FeCtrl2Regs.EADCDAC.bit.DAC_VALUE = FeCtrl2Regs.EADCDAC.bit.DAC_VALUE + 1; }

}

如果误差很小,即输入电压已经稳定,则系统软件准备开启前馈功能并随后进入正常运行的状态机。

if ( abs(v_input_error) 10) //Vin error is small

{

supply_state = STATE_REGULATED;

Filter0Regs.FILTERCTRL.bit.OUTPUT_MULT_SEL =2;//Enable Feed Forward

}

2)Kc 值的配置

在输入电压稳定的情况下,如果Kc 直接配置到0.5 到0.7 的某个值,则此时启用前馈功能会影响正常环路的输出,造成输出电压出现跌落。如下图5 所示。

图 5:Kc 启用不当造成输出有跌落

跌落的原因是因为此时环路的正常输出被突然乘以Gain=Kc=0.5~0.7,所以占空比会立即被限制,输出电压出现跌落。直到环路经过多个周期后再将占空比展开到正常大小,输出电压才恢复到正常值。

因此,在实际应用中需要将Kc 由1 慢慢减小到需求的值(在本文涉及的硬全桥软件中选择Kc 为0.7)。另,在实际设计中使用Filter2 实现非线性增益和Kc 的设置,因此软件配置如下。

Uint32 filter2_kc;

int filter2_kc_step = 0x200;

inline void handle_regulated_state(void)

{

filter2_kc = Filter2Regs.FILTERPRESET.bit.PRESET_VALUE;// It is Kc

if(Filter2Regs.FILTERPRESET.bit.PRESET_VALUE > 0x5A0000)

{

Filter2Regs.FILTERPRESET.bit.PRESET_VALUE = filter2_kc - filter2_kc_step;

Filter2Regs.FILTERPRESET.bit.PRESET_EN = 1;

}

}

其中,handle_regulated_state 为软件状态机中的一个状态,每100us 执行一次。通过这样一个循环函数就可以保证Kc 是以步进的形式由1 配置到0.7(0x5A0000/0x7FFFFF=0.7),防止了输出电压出现跌落。

3)前馈功能的启用

经过上述完善的预先配置后,可以启用前馈功能,启用后KC 从1 慢慢开始减小。启动的设置是通过下面代码实现的。“OUTPUT_MULT_SEL”位用来选择与环路输出相乘的值,以决定最后的占空比。当设置为2时,将选择前馈的输出与环路输出相乘,即启动了前馈。

Filter0Regs.FILTERCTRL.bit.OUTPUT_MULT_SEL =2;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top