cancel
Showing results for 
Search instead for 
Did you mean: 

How can I measure sd card default speed?

SHEHERHER
Associate II

hi every one ~~!!

I am using STM32h743bit6.

How can I measure sd card default speed?

SDIO_CLK?

SDIO_CMD??​


_legacyfs_online_stmicro_images_0693W00000bk9iqQAA.png

2 REPLIES 2

Measure it, or compute it?

You can unpack the source speed via the RCC selection and pll settings, and how it's divided via SDMMC registers.

Scope SDIO_CLK during interactions.

I​ suspect 200 MHz operation on the wire is somewhat fanciful as electrically this would be quite challenging and the data volume close to unhandleable. Here I suspect it allows the use of both clock edges of a 100 MHz clock signal of 100 MHz on the wire if you can negotiate the memory into that mode and you have a transceiver.

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

Thank you for answer.

I want to measure.

and BSP_SD_Init(); In , it was defined as:

uint8_t BSP_SD_Init(void)

{

  uint8_t sd_state = MSD_OK;

  /* uSD device interface configuration */

  uSdHandle.Instance = SDMMC1;

  uSdHandle.Init.ClockDiv = 1;

  uSdHandle.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;

  uSdHandle.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;

  uSdHandle.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;

  uSdHandle.Init.BusWide = SDMMC_BUS_WIDE_4B;

  /* Initialize IO functionalities (MFX) used by SD detect pin and Transceiver MFXPIN */

  //BSP_IO_Init();

  /* Check if the SD card is plugged in the slot */

  //BSP_IO_ConfigPin(SD_DETECT_PIN, IO_MODE_INPUT_PU);

  /* Initialise Transciver MFXPIN to enable 1.8V Switch mode */

  //BSP_IO_ConfigPin(SD_LDO_SEL_PIN, IO_MODE_OUTPUT_PP_PU);

  if(BSP_SD_IsDetected() != SD_PRESENT)

  {

   return MSD_ERROR_SD_NOT_PRESENT;

  }

  /* Msp SD initialization */

  BSP_SD_MspInit(&uSdHandle, NULL);

  /* HAL SD initialization */

  if(HAL_SD_Init(&uSdHandle) != HAL_OK)

  {

   sd_state = MSD_ERROR;

  }

  return sd_state;

}

And what does it mean to calculate?

I ported the SD card to sandisk extreme pro 32gb.