About GDU overcurrent action

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

About GDU overcurrent action

957 Views
pratibhasurabhi
Contributor V

Hi,

Using NXP S12Z MagniV, we are rotating a 3 phase BLDC motor.
We are using "Current Sense Amplifier and Overcurrent Comparator" in the GDU.
The GDU is driven by PWM from the PMF module.

Present implementation -
When over current situation occurs, the OC comparator trips and cause the GDU output to be OFF.
Since this point, the motor stops permanently till the MCU reset.

Requested modification -
When the OC comparator trips and cause the GDU to be OFF, is there a way to clear this trip condition using software such that the PWM output from the GDU can be re-started ?
If yes, what is the procedure/settings for this ?



5 Replies

677 Views
pachamatej
NXP Employee
NXP Employee

Hi,

Have you tried to write "1" to the GDUF_GOCIF[1:0]? Similar action should work for all the flags (e.g. if a desaturation is asserted). Please set a correct "overcurrent action" (GOCAx) to prevent the system from consequent faults (depending on your system requirements).
For your future reference (I understand it's hard to link the information together), please follow the Reference Manual:

Chapter 18.3.2.3 GDU Interrupt Enable Register (GDUIE)

Chapter 18.3.2.5 GDU Status Register (GDUSTAT)

Mainly:

Chapter 18.3.2.7 GDU Flag Register (GDUF)

Chapter 18.3.2.15 GDU Overcurrent Register 0 (GDUOC0)

Chapter 18.4.7 Fault Protection Features

Chapter 18.4.8 Current Sense Amplifier and Overcurrent Comparator

Best regards,

Matej

0 Kudos

677 Views
pratibhasurabhi
Contributor V

Thank you Matej!

We have set the overcurrent action as GOCA0=1(turn off all high side and low side predrivers ) and because of this setting motor stops permanantly till the MCU reset.

We want to know that, is there any way to clear this trip condition by software so that PWM output will restart again and no need to reset MCU?

0 Kudos

677 Views
pachamatej
NXP Employee
NXP Employee

Try this:  GDUF_GOCIF0 = 1;

(or  GDUF_GOCIF1 = 1; respectively if the other overcurrent comparator is used).

You can do it using FreeMaster as well.

0 Kudos

677 Views
pratibhasurabhi
Contributor V

Thank you Mateja!

Above setting is working.

Thank You.

677 Views
pachamatej
NXP Employee
NXP Employee

Hello,

I have the same settings and if I write "1" to the GDUF_GOCIF[1:0], the GDU works again. Have you tried it? There is no need for resetting the MCU.

Matej

0 Kudos