电子说
本文介绍dsPIC33C系列MCU高速模拟比较器外设的斜率生成模式,该模式可用于数字电源的峰值电流控制。同时dsPIC33C系列MCU最多带有6个DAC的高速模拟比较器(如dsPIC33CK512MP608),所以最多可实现如6相交错同步buck电路的峰值电流模式控制。
dsPIC33C系列MCU内置的高速模拟比较器模块框图如图1所示,包括高速比较器(典型延时15ns),DAC和斜率补偿单元。斜率补偿单元提供了可用于更改DAC输出的用户自定义斜率,在峰值电流模式控制等需要斜坡补偿维持电源稳定性的应用中,此功能非常有用。同时比较器的输出可通过脉冲延展器和数字滤波模块处理,从而防止比较器响应意外快速瞬变信号。
图 1 - 高速模拟比较器模块框图
为了规避峰值电流模式控制下占空比大于50%时的次谐波震荡问题,我们一起看下如何基于内置的高速模拟比较器为峰值电流模式控制电源提供斜坡补偿功能,这将使传统的模拟电源下的峰值电流控制同样可以在数字电源主控dsPIC33C系列MCU上实现。
图 2 - 斜率生成模式DAC输出波形
斜率生成模式DAC输出波形见图2,斜坡部分就是图2中斜率开始处到比较器跳变处这一区间,比较器的跳变也就代表着峰值电流模式控制中电感电流反馈值大于该斜坡DAC的值导致比较器输出翻转。
斜率生成操作的启动由SLPSTRT<3:0>(SLPxCONL<3:0>)位控制,根据SLPSTRT<3:0>的值,选定的PWM触发信号将用于启动斜率生成操作。对于斜率的终止,有两个停止信号,只要有一个置位有效斜率生成操作将终止。6个控制寄存器位SLPSTOPA<3:0>(SLPxCONL<11:8>)和SLPSTOPB<3:0>(SLPxCONL<7:4>)用于选择终止斜率生成操作的控制信号。停止信号进行逻辑或运算,以便在发生其中一个触发事件时终止斜率。在大多数的电源应用中,SLPSTOPA<3:0>可配置为在PWM周期结束时终止斜率,而SLPSTOPB<3:0>可配置为当电流达到正常或故障条件下的限值时触发,图2中的波形便是通过电流达到正常或故障条件下的限值时触发的示例。
图2中还有切换模式和稳态模式,这一部分处在两个斜坡中间,持续时间依赖于DAC操作的时钟源、TMODTIME<9:0>和SSTIME<9:0>位。切换模式的持续时间由TMODTIME<9:0>位(DACCTRL2L<9:0>)指定,在此期间尽可能地响应新的数据值,使的DAC的值从上次斜坡的终点快速回归到斜坡开始处的初始值。在切换模式后会立即进入稳态模式,时间由SSTIME<9:0>位决定。在稳态模式结束时,DAC值稳定在新值,准备好生成下一周期的斜率。SLPSTRT<3:0>信号触发斜率生成过程,斜率随SLPxDAT寄存器中指定的速率而变化。
通过如下Python代码可以方便计算出SSTIME<9:0>=88。
T_SS = 350*10**(-9);
F_DAC = 500*10**(6); # DAC时钟源频率,一般选择500MHz的辅助时钟
SSTIME = T_SS*F_DAC/2 + 0.5;
print("SSTIME = ", int(SSTIME))
3)斜坡斜率SLPxDAT取值
Slope_Start_Delay = 0.2; # 斜坡开始相对于PWM周期起始SOC时刻延迟
Slope_Stop_Delay = 0.95; # 斜波结束相对于PWM周期起始SOC时刻延迟
PWM_Out_Frquency = 200*10**3; # PWM开关频率
PWM_Out_Period = 1/PWM_Out_Frquency; # PWM周期
PWM_Resolution = 250*10**(-12) # PWM这里开启高精度模式
PWM_Period = int(PWM_Out_Period/PWM_Resolution - 1); # PWM周期计数值
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. 开发与验证
2.1 开发环境说明
2.1.1 软件开发环境
相关软件开发版本情况说明如下。
2.2 软件工程创建
2.3 实验验证
编译工程并烧录到好奇开发板的dsPIC33CK256MP508,测量DAC输出管教RA3波形,可得斜坡如下图所示,稳态时为3V(DAC1DATH寄存器值),然后在3V的基础上以100mv/us的斜率(SLP1DAT寄存器值)下降。
图 4 - 实验斜坡波形
全部0条评论
快来发表一下你的评论吧 !