cancel
Showing results for 
Search instead for 
Did you mean: 

Why mcu not reset on ESD test ?

Mahendra Rana
Associate III
Posted on May 16, 2018 at 08:54

  1. When I run system clock through HSE(8MHz/24MHz/25MHz) and PLLCLK (multiplier PLLN and divider PLLM & PLLR) than mcu not reset by ESD.

  2. But when I run system clock directly through HSE(8MHz/24MHz/25MHz) than mcu get reset by ESD.

Can any one comment for my issue..

Note: this post was migrated and contained many threaded conversations, some content may be missing.
34 REPLIES 34
Posted on May 16, 2018 at 14:31

I would guess the Xtal and onboard oscillators only just work at the lowest power possible(a design criteria)

and therefore, being a low level signal, are susceptible to rail noise.

but the PLLNMR function has amplified the Clock to a level that is not susceptible to the ESD.

I would say ESD is hit and miss.

How did you generate the ESD pulse ?

Where did you inject it ?

it is a strange question:

When I hit my processor with 2000Volts, it gets upset sometimes..

Posted on May 17, 2018 at 00:16

No, no. The way I read it is that his program doesn't reset when he gets an ESD zap. That's a good thing. I take it to mean that his board has enough ESD snubbing that the processor doesn't get upset and the program keeps running proplerly. WIN!

He doesn't say that the processor locks up, gets blown to bits, or even stops responding. He just says that it doesn't reset.

Either the OP isn't clear or it's a job well done.

Posted on May 17, 2018 at 00:28

Don't think I suggested it Locked/Latched Up.

That it Continues to Run, or Reset and Runs again, both seem to be acceptable, the latter being less desirable.

The item up for debate is why HSE vs HSE+PLL result in different out comes.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on May 17, 2018 at 02:28

Do you happen to be using a Watchdog Timer here? Does the reset cause indicate the source of the reset?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on May 17, 2018 at 10:22

If you can find the reset cause it would help. It will be in a register somewhere. A possible explanation is that the ESD upsets the crystal oscillator, which does contain a sensitive high frequency amplifier. If the oscillator stops oscillating for a while the MCU will detect a 'loss of clock' which may reset the MCU.

Daniel O'Neill
Associate II
Posted on May 17, 2018 at 11:44

Hi,

This sounds like an interesting behavior. The theory I have is that the ESD is causing a glitch on the HSE that causes a reset. To debug this further would can look at the register that tells you what reset you (RCC_CSR on STM32F4) What does this indicate as the reset source?

As a further step you can program the interrupts for the hard fault etc to go to a specific location and set a flag that you can check.

As to why the HSE+PLL doesn't reset, my theory is that the PLL is effectively buffering the glitch on the HSE.

The PLL is usually some sort of VCO (voltage controlled oscillator) whose output is compared to the input from the HSE and then its control signal is adjusted. VCOs have a lot of parameters but I would imagine that noise rejection would be an important one.

Also for performance and stability they likely have a low pass filter on the response from the comparison of the output and the input which should provide the noise rejection.

Note that enabling the PLL on one unit may pass the ESD test but on another it may fail. To fix it rather than mask it I would suggest that you look at the path the ESD current may take. Could it go anywhere near the HSE source (I assume a crystal)?

Posted on May 17, 2018 at 11:17

A possible explanation is that the ESD upsets the crystal oscillator, which does contain a sensitive high frequency amplifier. If the oscillator stops oscillating for a while the MCU will detect a 'loss of clock' which may reset the MCU.

In theory, this should apply to both cases, independant of the PLL.

Posted on May 17, 2018 at 13:14

The crystal oscillator will be more susceptible to ESD than the internal RC oscillator because its signals are exposed outside the chip package, providing a much bigger pickup area.

Posted on May 17, 2018 at 22:06

While this is true the RC oscillator is not precise for almost any

application requiring communication.

Controlling the ESD path and how it discharges can allow you to pass with

reasonable ease.

I had a product that passed up to 28kV contact on the chassis (much higher

than regulatory requirements). Even on CAN pins we pass with 8kV contact.

On Thu, May 17, 2018 at 11:15 PM, Oliver Sedlacek <

Posted on May 18, 2018 at 07:15

No, it's HSE both times.

HSI (the internal RC oscillator) is nowhere mentioned.

The only difference is the PLL.