Hi all,
Can anybody please tell me what should be the initialization sequence of micro sd card above 2GB? I am new to this forum and my mcu is cc2541 and not msp430 series but i am using sample code of sd card interfacing with msp430 provided at
I have ported my hardware based on this sample code. I am able to read and write data into micro sd card(2GB) but not able to interface 16GB card. I have gone through several posts related to this topic on ti forum as well as non-ti. I have found common answer to this problem as we need to change the initialization command i.e.CMD1 needs to be replaced with cmd55 followed by ACMD41. I have tried with following sequence
// set MMC in Idle mode
char mmcGoIdle()
{
char response=0x01;
CS_LOW();
//Send Command 0 to put MMC in SPI mode
mmcSendCmd(MMC_GO_IDLE_STATE,0,0x95);
//Now wait for READY RESPONSE
if(mmcGetResponse()!=0x01)
return MMC_INIT_ERROR;
while(response!=0x00) //modified to wait until micro sd card is ready for read and write
{
CS_HIGH();
spiSendByte(DUMMY_CHAR);
CS_LOW();
//mmcSendCmd(MMC_SEND_OP_COND,0x00,0xff); //uncomment this line to interface 2GB card
mmcSendCmd(0x77,0x00,0xff); //cmd55 //comment this line to interface 2GB card
mmcSendCmd(0x69,0x00,0xff); //ACMD41 //comment this line to interface 2GB card
response=mmcGetResponse();
}
CS_HIGH();
spiSendByte(DUMMY_CHAR);
return (MMC_SUCCESS);
}
Most probably there is problem in sending this cmd55 and ACMD41. May be CRC byte be wrong.
Can anyone please help me out in troubleshooting this problem?
I want to know what changes i need to do to interface card>2GB in the original sample code provided for msp430?
thanks