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.

TMS320F28379D: Increase the writing speed of the SD card : TMS320F28379D Control CARD

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Hi,

Is there a way to increase the writing speed of the SD card?

<Setting excerpt>
SpicRegs.SPIBRR.all = 1;
SpicRegs.SPICCR.bit.HS_MODE = 0x00;

// SysTickHandler --This is the handler for this SysTick interrupt. FatFs requires a timer tick every 10 ms for internal timing purposes.
__interrupt void
SysTickHandler (void)
{
// //
// Call the FatFs tick timer.
// //
disk_timerproc ();
PieCtrlRegs.PIEACK.all | = 1;
}

Is it possible for SysTick to be faster than 10ms?

[Reference sample]
C: \ ti \ c2000 \ C2000Ware_3_02_00_00 \ device_support \ f2837xd \ examples \ cpu1 \ sd_card

Thanks in advance.

  • Hi ,

    You can reduce the SysTick interrupt frequency. However the SD card you are writing will also have a limitation of writing speed.

    Best Regards

    Siddharth

  • Thank you for your reply.

    Q1 : What is the relationship between SYSTick interrupt frequency and SD card write speed?

    Q2 : Is only SysTick interrupt frequency related to SD card write speed?

    Q3 : How many specifically can you reduce the SYSTick interrupt frequency?

    Q4 : If it is class 10 of microSDHC, what can be the Systick interrupt frequency?

    Thanks in advance.

  • Hi,

    This example you are referring to demonstrates reading/writing to a file system from an SD card. It makes use of FatFs, a FAT file driver ("dual_disk_driver.c") which requires a timer tick every 10 ms for internal timing purposes.

    1. SD card should be able to support the frequency at which you are sending out data for writing. SysTick Handler calls "disk_timerproc" which waits and checks the status of the SD card (if it is still inserted etc)

    2. SysTick Handler also checks the status of the SD card. Refer the "disk_timerproc" function in C:\ti\c2000\C2000Ware_3_02_00_00\device_support\f2837xd\common\deprecated\third_party\fatfs\port\sample_mmc.c

    3. Not sure, can you elaborate on your question

    4. The function "Cmd_write" is used for writing to the SD card. Systick is called every 10ms to make sure that the SD card is able to process the data and is in valid state.

    Best Regards

    Siddharth