I have been using SD Cards for years on my LPC systems. They work great. I decided to make one of my procedures more dummy proof, as users do dumb things from time to time. During an SD file upload, if I issue a hard reset on my circuit board, the SD card recovers immediately about 1/2 the time and the other half, it takes anywhere between 5 and 45 seconds to recover (probably corrupted data somewhere). CMD 58 responses give garbage info over and over until it finally recovers and gives valid responses and the procedure can continue. I'm sure where in the SD Read cycle you press reset might have a lot to do with what actually gets corrupted on the SD card. It does appear if you take power off the SD card (take out, put back in), the procedure does start again quickly - thus CMD 58 works properly.
Has anyone done any experiments like this? Does anyone know what is going on inside the SD card during that long recovery process that makes it not responsive to CMD 58. Maybe this is normal in this abnormal condition. It does recover, so that's the important part. But, I was hopeful that somebody knew what was happening. Maybe rebuild some tables or something after data was corrupted.
What SD Card & filesystem code are you using?
Are you using SPI, or the full 4-bit SD interface?
There's some general info on SD cards & commands linked from the FatFs site ...
I'm using SPI and various brands of SD cards do the same hangup with CMD 58. I've looked and looked for specific info, but there isn't info that detailed that I have found. I have confirmed that removing power from the SD card fixes the problem immediately and the SD read procedure starts again. It's not really a huge issue. More of what could the card be doing for up to 45 seconds before CMD 58 works again, if you don't remove power.
(I am not experienced, but was just googling and found this: http://www.dejazzer.com/ee379/lecture_notes/lec12_sd_card.pdf ,see page 6 and 7)
View all questions in Keil forum