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.

TMDS64EVM: There is a blank time during data transfer in MCSPI Interrupt mode.

Part Number: TMDS64EVM
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hello TI support team.

There is a difference in data transfer between MCSPI's DMA mode and Interrupt mode.
The SDK is mcu_plus_sdk_am64x_08_06_00_45.
20 bytes of data are transferred.
Attached are waveform images and settings images for data transfer in both modes.

In DMA mode, 20-byte transfers occur smoothly.
In Interrupt mode, there seems to be a wait after 16 bytes.
What could be the cause of this?
What settings are necessary to transfer data without waits in Interrupt mode?

By the way, when I changed the "Fifo Trigger Level for TX" in Interrupt mode from 16 to 32,
I confirmed that 20 bytes were transferred without any waiting time.
However, when I set the value to something other than 16 or 32, such as 20, the data was not even transferred.
Why is there no data transfer?

Best regards,

Kiyomasa Imaizumi.

  • Hi,

    Thanks for your question.

    Allow me sometime to get back to you.

    Regards,

    Vaibhav

  • Hi,

    I have read through your entire query.

    So there are lot of elements in this.

    Since you are baselined on an older version of the SDK, hence you do not see the improvements made to the SysConfig tool in general.

    The latest SDK will contain all the things which I mention here onwards.

    Before you read through my below response please go through the following FAQ:  [FAQ] SK-AM64B: MCSPI Integration Guide 

    Please read my separate response which will answer all your open queries.

    Thanks,

    Vaibhav

  • Regarding SysConfig:

    The values which you see for TX and RX Fifo Trigger level are to be selected as power of 2, since you are using older version hence the update is not seen on your end. The newer version has this update as can be seen below:

    For Interrupt mode:

    The data will be sent in chunks of Trigger level being set in the SysConfig, hence every interrupt which initiate the 16 bytes or x number of bytes where x is the TX Trigger level.

    Hence the split is seen in the waveform and is expected to be there.

    Let me know if you need any additional pointers on this, or you want me to refer you to the SW code where this is actually implemented.

    For DMA mode:

    I am going to give this a run by myself and check if I see the same, but either way I will provide an explanation referencing the drivers.

    Thanks,

    Vaibhav