cancel
Showing results for 
Search instead for 
Did you mean: 

Comparison between SDMMC performance of H7 series and a question...

HTajb.1
Associate III

Dear experts,

1-Has anyone compared the "speed of data transfer" practically in STM32H7 series to transfer multiple blocks of data(between a micro SD card and the internal RAM),in these conditions (mentioned below)? 

a-Using FATFS in DMA mode 

b-Using HAL functions directly in the program for DMA mode.

c-Using voltage transceivers .

(Presumably,by using voltage transceivers and setting the right clock and DMA,the speed of data transfer,would be the highest.But I want to be sure about practical experiences.)

2-Has ST suggested a specific "SD card",which is suitable for their chips(with maximum

performance and speed)?

I really appreciate your consideration.

5 REPLIES 5
TZARDI
Associate III

​Hello,

I suggest you take a look at this application note AN5200 and this presentation they may help.

Br,

HTajb.1
Associate III

Hello TZARDI,

Thank you so much for your reply .I took a look at the references ,which you introduced me, before.

Let me ask my questions this way:

As far as I know, SD cards, is based on "requests-responds". Microcontroller sends a request through SDMMC host interface to SD card, SD card processes this request and replies back to the micro-controller.

Also, I read and followed almost all comments of clive1(NFA Crew) about working with SD cards in ST community . Somewhere, he mentioned something like this : "The microcontroller which is inside the SD card, is inherently slow. " 

Consequently, the processing time of the request, accepted by the micro controller of SD card, can not be ignored, in some situations .

I have worked with the SDMMC host interface of one of the chips from H7 series, very well, but without using voltage transceivers .(Unfortunately, I don't access to the eval. board which uses voltage transceivers.)

If I use voltage transceiver, can it decrease the processing time of the microcontroller inside the SD card, somehow?(It doesn't, I suppose.)

Is there any SD Card in the market, which has the best quality and suggested by ST?(Least processing time and the fastest one).

Your consideration is highly appreciated.

Regards,

HT . 

One of the real tricks with the cards is to do adequately sized data transfers so the command/response interaction becomes a diminishing part of the total time.

If you do a sector at a time, that is always going to be very slow. Something close to the erase block size would be ideal, but the STM32 parts usually don't have enough RAM to pull that off, and none of the file system/drivers have any caching or elevator write type support.

Doing small and unaligned interactions with FATFS f_read() / f_write() are also going to be slow. You should implement buffering to manage that better.

The H743I-EVAL board had transceivers, but these only really come into play with cards using extended ultra mode, like DDR, and I don't think the drivers have been well tested/characterized in such modes.

One should be able to hit into the 20 MBps realm for reads on most SDHC/SDXC cards.

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

At a 50 MHz SDMMC bus, looking at 19.38 MBps reads off a SanDisk Ultra, at 75 MHz 26.40 MBps reads, 12-13 MBps writes, at 112.5 MHz 35 MBps/12-14 MBps, without transceivers, or extended modes.

0693W000005CDSMQA4.jpg

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

Hi Clive,

Thank you so much for your replies .

Regarding first part of your reply: I already knew your opinions, cause you recommended me before .

Regarding second part of your reply: I will purchase this uSD card for more testing .

Regards,

HT.