I have a project which is intended to support both SD and MMC cards and i need to detect which type that is inserted.
According to sandisk app.note for systems supporting both MMC and SD cards it is said that when sending the SD initalization code first (i assumes it must be after entering the SPI mode) an MMC card will respond with an error providing me a way to identificate the card type. However, for me it looks like the register set for both types are equal and thus would respond equaly, atleast when it comes to initializing the cards. Has any of you been able to understand wath they are meaning here, I am a bitt slow today (also).
From the SD and MMC specs i find that the response of the CMD0 and CMD1 are identical. I first thought that maybe the MMC card always had atleast one 0xff before transmitting the response and that the SD card always responded immediate with valid response but i belive this is not true, i.e. its false, since the "Timing values" table says that time Ncr (time befor command respons) for MMC cards is between 1-8 Byte-time long and for SD it is said to be between 0-8 Byte-time long (1 Byte-time is 8 clk pulses). Thus I cant trust this information to detect the card type. Anyone had experience in detecting card types?
I have also thought aboute using the CID register, but i belive this information is to unreliable in content to be used in such a manner.
Thanks for any help provided...