Which SDIO connection need to use during design ?

pratik07
Posts: 1
Joined: Sat Dec 15, 2018 7:53 am

Which SDIO connection need to use during design ?

Postby pratik07 » Mon Dec 17, 2018 5:17 am

We have used the ESP-WROOM-32-U in our design and going to interface with SDIO as a host interface.

We have used below connection for SDIO in our design.
Pin13-IO14-SD_CLK
Pin23-IO15-SD_CMD
Pin24-IO2-SD_D0
Pin26-IO4-SD_D1
Pin14-IO12-SD_D2
Pin16-IO13-SD_D3

We observed that on EVK there are different pins used as an SDIO Connection.
Pin20-CLK
Pin19-CMD
Pin21-SD0
Pin22-SD1
Pin17-SD2
Pin18-SD3

Kindly confirm the SDIO connection for our design.

ESP_igrr
Posts: 2067
Joined: Tue Dec 01, 2015 8:37 am

Re: Which SDIO connection need to use during design ?

Postby ESP_igrr » Mon Dec 17, 2018 9:14 am

pratik07 wrote:interface with SDIO as a host interface.
Do you mean that ESP32 will be an SDIO host, or another MCU will be an SDIO host?

To determine which pins can be used, start with the "IO_MUX" table in the ESP32 datasheet, https://www.espressif.com/sites/default ... eet_en.pdf. This is in the appendix, close to the end of the document.

For SDIO host function of ESP32, either HS1_x signals or HS2_x signals can be used (two slots are supported, so two sets of signals).
For SDIO slave function of ESP32, SD_x signals are to be used.

Use the IO_MUX table to determine the pins which you need to use, based on the signals.
Also take into account the fact that on commonly available modules (such as ESP32-WROOM and ESP32-WROVER) some pins are used to connect the SPI flash chip. On both modules these are pins GPIO6-GPIO11. Same pins can not be used for both SPI flash and SDIO at the same time, so you need to do either of:

1. Use pins GPIO12,14,13,15,2,4 — these can be used for both of SDIO host and SDIO slave functions.
Screenshot 2018-12-17 at 17.12.11.png
Screenshot 2018-12-17 at 17.12.11.png (36.76 KiB) Viewed 3638 times
2. If you aren't using a ready made module, and using a plain ESP32 chip, you can connect SPI flash to an alternative set of pins (for instance, to VSPI pins), and then use pins GPIO6-GPIO11 for SDIO host or slave function. If you use alternative SPI flash pins, you need to use espefuse.py tool to burn chip efuses, setting the pins to which SPI flash is connected.

Who is online

Users browsing this forum: rsaxvc and 49 guests