Hi, I am using S12ZVML128 to derive a DC Motor, I have initialized the PMF Module in complementary mode low side fixed to drive in two directions (use only PWM pais A & B). After first ECU programming I get correct PWM outputs. But after power on Reset all PWM outputs are set to Null (application is still running, there is LIN communication). Any idea what is the issue?
Hi Hajer,
I suppose that you load code into MCU and test PWM with MCU in the special mode (with a connected debugger) – that works. When you disconnect BDM and reset MCU into normal mode, the PWM do not work. Is it right?
When something works in the special mode and do not work in normal mode, the typical root cause is that code write to registers which cannot be modified in normal mode (like TCNT register) or a number of writes to some of the registers is limited (like MODRRx register). Such registers have to be configured by single write and we cannot modify it until next reset.
The example of wrong approach:
MODRR1_PWM10RR = 1;
MODRR1_PWM32RR = 1;
…
The example of correct approach:
MODRR1 = 0x07; // PWM1_0.. PWM1_5 routed to port P and T
Could you please also check the configuration in PMFFEN, PMFDMP0-5 registers, and PMFFIF fault flags?
I hope it helps you.
Have a great day,
RadekS
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Problem found, although i have only initialized the PMF module and not yet the GDU module, after power on Reset ECU runs the gate driver and not more the PWM outputs :smileyangry:. Now LGx and HGx are set correctly :smileyhappy: