Skip to main content
Visitor II
January 11, 2015
Question

SDIO Bit Start Error with STM32F407VGT6 and STM32CubeMX

  • January 11, 2015
  • 2 replies
  • 1259 views
Posted on January 11, 2015 at 20:46

I'm having problems with communication through SDIO. In the initialization process, where are only sent commands, everything works, but the function HAL_SD_SendSDStatus is returning SD_START_BIT_ERR.

Informations about the circuit and firmware:

-STM32CubeMX v4.5.0 and STM32F4 library v1.3.0

-Clock always 400kHz (to ensure that I will not have problems with the bus speed in the tests)

-It uses the internal pull-up of the microcontroller

-Several sd cards were tested, all of them >=4GB and >=class 4, with FAT32

After debugging, I found that the problem happens in the code snippet (below) of the file stm32f4xx_hal_sd.c within the HAL_SD_SendSDStatus function:

   

/* Configure the SD DPSM (Data Path State Machine) */

    sdio_datainitstructure.

DataTimeOut

=

SD_DATATIMEOUT

;

    sdio_datainitstructure.

DataLength

= 64;

    sdio_datainitstructure.

DataBlockSize

=

SDIO_DATABLOCK_SIZE_64B

;

    sdio_datainitstructure.

TransferDir

=

SDIO_TRANSFER_DIR_TO_SDIO

;

    sdio_datainitstructure.

TransferMode

=

SDIO_TRANSFER_MODE_BLOCK

;

    sdio_datainitstructure.

DPSM

=

SDIO_DPSM_ENABLE

;

    SDIO_DataConfig(hsd->

Instance

, &sdio_datainitstructure);

   

/* Send ACMD13 (SD_APP_STAUS)  with argument as card's RCA */

    sdio_cmdinitstructure.

Argument

= 0;

    sdio_cmdinitstructure.

CmdIndex

=

SD_CMD_SD_APP_STAUS

;

    SDIO_SendCommand(hsd->

Instance

, &sdio_cmdinitstructure);

Before call the SDIO_DataConfig function, the SDIO_STA register is 0, after call this function, the bits RXFIFOE and RXACT goes to 1, what is expected. After call the function SDIO_SendCommand with the command ACMD13, the bits RXFIFOE and RXACT goes to 0 and the bits STBITERR and CMDREND goes to 1. Here is where the problem happens.

Could anyone help me with this?

thanks,

Silas

#sdio #wait-for-you--clive1-!-!-! #stm32 #stm32f4 #sd
    This topic has been closed for replies.

    2 replies

    Visitor II
    January 12, 2015
    Posted on January 12, 2015 at 21:37

    Hi,

    I'm developing a project that uses SD card and I am having the same problem described here. Silas, if you solve this problem or somebody here knows how to solve, please, let me know.

    Visitor II
    November 2, 2024

    is the question relevant?