This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3235S: Unable to achieve higher writing speed to SD CARD

Part Number: CC3235S


Hello,


Controller - CC3235S module
CCS version - 10.3.1
Compiler - TI v20.2.5.LTS
SD card - Transcend 32GB
SPI clock speed - 19 MHz

- We working on SD card, using the example code fatsd provided in simplelink_cc32xx_sdk_5_20_00_06.
- We are able to write data to the sd card.
- But to write 1MB of data to SD card.
- One shot buffer size 336 = 3.996 S
- buffer size 512 = 3.99 S
- buffer size 1024 = 3.98 S
- buffer size 1536 = 3.51 S
- buffer size 4096 = 3.44 S
- We are calling f_write function in a loop.
- In the below link benchmark for 32GB transcend is 1.8 MB per second with 4096 data written at a time, with 8-bit Atmega328p controller with 10 MHz spi clock.
elm-chan.org/.../rwtest1.png
When they are increasing the one shot buffer size ,there able to achieve faster rate writing data the SD card, but we are not able to achieve it.
Please help us to achieve 1MB transfer of data in one second and let us know were we are doing the mistake.

  • So you are using SD over SPI? not using the SD interface?

    First I must say that I'm not very familiar with the example and the third-party library (sdfat).

    Looking at your numbers (which are quite flat) seems that the interface idle most of the time. 

    can you provide a logic analyzer log showing the SPI lines in different buffer configurations?

    What OS are you using?   

    what is the "one shot" that you are referring to ? where is this defined? 

  • Thanks for your reply.
    We are using  fatsd example code, which uses interface type has SD Host , below we have attached the syscfg image.
    In the logic analyzer. We din't see any idle time in the SPI Clock line. 
    We are using TI-RTOS.O
    ne shot is reffered to the data written at a time to fwrite funtion .


      

  • I mean idle time between transactions. there must be idle time because the SPI/SD clock is 19/20Mhz (other wise you'll see data rate >2MB).