Other Parts Discussed in Thread: SYSCONFIG, MSPM0G3507
Tool/software:
Hi there,
Previously, I use XMSPM0L2228SPMR to access SD cards in SPI mode. It works well with SCLK up to 16MHz. After replacing XMSPM0L2228SPMR with the mass production version MSPM0L2228SPMR, the SD card can't be correctly read any more.
When initializing SD card, SCLK is running at 200kHz, it works fine. After initialization, SCLK is switched to higher frequency, for example, 4MHz. Then it can no longer work. The first command after initialization is READ_MULTIPLE_SECTOR. After sending this command, a command response 0x00 is received. Then a "data start token", 0xFE, is expected to be received when the SD card is ready to transmit data. For the token stage, I can verify by an oscilloscope that bytes 0xFF 0xFE 0x00 are transmitted from SD card. But from MSPM0L2228 debugger, bytes 0xFF 0xFF 0x00 are received.
I have tested SCLK at 1MHz, 2MHz, 4MHz, 8MHz, 16MHz. 1MHz is working correctly. 2MHz can't work sometimes. 4/8/16MHz can't work at all.
It looks like the SPI receiver is not sampling the SOMI data at correct timing. But the trace length from MCU pinout to SD card is less than 10cm. I don't think signal propagation delay is an issue. Btw. I also see the signal waveform is pretty good on oscilloscope.
Any idea?
Robert.


