2017-03-01 06:28 AM
Hi,
I have a strange issue with GPIO on Nucleo-64 stm32F401RE.
I implement SPI protocol on it and each line of the GPIO is perform very well.
While I connect a bride to those pins the data line make the EN line noisy. It is like coupling between lines.
I didn't find any technical information about ST GPIO pins, like is it possible to change drive strength?, what is the max current for each GPIO?? etc...
I must solve this issue and I am kind of frustrated since nothing helped... Please advice what can I do to eliminate coupling on this board to work with another device??
BR,
Nir
#stm32 #stm32f4-gpio2017-03-01 06:34 AM
I didn't find any technical information about ST GPIO pins, like is it possible to change drive strength?
Yes. See GPIO chapter in RM, GPIO_OSPEEDR register.
For current capabilities see the GPIO output section of datasheet.
Too often problems of this character are caused by inadequately long lines and inadequate grounding/signal return.
JW
2017-03-01 06:40 AM
Standard rules for EMC apply.
Have matched impedances, use shielding or at least twisted lines, and keep it as short as possible.
SPI is intended as inner-PCB bus, unlike e.g. CAN, RS485, or LVDS which are using a robust differential signal.
2017-03-01 07:39 AM
Thanks.
The lines are very short (15cm).
GPIO_OSPEEDR is set to very low frequency.
ground is shared between all PCBs.
Still, is there anything to do in coding?? or something else?
Nir
2017-03-01 09:49 AM
Coupling = lines are too close to each other (adjacent pins are high frequency toggling?)
Otherwise, force output low on pins around it to couple to ground.
One way to reduce EMI is serial resistor when possible (1kOhm?)
You can try to use pull-up or pull-down to reduce a bit ringing.
Check your current loop with ground path.