Any SDIO experts out there to query?

Status
Not open for further replies.

stevech

Well-known member
General SDIO interface question - applies to any MCU with SDIO (not SPI) for micro-SD card interfacing..

Using SDIO with just one D0 data line (plus a second serial CMD line). 24MHz clock. SanDisk 4GB HC card.
After reading 1-n blocks (512 bytes), there's a 520 microsecond gap before the same read can reoccur. That is, if I read 16 blocks, the data (DO signal) shows the blocks come in back-to-back with no inter-block delays. Another such read, immediately in the code, and I see 521 microseconds before data flows again.
I need to find where the delay is - waiting on a status bit? The uSD chip is pondering something?
No double-buffering.

The 521 microsecond gap stays the same no matter the number of blocks read. The time to transfer one 512 byte block at 24MHz is about 170 microseconds with a single serial line.

Is this normal? that time is not throughput-friendly for reading n at a time blocks for n being a small number, e.g., constrained by RAM buffer size on an embedded MCU.

EDIT: The command to read a single or multi blocks is very brief - not 100's of microseconds.
 
Last edited:
Status
Not open for further replies.
Back
Top