Other Parts Discussed in Thread: MOTORWARE
Tool/software:
Greetings! My settings are as follows
EPWMReg1.TZSEL.OSHT1=1;
EPWMReg1.TZSEL.OSHT2=1;
EPWMReg1.TZSEL.OSHT3=1;
EPWMReg1.TZCTL.TZA=10;
EPWMReg1.TZCTL.TZB=10;
EPWMReg1.TZEINT.OST=1;
EPWMReg1.TZFLG - all 0;
I added the interrupts to the table:
Interrupt_register(INT_ADCC1, &mainISR);
Interrupt_register(INT_EPWM1_TZ, &tz1_irs);
Global interrupts enabled.
My TZ pins are configured as follows:
// FAULT A
GPIO_setMasterCore(29, GPIO_CORE_CPU1);
GPIO_setPinConfig(GPIO_29_GPIO29);
GPIO_setDirectionMode(29, GPIO_DIR_MODE_IN);
GPIO_setPadConfig(29, GPIO_PIN_TYPE_STD);
// FAULT UVLO
GPIO_setMasterCore(30, GPIO_CORE_CPU1);
GPIO_setPinConfig(GPIO_30_GPIO30);
GPIO_setDirectionMode(30, GPIO_DIR_MODE_IN);
GPIO_setPadConfig(30, GPIO_PIN_TYPE_STD);
// FAULT CURR
GPIO_setMasterCore(31, GPIO_CORE_CPU1);
GPIO_setPinConfig(GPIO_31_GPIO31);
GPIO_setDirectionMode(31, GPIO_DIR_MODE_IN);
GPIO_setPadConfig(31, GPIO_PIN_TYPE_STD);
The problem is the PWM module registers the TZ event and sets its outputs to the programmed condition(no more pulses generated), the flags in the TZFLG and TZOSTFLG are set, but the interrupt doesn`t fire.
The ADC iterrupt is working!
I tested the TZ interrupt with the epwm_ex1_trip_zone.c example and it works just fine. But I can`t find which setting is different in the MotorWare stack!
Any suggestions?
Thanks!