This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

66AK2G12: EPWM HRCTL REGISTER

Part Number: 66AK2G12

I want to use HRPWM capability of the ePWM module. I use to transfer the CMPA AND CMPAHR data through EDMA triggered by the SOCA signal. It works very fine.

My main problem I can not write into the HRCTL Register to set DELMODE to 2h. Table 11-829 does not say it is protected. Nevertheless I tried to set EPWM_EALLOW bit of EPWM_CTL Register but no success. Can you verify that?

My configuration is attached:

/* Function to setup PWM module one-time configurations */
void PWM_init(){
    /*Time base clock configuring using prescaler*/
    CSL_epwmTbTimebaseClkCfg(CSL_PWM_3_CFG_REGS, TBCLK_FREQ, MODULE_CLK);
    CSL_epwmTbTimebaseClkCfg(CSL_PWM_4_CFG_REGS, TBCLK_FREQ, MODULE_CLK);

    /*Sync 3A and PWM5A*/
//    CSL_epwmTbSyncEnable(CSL_PWM_3_CFG_REGS, 0, CSL_EPWM_TB_CNT_DIR_AFT_SYNC_UP);
    CSL_epwmTbSetSyncOutMode(CSL_PWM_3_CFG_REGS,CSL_EPWM_TB_SYNC_OUT_EVT_CNT_EQ_ZERO);
    CSL_epwmTbSyncEnable(CSL_PWM_4_CFG_REGS, 0, CSL_EPWM_TB_CNT_DIR_AFT_SYNC_UP);

    /*Configuring the EPWM_AQCTLA register*/
    CSL_epwmAqActionOnOutputCfg(CSL_PWM_3_CFG_REGS, CSL_EPWM_OUTPUT_CH_A, &aqctrla);
    CSL_epwmAqActionOnOutputCfg(CSL_PWM_3_CFG_REGS, CSL_EPWM_OUTPUT_CH_B, &aqctrlb);
    CSL_epwmAqActionOnOutputCfg(CSL_PWM_4_CFG_REGS, CSL_EPWM_OUTPUT_CH_A, &aqctrla);

    /*Set frequency*/
    CSL_epwmTbPwmFreqCfg(CSL_PWM_3_CFG_REGS, TBCLK_FREQ, PWM_FREQ2, TB_COUNT_UP, TB_IMMEDIATE);
    CSL_epwmTbPwmFreqCfg(CSL_PWM_4_CFG_REGS, TBCLK_FREQ, PWM_FREQ, TB_COUNT_UP, TB_IMMEDIATE);

    CSL_epwmCounterComparatorCfg(CSL_PWM_3_CFG_REGS, CSL_EPWM_CC_CMP_A, (int)1041, CC_SHADOW, CC_CTR_ZERO, OVER_WRITE_SHADOW_DISABLED);
    CSL_epwmCounterComparatorCfg(CSL_PWM_4_CFG_REGS, CSL_EPWM_CC_CMP_A, (int)260, CC_SHADOW, CC_CTR_ZERO, OVER_WRITE_SHADOW_DISABLED);


//    CSL_epwmHrLoadCmpAHrValue(CSL_PWM_3_CFG_REGS,1,CSL_EPWM_HR_REG_ACT_LOAD_CNT_ZRO_PULSE);
    /*Set SOCA for EDMA PWM */
    HW_WR_REG16(0x021D0C32,0x900);
    HW_WR_REG16(0x021D0C34,0x500);

    //Set EALLOW
    HW_WR_REG32(0x021D0C00, 0x438);
    //SETUP EPWM DELMODE to falling edge 
    HW_WR_REG16(0x021D0CC0,0x0);
    HW_WR_REG16(0x021D0CC0,0x2);
    //Clear EALLOW
    HW_WR_REG32((CSL_BOOT_CFG_REGS + BOOTCFG_EPWM_CTL_REG_OFFSET), 0x38);


//    CSL_epwmHighResolutionCfg(CSL_PWM_3_CFG_REGS,CSL_EPWM_HR_DELAY_BUS_SEL_CMPAHR, CSL_EPWM_HR_DELAY_EDGE_CTRL_FALLING);


}

Further more in the TRM is a link error. 11.5.3 is linked to 11.6.3.