GPIO rise/fall time on Nucleo H7
I am prototyping an application on a Nucleo H7 board and I would like to use 50 MHz SPI master for performance reasons.
At lower speeds (25 MHz, for example) I am able to generate a fairly clean SPI Mclk that passes requirements, however at 50 MHz I end up with a clock signal that very much resembles a sine wave and does not meet setup / hold requirements.
I have tried various configurations of the SPI peripherals (e.g., 100 MHz master clock /2 divider, 200 MHz master clock /4 divider), various master clock sources, etc. At this point I am fairly sure that the problem I am observing is related to the GPIO characteristics of the Mclk pin.
Referencing "Table 68. Output timing characteristics" of the datasheet "Output high to low level fall time and output low to high level rise time" =~ 5ns (depends on load capacitance) @ very fast drive speed, I would expect to see a better signal here, one that reaches 3.3V (or 1.8V - I tested both!) and levels off for some time before falling edge @ 50 MHz. But obviously I don't see that.
So my questions are:
- Am I interpreting Table 68 correctly, is it realistic to generate a nice looking 50 MHz clock from an H7 GPIO?
- Are there some characteristics of the Nucleo board in particular (very high load capacitance?) that might make things worse?
Thank you.
