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: Start DMA using timer interrupt signal

Part Number: TMDS64EVM


Tool/software:

Hello TI support team.

I'd like to run DMA using a timer interrupt on the AM64 CR5 core.
Is it possible to run DMA using the timer interrupt signal as a trigger without writing code to start DMA in the timer interrupt handler function?
Please let me know if you have any sample code.

Is it possible to synchronize two other timers (for example TIMER1 and TIMER2) and start counting?
If there is a way to do this, please let me know the code.

SDK is mcu_plus_sdk_am64x_09_00_00_35.

Best regards,
Kiyomasa Imaizumi.

  • I'd like to run DMA using a timer interrupt on the AM64 CR5 core.
    Is it possible to run DMA using the timer interrupt signal as a trigger without writing code to start DMA in the timer interrupt handler function?
    Please let me know if you have any sample code.

    Is it possible to synchronize two other timers (for example TIMER1 and TIMER2) and start counting?
    If there is a way to do this, please let me know the code.

    Hello Kiyomasa Imaizumi.,

    What is the use case here ? 

    Do you want to transfer data from Memory to Memory or Peripheral to memory or Memory to Peripherals ?

    The MCU+SDK doe not support the your requirement .

    Can  you please share your full requirements? 

    So, that I can try to help you with how to do them.

    Regards,

    Anil.

  • Hello Swargam Anil.
    Thank you for your reply.

    I'd like to discuss use cases etc.
    Is it possible to communicate privately by email or some other means rather than e2e?
    (If there is a fee for consultation, I will continue with e2e.)

    Best regards,
    Kiyomasa Imaizumi.



  • Hello Kiyomasa Imaizumi,

    I need to check best practices on this with other experts .

    Regards,

    Anil.

  • Hello Swargam Anil

    Regarding the question I asked in private chat, when can you expect a reply?

    Best regards,

    Kiyomasa Imaizumi.

  • Hello Kiyomasa Imaizumi,

    I have seen your requirement and need some more clarification. 

    Currently, I am in other escalations and you may get a reply by next week.

    Regards,

    Anil.

  • Hello Swargam Anil.

    How is the progress since then?
    Please contact us.

    Best regards,
    Kiyomasa Imaizumi.

  • Hello Kiyomasa Imaizumi,

    Sorry for the delayed replies. Your requirements are as below.

    For the 128KHz we need to transfer 1Byte on the SPI TX line.

    After completion of the above 32 transactions, which exactly complete the 0.25msec(4KHZ), we need to transfer same one byte of data on the SPI line with a different buffer.

    Based on my analysis, the DMA is not used for lower data rates, like 1byte, and it is not possible to achieve your requirements with the DMA.

    I hope your application can be implemented with SPI +Timer only and go with the SPI LLD driver.

    In this case, the SPI is directly written to the Register level.

    But, here you frequently get interruptions by 7.8usec.

    Implementation Approach:
    1. Configure a Timer:
    • Set it up to trigger an interrupt every 7.8 µs (128 kHz).
    • In the ISR, write 1 byte to the SPI TX register.
    2. Use SPI in Register Mode (LLD):
    • Directly write the data to the SPI data register.
    • Ensure the SPI peripheral completes the transmission before sending the next byte.
    3. Handling 4 kHz Buffer Switching:
    • After 32 SPI transfers (0.25 ms), switch to a different buffer.
    • This logic can be handled in the timer ISR .


    Regards,
    Anil.