cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 SPI flash fast read timing calculation

regjoe
Senior

Hello,

I have a NOR SPI flash connected to single SPI interface of a H75x MCU and want to use the highest possible SPI frequency for data read. The core clock is 400MHz, so I can chose between 50 and 100MHz.

According to the data sheets the "Clock low to output valid" time tv of the IS25WPxxx is 7-8ns, the H7 setup time is 1-2ns. This means the half period (SPI clock low time between falling and rising edge) must be at least 10ns. Assuming high and low pulse are the same, this means the max. clock is 50MHz in this simple calculation, which is not considering signal transmission delays, signal rise/fall times and switching voltages.

I found out that most flash have implemented a "NORMAL READ" and a "FAST READ". Both differ in the max. SPI clock, for example 80MHz for READ and 166MHz for FAST READ transfer. Unfortunately, looking at the timings, I do not understand why the FAST READ frequency is twice the READ transfer frequency.

The meaning of tv is explained here:

is25wp128d_normal_read.png

This means that data on SO is valid after tv after the falling clock edge has been detected. Here only 1 read is shown here but I guess that all subsequent data reads are affected by the same tv.

Looking at the following timing of the FAST READ, it seems that tv does only come into play once, after the dummy bytes sent and the first data bit read.

is25wp128d_fast_read.png

Usually, in mode 0, data is shifted at falling edge and sampled at rising edge. Here it looks that this is only the case for the first data bit. For all subsequent bits the timing suggests that data is shifted at rising and sampled at falling edge.

How does this work? How can this timing explain the higher FAST READ frequency?

I would have expected that the first bit is valid after tv=7/8ns but the subsequent bits are valid somewhat faster, eg. after 2ns or something like that, or how can this device output data at 166MHz if tv is 7-8ns?
Any idea?

 

0 REPLIES 0