2020-12-22 02:29 AM
Hi,
I'm trying STM32F769I-DISC1 board with an Sd Card 8 GB Class 4 (4MB/s max) performance, the SD Card is FAT32 with 4096 bytes blocks to fullfill STM32CubeIDE allocation unit values. I build the testing project with the onboard SDMMC2 with RX and TX on DMA as 4 bit wide. I'm using FATFS to write data with f_write() function. With this setup I achieved 800 kB/s but I need 192000 freq * 3 bytes * 2 channel = 1152 kB/s or more. A thing that I don't understand is why if I change PLLSDMC frequency, SD Card will have same performance with 48MHz clock (/8) or 25 MHz clock(/15)... Do you know some tips to increase performance? Thank you very much, the product is great actually permit to record 96kHz * 24 bit * 2 channel audio streams.
Solved! Go to Solution.
2020-12-22 03:13 AM
Hi, thank you. I was trying with a base Kingston 8 GB Class 4 bought at discount price, that gets 0.8 MB/s... trying an anonimous one 8 GB Class 4 now gets 1.8 MB/s. So it was the poor SD Card performance, thx. STM32CubeMX is a must have =)
2020-12-22 02:40 AM
Large aligned blocks tends to be the key. The card ultimately dictates speed.
I tend to unpack the register settings for clock sources, dividers and bus width to verify what I'm actually working with.
Try some SanDisk SDHC/SDXC cards.
2020-12-22 03:13 AM
Hi, thank you. I was trying with a base Kingston 8 GB Class 4 bought at discount price, that gets 0.8 MB/s... trying an anonimous one 8 GB Class 4 now gets 1.8 MB/s. So it was the poor SD Card performance, thx. STM32CubeMX is a must have =)