cancel
Showing results for 
Search instead for 
Did you mean: 

MCU operating temperature varies between two identical board

DavidNaviaux
Senior

I am currently developing the firmware for a project.  I have two boards, running identical firmware but the operating temperature between the MCUs on the boards has about a 10°C difference, 43°C vs 53°C (confirmed with a thermal camera).

We have more boards, but before I go too far with this, I was hoping to get some input from someone on what to expect.  I checked the power supply voltage on both boards and it is identical at 3.40V.

The STM32G474 is running at 144MHz with 230.4kBd continuous serial communications.  There are two DSMPS power supplies each using one HRTIM PWM signal from the MCU, switching at 200kHz.

There are 9 ADC channels being monitored continuously.  The average main loop execution time it 39us with a worst case of 83us.

Any thoughts?

 

1 ACCEPTED SOLUTION

Accepted Solutions
AScha.3
Chief III

i just can guess...this seem to high anyway.

your G474 should need about 25mA (144Mhz, core);

i have a H743 here, should need 53mA (200MHz, core);

i have some peripherals running , should be similar your setup.

and i get 32° (IR thermo.), at 22° ambient. so your G474 should be < 30° anyway.

there is something wrong on your boards, not only the 53° is too high, also the other.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

7 REPLIES 7
AScha.3
Chief III

i just can guess...this seem to high anyway.

your G474 should need about 25mA (144Mhz, core);

i have a H743 here, should need 53mA (200MHz, core);

i have some peripherals running , should be similar your setup.

and i get 32° (IR thermo.), at 22° ambient. so your G474 should be < 30° anyway.

there is something wrong on your boards, not only the 53° is too high, also the other.

If you feel a post has answered your question, please click "Accept as Solution".

Thank you, I'll have to take a deeper look.  Maybe an I/O pin conflict.  

right, and check vcore - about 1,2V at the vcap caps.

i just checked a H563 , at 250MHz, is at 28,8° . (32mA at 250M,core only, this should be more similar your G474 )

If you feel a post has answered your question, please click "Accept as Solution".
LCE
Principal

Any other loads at the GPIOs?

And check the other electronics, too.
Maybe something else on the other side of the PCB?

I don't believe that there is a VCAP on the G474.  However, there is a power setting register that tailers the internal regulator to the operating frequency.  That is being properly set at the 1.20V for up to 150MHz clock.

The most significant intended load are 3 LEDs that will draw a maximum of 6.2mA at maximum VDD.  I do have two pins that are fed by -12V through a 10k resistor than a Schottky diode to ground, so there could be some negative voltage at those pins.  From a graph in the data sheet of the Schottky, at 1.2mA of current the voltage drop is 3.3V maximum at 2mA but typically 2.2V.  The 3.3V would exceed the input voltage absolute maximum.  But luckily, I caught this issue and added series resistor between the Schottky and the MCU pin before approving the 1000 board getting fabricated.

My main concern is that the problem is different between the two boards I am working with. 

Thank you for your suggestions.

My client is testing a board and the MCU on that board is only 30°C but they are in a lab that is much cooler than my office.   

I found the problem.  Occasionally, for reasons that I am still working to isolate, when I update the firmware via STM32CubeIDE or by STM32CubeProgrammer, an MCU pin is getting damaged because of a high voltage spike that is occurring due to an HRTIM PWM signal locking high long enough (>5us) to cause a large current spike through a pulse transformer resulting in a large voltage spike to the MCU pin.  Once that happens, the pin has a low resistance short to 3.3V internally.  Since I have that pin directly connected to a 10 ohm load to ground I get excessive current and heating of the MCU.  Removing the 10 ohm resistor restores normal MCU operating temperature.  Of course, at this point, I must replace the MCU.