This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5748: QSPI Delay in between SPI Reads

Part Number: AM5748

Hi, I am currently working on an QSPI Flash (on cfg, not the memory map) for TI Sitara IDK AM574x. The sequential read was implemented (no interrupts no DMA, just working on a basic sample code only running on A15) and the sequential read works, however I am seeing a 3.9 microseconds delay between the SPI reads. As I would like to maximize the throughput, I would like to know what is causing this and how do I eliminate that?

 

To better illustrate what I meant:

 [Chip Select High to Low] ---- [Send 1-byte Read Instruction] ---- [MSB Address 1-byte] ---- [Mid Address 1-byte] --- [LSB Address 1-byte] ---- [Data Read 0] ----  [Data Read 1] ---- [Data Read 2] ----- [Data Read n]  ----- [Chip Select Low to High]

 

When I zoom in and view the waveform on the oscilloscope, there are delays between reads, for example:

[Data Read 0] -- (3.9 usec) --- [Data Read 1] --- (3.9 usec) --- [Data Read 2] ---  (3.9 usec) --- [Data Read 2]

 

The SPI read itself is fast with 48MHz, but the 3.9microseconds delay is affecting the throughput. I am wondering the cause of the delay? I did lots of things to eliminate that but I wasn't able to and I also saw and resolved some bugs on the QSPI (config) on the processor SDK. Is there a way to eliminate that delay and have the QSPI perform the SPI read bytes without any delays in between?

I am using the Processor SDK RTOS (without RTOS and just bare metal).

Thanks