SD port power domain on FX3S/SD3 board

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
NaMo_1534561
Level 5
Level 5
Distributor - Macnica (Japan)
100 replies posted 100 sign-ins 50 replies posted

Hello,

I have a question about schematic design of SD port power domain.

Our customer's system uses the UHS-I SD memory card. I heard that the UHS-I SD memory card uses 3.3V signal voltage at initialization and then shifts to 1.8V.

How do I switch the I/O voltage in FX3S (or SD3)?

Does FX3S (or SD3) dynamically switch the I/O voltage?

Or is it necessary to switch the power supply circuit from 3.3 V to 1.8 V externally?

Please share the reference circuit diagram of FX3S (or SD3).

I accessed http://www.pactronstore.com/ but I could not access it due to a security warning.

Regards,

Naoaki Morimoto

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
KandlaguntaR_36
Moderator
Moderator
Moderator
25 solutions authored 10 solutions authored 5 solutions authored

Yes, the UHS-I SD memory card uses 3.3V signal voltage at initialization and then shifts to 1.8V.

How does it switch the I/O voltage?

We need an external regulator which shifts the voltage from 3.3 V to 1.8 V. This shifting will be controlled by the GPIO provided in the intfparams.

First, We have to set the parameters of the interface in such away that port supports the lowvoltage operation. This can be done by passing CyTrue to intfParams.lowVoltage. If it is true, next provide the GPIO which can be used for controlling the regulator. This should done in the application firmware.

And you have to connect the configured GPIO to regulator.

Looking for the card specification and asserting the GPIO, if required, is handled in the library.

In USB RAID 1 example project provided with the App Note AN89661, we have configured the port 0 parameters as follows:

intfParams.resetGpio      = 0xFF;                   /* No GPIO control on SD/MMC power. */

intfParams.rstActHigh      = CyTrue;                /* Don't care as no GPIO is selected. */

intfParams.cardDetType    = CY_U3P_SIB_DETECT_DAT_3;/* Card detect based on SD_DAT[3]. */

intfParams.writeProtEnable = CyTrue;                /* Write protect handling enabled. */

intfParams.lowVoltage      = CyTrue;       /* Low voltage operation enabled.*/

intfParams.voltageSwGpio  = VSEL_S0_GPIO;  /* Use GPIO_12 for voltage switch on S0 port.*/

intfParams.useDdr          = CyTrue;                 /* DDR clocking enabled. */

intfParams.maxFreq        = CY_U3P_SIB_FREQ_104MHZ;   /* No S port clock limitation. */

intfParams.cardInitDelay  = 5;                         /* No delay required between SD card insertion

                                                                  before initialization. */

status = CyU3PSibSetIntfParams (0, &intfParams);

Refer the attached Schematic of FX3S RAID-ON-CHIP USB DONGLE, we have connected the VSEL_VIO2 (GPIO 12) to regulator U1 in page 6. This GPIO will triggered when you insert the UHS-I card.

    

View solution in original post

0 Likes
1 Reply
lock attach
Attachments are accessible only for community members.
KandlaguntaR_36
Moderator
Moderator
Moderator
25 solutions authored 10 solutions authored 5 solutions authored

Yes, the UHS-I SD memory card uses 3.3V signal voltage at initialization and then shifts to 1.8V.

How does it switch the I/O voltage?

We need an external regulator which shifts the voltage from 3.3 V to 1.8 V. This shifting will be controlled by the GPIO provided in the intfparams.

First, We have to set the parameters of the interface in such away that port supports the lowvoltage operation. This can be done by passing CyTrue to intfParams.lowVoltage. If it is true, next provide the GPIO which can be used for controlling the regulator. This should done in the application firmware.

And you have to connect the configured GPIO to regulator.

Looking for the card specification and asserting the GPIO, if required, is handled in the library.

In USB RAID 1 example project provided with the App Note AN89661, we have configured the port 0 parameters as follows:

intfParams.resetGpio      = 0xFF;                   /* No GPIO control on SD/MMC power. */

intfParams.rstActHigh      = CyTrue;                /* Don't care as no GPIO is selected. */

intfParams.cardDetType    = CY_U3P_SIB_DETECT_DAT_3;/* Card detect based on SD_DAT[3]. */

intfParams.writeProtEnable = CyTrue;                /* Write protect handling enabled. */

intfParams.lowVoltage      = CyTrue;       /* Low voltage operation enabled.*/

intfParams.voltageSwGpio  = VSEL_S0_GPIO;  /* Use GPIO_12 for voltage switch on S0 port.*/

intfParams.useDdr          = CyTrue;                 /* DDR clocking enabled. */

intfParams.maxFreq        = CY_U3P_SIB_FREQ_104MHZ;   /* No S port clock limitation. */

intfParams.cardInitDelay  = 5;                         /* No delay required between SD card insertion

                                                                  before initialization. */

status = CyU3PSibSetIntfParams (0, &intfParams);

Refer the attached Schematic of FX3S RAID-ON-CHIP USB DONGLE, we have connected the VSEL_VIO2 (GPIO 12) to regulator U1 in page 6. This GPIO will triggered when you insert the UHS-I card.

    

0 Likes