本文介紹dsPIC33C系列MCU高速模擬比較器外設(shè)的斜率生成模式,該模式可用于數(shù)字電源的峰值電流控制。同時(shí)dsPIC33C系列MCU最多帶有6個(gè)DAC的高速模擬比較器(如dsPIC33CK512MP608),所以最多可實(shí)現(xiàn)如6相交錯(cuò)同步buck電路的峰值電流模式控制。
1. 原理介紹
dsPIC33C系列MCU內(nèi)置的高速模擬比較器模塊框圖如圖1所示,包括高速比較器(典型延時(shí)15ns),DAC和斜率補(bǔ)償單元。斜率補(bǔ)償單元提供了可用于更改DAC輸出的用戶自定義斜率,在峰值電流模式控制等需要斜坡補(bǔ)償維持電源穩(wěn)定性的應(yīng)用中,此功能非常有用。同時(shí)比較器的輸出可通過(guò)脈沖延展器和數(shù)字濾波模塊處理,從而防止比較器響應(yīng)意外快速瞬變信號(hào)。
圖 1 - 高速模擬比較器模塊框圖
為了規(guī)避峰值電流模式控制下占空比大于50%時(shí)的次諧波震蕩問(wèn)題,我們一起看下如何基于內(nèi)置的高速模擬比較器為峰值電流模式控制電源提供斜坡補(bǔ)償功能,這將使傳統(tǒng)的模擬電源下的峰值電流控制同樣可以在數(shù)字電源主控dsPIC33C系列MCU上實(shí)現(xiàn)。
圖 2 - 斜率生成模式DAC輸出波形
斜率生成模式DAC輸出波形見圖2,斜坡部分就是圖2中斜率開始處到比較器跳變處這一區(qū)間,比較器的跳變也就代表著峰值電流模式控制中電感電流反饋值大于該斜坡DAC的值導(dǎo)致比較器輸出翻轉(zhuǎn)。
斜率生成操作的啟動(dòng)由SLPSTRT<3:0>(SLPxCONL<3:0>)位控制,根據(jù)SLPSTRT<3:0>的值,選定的PWM觸發(fā)信號(hào)將用于啟動(dòng)斜率生成操作。對(duì)于斜率的終止,有兩個(gè)停止信號(hào),只要有一個(gè)置位有效斜率生成操作將終止。6個(gè)控制寄存器位SLPSTOPA<3:0>(SLPxCONL<11:8>)和SLPSTOPB<3:0>(SLPxCONL<7:4>)用于選擇終止斜率生成操作的控制信號(hào)。停止信號(hào)進(jìn)行邏輯或運(yùn)算,以便在發(fā)生其中一個(gè)觸發(fā)事件時(shí)終止斜率。在大多數(shù)的電源應(yīng)用中,SLPSTOPA<3:0>可配置為在PWM周期結(jié)束時(shí)終止斜率,而SLPSTOPB<3:0>可配置為當(dāng)電流達(dá)到正?;蚬收蠗l件下的限值時(shí)觸發(fā),圖2中的波形便是通過(guò)電流達(dá)到正?;蚬收蠗l件下的限值時(shí)觸發(fā)的示例。
圖2中還有切換模式和穩(wěn)態(tài)模式,這一部分處在兩個(gè)斜坡中間,持續(xù)時(shí)間依賴于DAC操作的時(shí)鐘源、TMODTIME<9:0>和SSTIME<9:0>位。切換模式的持續(xù)時(shí)間由TMODTIME<9:0>位(DACCTRL2L<9:0>)指定,在此期間盡可能地響應(yīng)新的數(shù)據(jù)值,使的DAC的值從上次斜坡的終點(diǎn)快速回歸到斜坡開始處的初始值。在切換模式后會(huì)立即進(jìn)入穩(wěn)態(tài)模式,時(shí)間由SSTIME<9:0>位決定。在穩(wěn)態(tài)模式結(jié)束時(shí),DAC值穩(wěn)定在新值,準(zhǔn)備好生成下一周期的斜率。SLPSTRT<3:0>信號(hào)觸發(fā)斜率生成過(guò)程,斜率隨SLPxDAT寄存器中指定的速率而變化。
2. 舉例說(shuō)明
通過(guò)如下Python代碼可以方便計(jì)算出SSTIME<9:0>=88。
T_SS = 350*10**(-9);
F_DAC = 500*10**(6); # DAC時(shí)鐘源頻率,一般選擇500MHz的輔助時(shí)鐘
SSTIME = T_SS*F_DAC/2 + 0.5;
print("SSTIME = ", int(SSTIME))
3)斜坡斜率SLPxDAT取值
Slope_Start_Delay = 0.2; # 斜坡開始相對(duì)于PWM周期起始SOC時(shí)刻延遲
Slope_Stop_Delay = 0.95; # 斜波結(jié)束相對(duì)于PWM周期起始SOC時(shí)刻延遲
PWM_Out_Frquency = 200*10**3; # PWM開關(guān)頻率
PWM_Out_Period = 1/PWM_Out_Frquency; # PWM周期
PWM_Resolution = 250*10**(-12) # PWM這里開啟高精度模式
PWM_Period = int(PWM_Out_Period/PWM_Resolution - 1); # PWM周期計(jì)數(shù)值
PWM_Trigger_1 = int (Slope_Start_Delay * PWM_Period + 0.5);
PWM_Trigger_2 = int (Slope_Stop_Delay * PWM_Period + 0.5);
print("PWM_Trigger_1 = ", PWM_Trigger_1, "PWM_Trigger_2 = ", PWM_Trigger_2)
2. 開發(fā)與驗(yàn)證
2.1 開發(fā)環(huán)境說(shuō)明
2.1.1 軟件開發(fā)環(huán)境
相關(guān)軟件開發(fā)版本情況說(shuō)明如下。
2.2 軟件工程創(chuàng)建
2.3 實(shí)驗(yàn)驗(yàn)證
編譯工程并燒錄到好奇開發(fā)板的dsPIC33CK256MP508,測(cè)量DAC輸出管教RA3波形,可得斜坡如下圖所示,穩(wěn)態(tài)時(shí)為3V(DAC1DATH寄存器值),然后在3V的基礎(chǔ)上以100mv/us的斜率(SLP1DAT寄存器值)下降。
圖 4 - 實(shí)驗(yàn)斜坡波形
-
數(shù)字濾波器
+關(guān)注
關(guān)注
4文章
268瀏覽量
46970 -
電源控制器
+關(guān)注
關(guān)注
0文章
149瀏覽量
32777 -
buck電路
+關(guān)注
關(guān)注
27文章
461瀏覽量
46367 -
電感電流
+關(guān)注
關(guān)注
0文章
88瀏覽量
11062 -
模擬比較器
+關(guān)注
關(guān)注
0文章
29瀏覽量
9933
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論