Dear NXP groups
when I used the USDH1 peripheral of RT1052 to operate the sd card, I found that the USDH took too long to read and write the sd card block. The sdk version I used is SDK_2_13_0. Used is sdmmc_examples/sdcard_fatfs_freertos, sd clock is set to 198MHz, I use Sandisk 64G high-speed sdcard, sdcard correctly identified as SDR104, and fatfs file operation is normal, oscilloscope observed clk is indeed 198MHz
This is seriously beyond normal expectations. The block read and write time is too long, so it takes 1 to 2 seconds for my upper-layer FATFS to read and write 1M files. The high-speed read and write ability of SD card is very important for the project, and I think RT series with SD3.0 peripheral performance should not be at this speed. How to solve it.
attachment:
My system clock is configured as follows
I barely changed the sdmmc_examples/sdcard_fatfs_freertos code in the SDK
I can confirm that the testing process was rigorous
Apply critical code
Fatfs oprate sd mark
Continuous block read and write output from the serial port
Then the CLK waveform of the oscilloscope above appeared on the oscilloscope piece by piece, and the time I indicated with the cursor
Best wishes
I have same problem!
sdcard read speed only about 2MB/S !!!
No other thread running!
do you have another process running on the mcu?
Are you using the evaluation board?
regards
vicente
No other threads are running on the board
I found that i shouldn't be 1024 bytes every time and read 1024 times to oprate 1M,the underlying function has a minimum number of read blocks,underlying function will read or write data which its size is decided by upper function,if fatfs fuction read or write to little data,the underlying function will oprate many blocks but still return little data,it takes a lot of time.I modfy the cluster to 128K on PC,then fatfs write 1024*1024 byte,it take 41ms
if the the number of block reads and writes exceeds the range of the underlying function,what will happen