主题中讨论的其他器件:SysConfig、 C2000WARE
大家好、
使用 XDS100V3进行调试后、客户会发现 PWM 引脚(EPWM2B/GPIO3)在不运行时直接变为高电平、从而导致硬件损坏。 当程序运行时、状态恢复正常。 它将每次发生、并且可重现、区别是在使用 XDS100V3烧录之后、等待时间变化、约为15s 至30s。


请参阅以下初始化代码:
void devPWM_387pclk_handle myClk、PWM_Handle Ctrl_Init
{
CLK_enablePwmClock (myClk、PWM_Number_2);
//设置计时器周期
PWM_setPeriod (myPwm2、HVCTRL_PWM_COUNT);
PWM_setPhase (myPwm2、0x0000); // Phase 为0
PWM_setCount (myPwm2、0x0000); //清除计数器
//设置 TBCLK
PWM_setCounterMode (myPwm2、PWM_Rac_ Mode_Up);
PWM_disableCounterLoad (myPwm2); //禁用相位加载
PWM_setHighSpeedClkDiv (myPwm2、PWM_HspClkDiv_By_1);//时钟与 SYSCLKOUT 的比率
PWM_setClkDiv (myPwm2、PWM_ClkDiv_By_1);
PWM_set4519200(myPwm2, Mode_Cmp PWM_i Mode_Shadow ); //每0加载一次
PWM_set4519200(myPwm2, Mode_Cmp PWM_4519); Mode_Shadow
PWM_set4519200(myPwm2, Mode_Cmp PWM_4519); Mode_Zero
PWM_set4519200(myPwm2, Mode_Cmp PWM_4519); Mode_Zero
//设置比较
PWM_setCmpA (myPwm2、0);
PWM_setCmpB (myPwm2、HVCTRL_PWM_COUNT);
//设置操作
PWM_setPWM_CMP_CP_PPwmA(myPwm2, Qual_Cnt PWM_387) Qual_Set;
PWM_setPWM_CMP_CP_PPwmA(myPwm2, Qual_Cnt PWM_387) Qual_Clear;
PWM_setPWM_cmp_387PwmB(myPwm2, Qual_Cnt Qual_Clear );
PWM_setPWM_cmp_387PwmB(myPwm2, Qual_Cnt Qual_Set );
//低电平有效 PWM -设置死区
devPWM_DeadbandEnable (myPwm2、true);
}
void devPWM_DeadbandEnable (PWM_Handle myPwm1、bool Ben)
{
如果(本)
{
EALLOW;
EPwm2Regs.TZFLG.bit.CBC = 0;
EPwm2Regs.TZFLG.bit.OST = 0;
EPwm2Regs.TZCTL.bit.DCBEVT1 = 2;
EPwm2Regs.TZCTL.bit.DCBEVT2 = 2;
EPwm2Regs.TZCTL.bit.TZB = 2;
EPwm2Regs.TZFRC.bit.DCBEVT1 = 1;
EPwm2Regs.TZFRC.bit.DCBEVT2 = 1;
EPwm2Regs.TZFRC.bit.CBC = 1;
EDIS;
//低电平有效 PWM -设置死区
PWM_setDeadBandOutputMode (myPwm1、 PWM_DeadBandOutputMode_EPWMxA_RISING _EPWMxB_FALLING);
PWM_setDeadBandPolarity (myPwm1、PWM_DeadBandPolarity_EPWMxB_Invered);
PWM_setDeadBandInputMode (myPwm1、PWM_DeadBandInputMode_EPWMxA_Rising_and_FALLING);
PWM_setDeadBandRisingEdgeDelay (myPwm1、EPWM1_MIN_DB);
PWM_setDeadBandFallingEdgeDelay (myPwm1、EPWM1_MIN_DB);
}
否则
{
PWM_disableDeadBand (myPwm1);
}
//======================================== //
客户还尝试在 CCS 中选择以下设置、但仍未得到改善:(实时选项)

您能帮助检查这个案例吗? 谢谢。
此致、
切里