TI中文支持网
TI专业的中文技术问题搜集分享网站

[求助]F28069 PWM使用DCAEVT1和DCBEVT1作为OSHT锁驱动无法锁死

应用中希望用COMP1OUT产生DCAEVT1和DCBEVT1作为OSHT锁驱动,但是配置完毕后测试发现是CBC模式的。

代码如下,帮忙看下那里有问题。

 GpioCtrlRegs.AIOMUX1.bit.AIO2    = 3;  // SET AIO2 ADCINA2/ COMP1A,AIO2 disabled
 Comp1Regs.COMPCTL.bit.COMPDACEN  = 1;    // Power up Comparator locally
 Comp1Regs.COMPCTL.bit.COMPSOURCE = 0;    // Connect the inverting input to internal DAC
 Comp1Regs.DACVAL.bit.DACVAL      = LLC_CURRENT_LIMIT;
 Comp1Regs.DACCTL.bit.DACSOURCE   = 0;  // 0 – DACVAL; 1 – Internal ramp for slope compensation

/***************************************************************************************************/

 EPwm1Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_COMP1OUT;
 EPwm1Regs.TZDCSEL.bit.DCAEVT1       = TZ_DCAH_HI;
 EPwm1Regs.DCACTL.bit.EVT1SRCSEL     = DC_EVT1;
 EPwm1Regs.DCACTL.bit.EVT1FRCSYNCSEL = DC_EVT_ASYNC;

 EPwm1Regs.DCTRIPSEL.bit.DCBHCOMPSEL = DC_COMP1OUT;
 EPwm1Regs.TZDCSEL.bit.DCBEVT1       = TZ_DCBH_HI;
 EPwm1Regs.DCBCTL.bit.EVT1SRCSEL     = DC_EVT1;
 EPwm1Regs.DCBCTL.bit.EVT1FRCSYNCSEL = DC_EVT_ASYNC;

 EPwm1Regs.TZSEL.bit.DCAEVT1 = 1;                  /* Enable DCAEVT1 as one-shot-trip source for this ePWM module.*/
 EPwm1Regs.TZSEL.bit.DCBEVT1 = 1;                  /* Enable DCBEVT1 as one-shot-trip source for this ePWM module.*/
 EPwm1Regs.TZCTL.bit.TZA     = TZ_FORCE_LO;      

 EPwm1Regs.TZCTL.bit.TZB     = TZ_FORCE_LO;       

 EPwm1Regs.TZCTL.bit.DCAEVT1 = TZ_FORCE_LO;
 EPwm1Regs.TZCTL.bit.DCBEVT1 = TZ_FORCE_LO;

请问哪里出问题了,为何OSHT变成CBC??

囧:

你的配置有问题,把下面两句注解就好了

 EPwm1Regs.TZCTL.bit.DCAEVT1 = TZ_FORCE_LO; EPwm1Regs.TZCTL.bit.DCBEVT1 = TZ_FORCE_LO;

应用中希望用COMP1OUT产生DCAEVT1和DCBEVT1作为OSHT锁驱动,但是配置完毕后测试发现是CBC模式的。

代码如下,帮忙看下那里有问题。

 GpioCtrlRegs.AIOMUX1.bit.AIO2    = 3;  // SET AIO2 ADCINA2/ COMP1A,AIO2 disabled
 Comp1Regs.COMPCTL.bit.COMPDACEN  = 1;    // Power up Comparator locally
 Comp1Regs.COMPCTL.bit.COMPSOURCE = 0;    // Connect the inverting input to internal DAC
 Comp1Regs.DACVAL.bit.DACVAL      = LLC_CURRENT_LIMIT;
 Comp1Regs.DACCTL.bit.DACSOURCE   = 0;  // 0 – DACVAL; 1 – Internal ramp for slope compensation

/***************************************************************************************************/

 EPwm1Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_COMP1OUT;
 EPwm1Regs.TZDCSEL.bit.DCAEVT1       = TZ_DCAH_HI;
 EPwm1Regs.DCACTL.bit.EVT1SRCSEL     = DC_EVT1;
 EPwm1Regs.DCACTL.bit.EVT1FRCSYNCSEL = DC_EVT_ASYNC;

 EPwm1Regs.DCTRIPSEL.bit.DCBHCOMPSEL = DC_COMP1OUT;
 EPwm1Regs.TZDCSEL.bit.DCBEVT1       = TZ_DCBH_HI;
 EPwm1Regs.DCBCTL.bit.EVT1SRCSEL     = DC_EVT1;
 EPwm1Regs.DCBCTL.bit.EVT1FRCSYNCSEL = DC_EVT_ASYNC;

 EPwm1Regs.TZSEL.bit.DCAEVT1 = 1;                  /* Enable DCAEVT1 as one-shot-trip source for this ePWM module.*/
 EPwm1Regs.TZSEL.bit.DCBEVT1 = 1;                  /* Enable DCBEVT1 as one-shot-trip source for this ePWM module.*/
 EPwm1Regs.TZCTL.bit.TZA     = TZ_FORCE_LO;      

 EPwm1Regs.TZCTL.bit.TZB     = TZ_FORCE_LO;       

 EPwm1Regs.TZCTL.bit.DCAEVT1 = TZ_FORCE_LO;
 EPwm1Regs.TZCTL.bit.DCBEVT1 = TZ_FORCE_LO;

请问哪里出问题了,为何OSHT变成CBC??

Tommy Wei:

回复 Eric Ma:

谢谢Eric的解答。

问题已经找到,是在代码中关机态和开机态分别使用了软件强制OST造成的。

赞(0)
未经允许不得转载:TI中文支持网 » [求助]F28069 PWM使用DCAEVT1和DCBEVT1作为OSHT锁驱动无法锁死
分享到: 更多 (0)