cancel
Showing results for 
Search instead for 
Did you mean: 

SDMMC peripheral in STM32L4A6 unable to run with the uSD card using 1.8V IO

BenDu
Associate

I have a new board design that interfaces an STM32L4A6 with a uSD card using 1.8V I/O. The SD Card is powered by 3.3V and supports the LVS mode of SD. The STM32L4 does not seem take account the SD specification 6.0. There is no auto detection mecanism of the signalling voltage level in this MCU. This MCU can not start in UHS-I 1.8V mode.

Do you know a MCU which can start the LVS identification sequence ?

1 ACCEPTED SOLUTION

Accepted Solutions

Yes, no SD card runs from the beginning with 1.8V. An identification sequence has been defined by the SD Association to enable LVS mode. Below is the description of the flow by the SD Association :

BenDu_0-1709717476340.jpeg

The host interface also needs to pull CLK high for 15 microseconds, followed by DATA2, and so forth, as specified.

 

At the end the SD card can run with 1V8 but the signals cannot initialize on 1V8.

Nowadays a level shifter seems to be always helpful to interface a 1.8V MCU to a SD card.

I 'm looking forward to seeing 1.8V SD card too.

View solution in original post

5 REPLIES 5
AScha.3
Chief II

Look in rm of your cpu, sdmmc possible speed is written there . 🙂

+

Afaik all STM cpus need external driver for working on 1,8V on any of this hi-speed modes;

many of the more recent cpus can do this,

see here from H7A3 rm :

AScha3_0-1709573821461.png

Without separate driver/level shifter only 3,3v modes possible.

If you feel a post has answered your question, please click "Accept as Solution".

On the H7 there are additional pins, and expectations of a Transceiver to allow for the 3.3V expected by the cards initially, and then dropped to 1.8V for the higher performance modes. 

You would likely need to run at 3.3V during the time you want to use MicroSD cards, or perhaps use eMMC devices where you provide the IO voltage for operation.

The L4+ I use we run at 3.3V, and the GPIOG to the modem we want at 1.8V. It's about the choices and trade-offs you make.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Do you know?

  • SD Card interface is designed as 3V3 logic (originally)?
    After the initialization phase it is possible to lower the voltage on SD card (SD cards have commands and responses to tell you what the voltage for SD card is to operate with)
    There can be a "negotiation" about the voltage needed for further operation of the card, lowering the voltage:
    But it means: you need an adjustable power supply, to lower from 3V3 to the voltage the card wants to see still.
  • Most SD Cards do NOT work with 1V8 (from the beginning, they need still the setup phase with 3V3 but you lower afterwards). So, at the end they can run with 1V8, but you cannot initialize on 1V8.
  • What you (and me) are looking for is: "Low Voltage Signaling" SD Card: (LVS)
    Low Voltage Signaling | SD Association (sdcard.org)

I am also looking for a solution to run SD cards just with 1V8 (not 3V3), but as I understand:

  • I have not found any SD card (any vendor) which says "the card would start with1V8 only"
  • most of the time, I understand: you have to configure card at 3V3 and change to 1V8 Low Level Signaling afterwards: they distinguish between voltage supply and signal levels needed (it can be still possible that card wants to see above 2V for supply, but signals can be 1V8 logic: I understand a bit: flashing (programming) the content might still need a higher voltage (internally), independent at voltage level as the CMDs come in).
  • hoping to see SD cards soon on market which run from the beginning with 1V8 - but I am not aware of any SD card which would work below 2.0V (I am in the process to try some cards with just 1V8 - but I am pretty pessimistic)

So, as long we do have not certified LVS cards on market - I am not really sure if "just 1V8" is possible for SD cards.
No idea what such a label would be. Just class 10, eSDHC, UHS-1, Samsung EVO Plus... does not tell you anything if SD cards is LVS compliant.

My hope is, that Micron i400 SD cards will do ("silently", they are the leaders in flash memories).

Please, keep us posted when you have found an SD Card vendor supporting 1V8 (right from the beginning of initialization). Thank you (I am also "hot" on this topic...)

Yes, no SD card runs from the beginning with 1.8V. An identification sequence has been defined by the SD Association to enable LVS mode. Below is the description of the flow by the SD Association :

BenDu_0-1709717476340.jpeg

The host interface also needs to pull CLK high for 15 microseconds, followed by DATA2, and so forth, as specified.

 

At the end the SD card can run with 1V8 but the signals cannot initialize on 1V8.

Nowadays a level shifter seems to be always helpful to interface a 1.8V MCU to a SD card.

I 'm looking forward to seeing 1.8V SD card too.

btd5
Associate II

Have you been able to get the card working on 1V8? I have created a function to do the initialisation of LVS and the card switches to 1V8, but the MX_SDMMC1_SD_Init() still errors out.