hi。
i have some questions about the dead-time compensation?my mcu is s12ZVML128,
I tried the current zero crossing detection compensation and register detection compensation method, the effect is not good, request help, thank you
Thanks!
void pmf_init(void)
{
PMFCFG2_REV0 = 1; // 01 PWM generator A generates reload event.
PMFCFG2_REV1 = 0;
PMFMODA = 2500; // pwm frequency to be 20 kHz
PMFDTMA = MOS_DEAD_TIME; // dead time of pmf to be 0.75 us
PMFCCTL_ISENS = 0x10; // 死区补偿方法
PMFVAL0 = PMFMODA >> 1; // set the output duty to be 50%
PMFVAL2 = PMFMODA >> 1;
PMFVAL4 = PMFMODA >> 1;
PMFENCA_LDOKA = 1; // apply PMF Modulo value
PMFICCTL_PECx = 0x7; // Enable Double Switching
PMFCINV = 0x15;
PMFCFG2_MSK = 0x3F; // Disable PWM at the output
PMFENCA_PWMENA = 1; // Enable PWM
PMFENCA_PWMRIEA = 1; // Reload Interrupt - Used for sampling period generation
PMFENCA_GLDOKA = 1; // 0 = Local LDOKA controls buffered registers / 1 = external Load OK controls buffered registers
PMFFQCA_LDFQA = 1; // Reload every TWO PWM, 10KHZ,page588
}