Help,The GDU doesn't work!

cancel
Showing results for 
Search instead for 
Did you mean: 

Help,The GDU doesn't work!

331 Views
Contributor I

Q1:

Hi, I began to use S12ZVML in my project one year ago, it work well. but in recent Life Test, I meet some trouble.

Two controllers can't operate normally, I connected the mcu through P&E, found that the GDU went wrong(GDUF_GHHDF and GDUF_GHHDIF are set) and GUD cut off the output signal.

Refer to the s12zvm reference manual, It showed that "Voltage on pin HD is greater than VHVHDLA or VHVHDHA". But I get the ADC raw value from the internal adc channel(ADC1_Internal_3:GDU DC link voltage monitor),the register value is 34518(left aligned), it showed that:

Vhd = 34518 / 65536 * 25V =13.1V(in most data, for example Freemaster, shows that 25V is the range)

or Vhd = 34518 / 65536 * 60V =31.6V (in datasheet, because I set register GDU Phase Mux Register (GDUPHMUX)  0x00, it means: Pin HD selected , VHD / 12 connected to ADC channel)

which one is right?

P.S: I try to force clearing the bit(write 1 to GDUF_GHHDF ),but it didn't work. Can you help me to find the root cause of this error?

 

Q2:

I looked for all information about the Vsup in reference manual. It was described:

"The VSUP pin can be routed via an internal divider to the internal Analog to Digital Converter.
Independent of the routing to the Analog to Digital Converter, it is possible to route this voltage to a
comparator to generate a low or a high voltage interrupt to alert the MCU."

But it didn't give the exact ratio of the "internal divider", I guess that the divider ratio is 1/5 from some application notes or example code, is that right or maybe it is pointed out in some other place or other document?

 

Best regards!

Labels (1)
0 Kudos
5 Replies

14 Views
Contributor I

Hi Radek:

Thank you for your reply!

For Q1:In my board, every time I power on, even no motor connected, GDU went wrong.

So, do it mean that the GDU is damaged?

About the damage, can you give me some advise about what causes  that GDUF_GHHDF and GDUF_GHHDIF are set?

Best regard!

0 Kudos

14 Views
NXP Employee
NXP Employee

Hi Chen,

The GHHDF flag is set by hardware if a high voltage condition on HD pin occurs.

The GHHDIF flag indicate change of GHHDF flag (set by hardware if GHHDF is set or if GHHDS is cleared).

 

Could you please measure voltage directly at HD pin by multimeter/oscilloscope?

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

14 Views
Contributor II

Hello,

I am having the same problem. GHHDS is set. V_HD > V_HVHDLA

What could happen in the internal circuit that this case would occur?

Also, the voltage on the HD pin is same as the power supply voltage 12V for example.

Best Regards,

Hardik Karelia

0 Kudos

14 Views
NXP Employee
NXP Employee

Hi Hardik Karelia,
By register bit GDUCTR_GHHDLVL you may change between levels VHVHDLA(typ 21V) and VHVHDHA(typ 28.3V).


The GDU generates VGS voltage (typ. around 10V) for N-channel transistors which go above the VHD voltage level. Unfortunately, the break-down voltage for UHV_180nm technology is slightly above 40V.

So, if the voltage at HD pin plus charge-pump/bootstrap voltage exceeds this break-down voltage (Absolute maximum is specified as 42V), the MCU may be damaged. Therefore, the maximum VHD voltage is specified just for 20V (up to 26.6V, but only for a limited time).

I hope it helps you.
Best regards
Radek

0 Kudos

14 Views
NXP Employee
NXP Employee

Hi Chen,

About Q1)

There are at least two ways how to measure DC link voltage.

If you measure Internal_3 GDU DC link voltage monitor ADC channel, the VHD is divided by the internal divider by 5. So, the first voltage calculation is correct Vhd = (34518 / 65536) * 5V range * 5 as divider = 13.1V.

If you measure Internal_2 GDU phase multiplexer voltage ADC channel and you set GDUPHMUX = 0x00, the VHD is divided by the internal divider by 12.

 

The HD high voltage monitor assert trippoint low is around 21V and HD high voltage monitor assert trippoint high is around 28V. The trippoint is selectable by GDUCTR_GHHDLVL bit.

 

In general, the High HD voltage might be caused by fast decreasing of motor speed. In that case, we may use brake chopper circuit which will be enabled by MCU software when VHD across some dedicated level. An example of brake chopper circuit:

brake chopper circuit.png

 

It is hard to say what is wrong with your board. Is that flag present also when you load the empty project into MCU? Power down/up helps or not?

Writing 1 to GDUF_GHHDF should clear that flag when VHD voltage is below VHVHDLD (typ. 20.5V) or VHVHDHD (typ. 27.9V) voltage level.

However, it is possible that the GDU is somehow damaged.

 

About Q2)

The VSUP voltage may be measured at Internal_4 BATS VSUP sense voltage ADC channel (available only at ADC0). The source for that ADC channel is BATS module. The voltage levels for comparators and Pin Input Divider Ratio is specified in Table G-1. Static Electrical Characteristics – BATS in RM

The BATS module may be configured for one of 4 available Low Voltage Warning levels and for one of two High Voltage Warning levels.

The input divider ratio for ADC measurement is 9.  

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos