Colibri T20 256MB V1.2A
Custom board
WinCE 7 BSP 2.1 2018-02-20
Earlier this year, we started experiencing a serious problem with micro SD cards.
Randomly, at start-up, the operating system was unable to detect and mount them.
Now, since our card is designed to keep the SD inside the device’s shell and is not removable, there is no PIN for SD card detection, nor one that can be used for this purpose.
Furthermore, it is not possible to interrupt the power supply and only restart the hardware section of the SD card connector.
We are looking at the initialization of the SD card in more detail and have a question:
How can we tell which mode the SD Card is being used in on our devices? That is: SPI bus or Full SD?
If it helps, from what I can see in the registry, I don’t see any configurations other than the default (see attachment).
SD Card entries.reg (2.4 KB)
This question arises for the following reason:
"At the hardware level, our board is designed to support both modes.
For both modes, several SD manufacturers recommend initializing the SD with at least 64 clock cycles (see a screenshot from the enclosed Viking data sheet, where it is recommended to send more than 74 shots).
Part1_Physical_Layer_Simplified_Specification_Ver8.00.pdf (2.8 MB)
We measured 56 clock cycles on the device in my possession, so this seems low compared to what Viking says.
In fact, each byte transmitted involves 8 clock cycles, so we would need to go from the current 7 bytes sent to at least 10 bytes.
I have read that typically the value transmitted is hFF (dummy byte).
I can’t tell you what is sent to SD to date because first I need to understand the management mode (see first question above: SPI or full SD).
We have measured the clock frequency with which communication to SD takes place to date: 100 kHz (which corresponds to the recommended value in the case of an SPI interface)."
Could this lack of signals be the cause of the SD not being detected/mounted at start-up?
We are also trying to tweak the two TapDelay and PowerUpDelay registers mentioned here to see if it solves anything.
Thanks for your help.