2024-02-07 10:17 PM - edited 2024-02-07 10:55 PM
Hello,
maybe someone has an idea or can share an similar experience. Since I'm currently in the evaluation phase for selecting an MCU for our new industrial embedded project. I want to inspect and analyze this problem, to be sure the used MCU is working fine and i can use it (STM32H735IGK6).
Issue:
Pushbuttons on different EXTI-Interrupt randomly fires twice or more times. Some GPIOs are effected, but not all, i have tested.
Setup:
Own PCB-Layout, 6 Pushbuttons, every one is debounced with 10kOhm and 10nF. Signal looks fine on scope, no bouncing can be seen with scope, absolutely clean signal.
Test 1:
apply a 200mHz sine-wave directly to the button pin. Expected behavior is: one interrupt on rising one interrupt on falling signal (due to the 200mV hysteresis on every input pin, as mentioned in datasheet). Behavior in RealLife: as soon as the voltage level on the pin reaches the switching thresholds of the input pin, i get lots of Interrupts (Rising and falling edge).
BUT now its getting freaky: if i turn off the running FMC access to an external RAM, instantly everything works as expected - only one single interrupt per transition.
Test 2:
same as above, but the FMC-access only bursts data every few seconds for approx. 250ms. Result: only, during FMC-access i get this accidential interrupts. (just to be sure: i checked the signal with the scope again: the waveform looks perfectly clean, without any noise, glitches, or something else)
I don't know if this can be an mcu-internal emc-issue or something like that, but fact is, if i enable the data transfer to the external RAM, the EXTI-Peripheral (or the schmitt trigger inside) gets extremely disturbed.
Of course, in this use case with buttons, a simple workaround is possible, but i also need a solution for other, more complex applications with combinations of FMC and EXTI (e.g. FPGA Communications, ...)
2024-02-13 08:57 AM - edited 2024-02-14 09:45 PM
Hello @FBL
i posted the result of an similar test in this thread a few days ago. I think it matches with the unexpected EXTI.
i have a 24V to 3.3V Step-Down switching regulator designed on this PCB, so no external wires, long traces or other stuff which can receive or send more additional noise. And as you can see on the scopes, the noise level is in a low and acceptable range.
yes, i did this test, to be sure not the tiny ripple causes the problem, and it doesn't. Even with the laboratory linear regulated supply, the behavior is the same.
i have lot's of capacitors spread around the mcu and the sdram, i think the layout is fine, 3V3 and GND planes are good. Nevertheless, thank you for the reminder about the design guide, i am sure it will be useful.