STM32H75x max. Clock for SPI Read Timing
Hello,
I'm trying to figure out the max. reliable clock frequency for NOR flash connected via SPI or QSPI interface.
I've read here or here that there are custom board and evaluation board designs which are reading data at single transfer rate up to 120MHz.
I wonder how this is possible regarding the timing parameters in the data sheet.
For example, the MICRON MT25QL flash, which is equipped on some ST evaluation boards e.g. STM32H750_DK and STM32H753_EVAL, puts data at falling clock to IO after 5-6ns as shown here (tCLQV).


In SPI or QSPI SDR mode the H75x latches data at rising edge which must be valid at least 2ns.


Same for QSPI SDR


Timing parameters seem to use the middle of the clock edge for reference. At higher frequency the rise and fall time of clock and IO lines must therefore be added to the timing calculation.
I checked the clock and IO signals on various boards at different GPIO and flash drive strength and series resistors and measured min. 2ns rise/fall time. So the maxium possible clock frequency for SDR calculates IMHO in the ideal case as
tCLK/2 = tFALL/2 + tCLQV + tSU + tRISE/2 = 1ns + 5ns + 2ns + 1ns = 9ns
This examples calculates a maximum SPI clock of 1/(2x9ns) = 55MHz
To my surprise for example the H750-DK can run up to 100MHz without read error. Am I wrong?
I know there are Cortex M7 MCUs which delay sampling at the next falling Clock edge, but it seems this is not the case for H75x, at least not for SPI.
And idea?
