2021-10-12 06:30 PM
Hi all, I'm developing our application which requires high speed SPI. Currently I'm using the Nucleo-G070 for development and my peripheral device is connected to the Nucleo SPI pins with 6" jumper wires.
I was trying to see what clock the peripheral can handle and ran into some issues. At 4MHz, we have a nice clean square wave. At 8MHz, it's pretty much a sine wave but it still works fine. At 16MHz the amplitude of the sine wave is 1/2 of what it was and is shifted up by about 1V.
Now I know my setup with fly wires is definitely not ideal. But I noticed that even when I disconnected everything from the Nucleo and just probed the header, the SPI clock still looked the same. Does this mean it's just not possible to use SPI that fast with the Nucleo? Is this because the layout wasn't done with high frequency applications in mind? Are there any other mitigations?
Solved! Go to Solution.
2021-10-12 06:45 PM
The max SPI speed is 32 MHz per the datasheet. You should be able to get a good signal at that speed on the Nucleo without anything connected. Ensure pin frequency is set to very high and that your scope bandwidth is sufficient. Ensure pins are free and not connected to other things on the board.
Probably won't work over 6" jumper wires.
2021-10-12 06:45 PM
The max SPI speed is 32 MHz per the datasheet. You should be able to get a good signal at that speed on the Nucleo without anything connected. Ensure pin frequency is set to very high and that your scope bandwidth is sufficient. Ensure pins are free and not connected to other things on the board.
Probably won't work over 6" jumper wires.
2021-10-12 07:26 PM
SPI at 12 or 24 MHz maybe possible up to one meter. Maybe use all 4 wires AND ground clipped close together. I might recall there could be LED on one SPI line, which should be removed if present.
2021-10-12 10:48 PM
It was the GPIO speed! Thanks for the tip- I was pouring over SPI settings and forget to check the GPIOs. Setting it to LL_GPIO_SPEED_FREQ_VERY_HIGH resolved the issue.