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.

CC2642R-Q1: About the "Min DMA Transfer Size" of syscfg SPI

Part Number: CC2642R-Q1


Hello

Please tell me about the "Min DMA Transfer Size" of syscfg SPI.

We are implementing SPI using CC2642 and SIMPLE LINK-CC13X2-26X2-SDK_5.20.00.52.

How does the "Min DMA Transfer Size" of syscfg SPI affect the operation?
What is the standard for determining this setting value?

Is 10 the recommended value as in examples?
Is there any disadvantage when setting it to 1?

examples
ti\simplelink_cc13x2_26x2_sdk_5_20_00_52\examples\rtos\CC26X2R1_LAUNCHXL\drivers\spimaster\tirtos\spimaster.syscfg

  • Hello Masashi,

    Please refer to the SPICC26XXDMA.h module of the TI Drivers Runtime APIs: "When used in blocking mode small SPI transfers are can be done by polling the peripheral & sending data frame-by-frame. A master device can perform the transfer immediately and return, but a slave will block until it receives the number of frames specified in the SPI_Transfer() call. The minDmaTransferSize field in the hardware attributes is the threshold; if the transaction count is below the threshold a polling transfer is performed; otherwise a DMA transfer is done. This is intended to reduce the overhead of setting up a DMA transfer to only send a few data frames."  Basically, by setting the Min DMA Transfer Size to 1 instead of 10 then the hardware will consume more time in setting up the small DMA transfer than would be spent if data polling was simply used instead.

    Regards,
    Ryan