When does an SDHCI controller (3.00 spec) starts reading the DAT lines in a single read block transaction (not using DMA)?

Does it wait to receive the full response or can start reading the data line before?

In the Physical Layer Spec (3.01) there's the following broad diagram

enter image description here

Notice that the data_block is sent before the response is completely sent, so the controller should start reading before receiving the response.

On the other hand on the SDHCI spec there's the following diagram. enter image description here

According to it, the controller should wait for the Command Complete Int. The description of that bit states

Command Complete: This bit is set when get the end bit of the command response.

So, does the controller have to wait until the last bit of the response has been received? Maybe it just stores the data on an internal buffer but only access it after receiving the full response? And, if the controller starts reading before receiving the full response, when should it exactly start? Just after issuing the command?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.