cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to access SD Card using SDIO in F446RET6

Abin
Associate III

Hai all,

I am using SDIO protocol for interfacing SD card with STM42F446RE.But While accessing the SD card, I am facing the following issues.

1. Unable to access the card, even the card size , free space etc

2. Also unable to open directory, and files.

 

Here I am using SDIO 4bit bus mode. FATFS enabled with minimum sector size 512 and maximum 4096.

I tried with external pull up resistors of 10k in each data lines(D0 to D3) and CMD lines.

Bit still I am unable to connect with SD card,

Please help me

1 ACCEPTED SOLUTION

Accepted Solutions
Abin
Associate III

Hai All, 

I want to mention my points about the SDIO protocol in the F446RE Nucleo Board.

1. First I checked the Clock frequency and verified that it is always 381 KHz all the times. The image from the oscilloscope is attached here.

2. Even if the frequency input for APB2 is divided with any prescalar value , the same 381 KHz is maintained.

It is not increasing or decreasing.

3. I have tested the same with an SDIO module which is purchased via online for hardware side verification. Unfortunately there is no change.

So , I assume that SDIO is not suitable for F446RE Nucleo or STM32f446RE microcontroller series.

Please give a response to my observations.Wave_SDIOMod.pngSDS00007.png

 

View solution in original post

14 REPLIES 14

What board is this on?

What software?

What testing/debugging/investigation have you done so far?

Please see the posting tips:

https://community.st.com/t5/community-guidelines/how-to-write-your-question-to-maximize-your-chances-to-find-a/ta-p/575228

 

I am using NUCLEO-F446RE (MB136 rev C) board.

I am using Cube IDE V1.16.1.

Actually I have done the following checking from my side.

-- This is initially I checked in NUCLEO l476RG using SDMMC with 4 bit mode and SPI it was working fine.

-- While I migrated to F446RE , I am facing the issue.

-- Here I kept the frequency as 180MHz and clock division in (SDIO CLock Div) as 4.Even I changed to 6, 8 etc.

-- Connected the SD card slot with each pin 10K pull up resistors externally, except for CLK line.

If I want to do anything else please tell me

Have you stepped through your code to see where, exactly, it is failing?

Have you used an oscilloscope or logic analyser to see what (if anything) is actually happening on the wires?

Compare & contrast what happens on the (working) NUCLEO l476RG and the (non-working) F446RE 

NUCLEO-F446RE hardware can't support SDIO directly.

To get the support , what we need to do? Any external circuit or hardware do we need to interface?

How did you do it on the NUCLEO L476RG ?

In L476RG, I have used SDMMC.Not SDIO.I faced connectivity issue in L4 series also.But It was detected and got SD card information such as freespace, total space etc.It was not 100% successful.That's is the reason I gone through SPI and FATFS.It was 100% successful.

unfortunately, in F446RE nucleo board, SPI based SD card interfacing was unsuccessful.I have cross verified with another two F4446RE boards.The same issue happend.

Is it with microcontroller or Board?

As per my knowledge, we need to give 10k pullup resistor externally to each lines(D0-D3 , CMD) except CLK.Is there any extra hardware components added in the Nucleo F446RE series.Could you please tell me.