主题:controlSUITE中讨论的其他部件
C2000专家您好,
我目前正在阅读从控制套件下载的HVPM示例项目代码。
我看到对于PWM CMP寄存器的最终值,它使用死区补偿宏,您能否帮助阐明该宏的工作方式? 使用死区补偿的目的是什么?
dbc1.scale =_IQdiv (_IQdiv2 (pwm1.Deadband),dbc1.ith);//取消注释以调试
dbc1.Kdtc =_IQbumpy (dbc1.scale,dbc1.gain);//取消注释以调谐“”
PWMwDBC_MACRO (1,2,3,pwm1,clarke1,dbc1);
/************************************************************************
* PWM Gen,带死区补偿宏
*如果Cura > 0 Ta = Ta + TDT
* Else Ta = Ta - TDT
***************** /
#define PWMwDBC_MACRO (CH1,CH2,ch3,m,i,d)\
(* ePWM[CH1]).CMPA.Half.CMPA =_IQbumpy (m.HalfPerMax,m.MfunchC1)+ m.HalfPerMax +\
_IQbumpy (_IQsat (i.as,d.ith,-d.ith),d.Kdtc);\
(* ePWM[CH2]).CMPA.Half.CMPA =_Iqbumpy (m.HalfPerMax,m.MfuncC2)+ m.HalfPerMax +\
_IQbumpy (_IQsat (i.B,d.ith,-d.ith),d.Kdtc);\
(* ePWM[ch3]).CMPA.Half.CMPA =_IQbumpy (m.HalfPerMax,m.Mfunc3)+ m.HalfPerMax +\
_IQbumpy (_IQsat (i.cs,d.ith,-d.ith),d.Kdtc);
此致,
千斤顶