cancel
Showing results for 
Search instead for 
Did you mean: 

GPIO inputs pushed LOW upon HSE failure

Eliasvan
Associate

I'm using an STM32H733 running from HSE clock with CSS disabled.

In a normal situation, the used GPIO inputs correctly read as HIGH as they are pulled HIGH by an external pull-up / LVTTL (push-pull) drive, verified with the oscilloscope.

After exposure to a brief (max. 1 second) EMI event, the HSE clock fails and those GPIO inputs are pushed LOW (as if they became GPIO outputs), verified with the oscilloscope. Furthermore, the UART communication is frozen (verified with oscilloscope, TX voltage is LOW), although a high-priority task is still able to toggle the SWO pin (verified with oscilloscope) albeit at a much lower frequency. Moreover, the MCU seems to have switched to run from the HSI clock, which would explain the lower frequency.
After that, when merely plugging in an STLink-v3 debugger (without even connecting to it), the MCU resumes normal operation: those GPIO pins resume working as intended and no longer push the voltage LOW, and UART communication resumes, at normal speed.

What could be the cause of the GPIO inputs being pushed LOW when the HSE clock fails?

1 REPLY 1
TDK
Guru

Ground bounce or latch up issue? Lots of components here, board, debugger, oscilloscope, EMI source. How are grounds connected and how are ground loops avoided?

Plugging in the debugger likely resets whatever grounding issue is occurring.

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