數字電源控制器 UCD3138 的 Single Frame 和前饋功能說(shuō)明
圖 4:前饋輸出最終與環(huán)路輸出相乘
本文引用地址:http://dyxdggzs.com/article/175998.htm前饋功能的硬件設計主要包含了輸入電壓的檢測電路,在第一章曾有描述,在此不再贅述。軟件設計主要包含了Vref(DAC)值的配置、Kc 的配置和前饋功能的啟用設置。
1)Vref(DAC)值的配置
如下函數實(shí)現了根據v_input_error 的大小對Vref(DAC)值的更新。v_input_error 為當前采集的輸入電壓與前一次采集到的輸入電壓的差值。該函數包含在一個(gè)狀態(tài)機中,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; }
}
如果誤差很小,即輸入電壓已經(jīng)穩定,則系統軟件準備開(kāi)啟前饋功能并隨后進(jìn)入正常運行的狀態(tài)機。
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 的某個(gè)值,則此時(shí)啟用前饋功能會(huì )影響正常環(huán)路的輸出,造成輸出電壓出現跌落。如下圖5 所示。

圖 5:Kc 啟用不當造成輸出有跌落
跌落的原因是因為此時(shí)環(huán)路的正常輸出被突然乘以Gain=Kc=0.5~0.7,所以占空比會(huì )立即被限制,輸出電壓出現跌落。直到環(huán)路經(jīng)過(guò)多個(gè)周期后再將占空比展開(kāi)到正常大小,輸出電壓才恢復到正常值。
因此,在實(shí)際應用中需要將Kc 由1 慢慢減小到需求的值(在本文涉及的硬全橋軟件中選擇Kc 為0.7)。另,在實(shí)際設計中使用Filter2 實(shí)現非線(xiàn)性增益和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 為軟件狀態(tài)機中的一個(gè)狀態(tài),每100us 執行一次。通過(guò)這樣一個(gè)循環(huán)函數就可以保證Kc 是以步進(jìn)的形式由1 配置到0.7(0x5A0000/0x7FFFFF=0.7),防止了輸出電壓出現跌落。
3)前饋功能的啟用
經(jīng)過(guò)上述完善的預先配置后,可以啟用前饋功能,啟用后KC 從1 慢慢開(kāi)始減小。啟動(dòng)的設置是通過(guò)下面代碼實(shí)現的。“OUTPUT_MULT_SEL”位用來(lái)選擇與環(huán)路輸出相乘的值,以決定最后的占空比。當設置為2時(shí),將選擇前饋的輸出與環(huán)路輸出相乘,即啟動(dòng)了前饋。
Filter0Regs.FILTERCTRL.bit.OUTPUT_MULT_SEL =2;
評論