I am trying to access the SD card on the TMS570LS12x_HDK development board. (I am running a 400KHz spi clock that is high when not pulsing and have also ran it low when it is not pulsing) I can access the SD card but I cannot get it out of the idle state. I have read most, if not all of the threads on this topic, but they all seem to direct you to threads that also do not have an answer to this. I believe that I am using the recommend way of accessing the SD card from the protocol data sheets, but I must be missing something here is what I have tried:
1. Tried the recommend way
A. 80 clock pulse with SIMO at 0xFF and CS0 high.
B. Sent CMD0 received 0xFF 0x01 ( which is expected and correct. I do have the CRC of 0x95)
C. Sent CMD55 received 0xFF 0x01
D. Sent ACMD41 received 0xFF 0x01
E. looped through C and D, but always got 0x01. (it is expected that the idle bit would clear eventually, but it did not. I have left it running for several minutes)
2. did #1 above, but replace B and C with CMD1 and got the response of 0x01 (idle bit set) as I looped with this one command.
3. did #1 above modifying A so that CS0 was low (active) and got same result
4. did #1 above with a non-existing command between B and C. The response to this command was 0xFF 0x05 (bad command bit set along with the idle bit). The other command still responded with 0xFF 0x01
5. did #1 above with and added 80 clock pulses with SIMO at 0xFF and CS0 high between the A, B, C and D. Still get the same responses.
6. I have also tried putting a delay after the 80 clock pulses, and at other places so I am not banging it too fast.
Here is the data I am using for the commands:
CMD0 = 41, 00, 00 ,00, 00, 95 (all hex)
CMD55 = 77, 00, 00, 00, 00, xx
ACMD41 = 69, 00, 10, 00, 00, xx and have used 69, 00, 00, 00, 00, xx
I am using a new 4G SanDisk micoSD card that reads fine from my pc.
Does anybody know how to get this out of the Idle state?