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.

AM62A7: Timer Interrupt used to Trigger UDMA

Part Number: AM62A7


Tool/software:

Hello TI DEV,

I followed a guide in below link to trigger udma with the help of GPIO. 

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1378150/faq-how-to-trigger-dma-with-the-help-of-gpio-on-am64x-am243-and-am62x-devices.

I wonder if there is a way to trigger UDMA using Timer Interrupt with a precise timing delay without the use GPIO interrupt. I checked the ADC datasheet as shown below where tConv is between 3.45us to 4.2us. Let's say, If I add a timing delay approximately 5us, which is from CONVST rising edge to BUSY falling edge, in the timer interrupt, UDMA starts the data transfer from ADC to a buffer. Could you please enlighten me on this point?

Thank you.

  • Hello Sopheap Key,

    Can you please confirm if you are trying to implement this requirement on MCU R5F core or A53 core or DM R5F core ?

    Can you please share the datasheet on which the ADC you are interfacing ?

    How to interface in between SOC with the ADC ? With SPI or GPIO or any other method ?

    Regards,

    Anil.

  • Hello Anil,

    I am trying to implement on C7x core only. Currently, I am using AD7606 8-Channel ADC connected to SoC via GPMC. I found another thread regarding timer to trigger UDMA. It was recommended to use CMP_EVT_INT and I followed it but I had an error regarding "sciclient config failed"

    e2e.ti.com/.../4785658

    Regards,
    Key

  • Hello Key ,

    Please look at the chapters below.

    The TIMER PWM module event is routed to the TIMESYSNCHEVENINTR and the TIMESYNCH Router output is routed to the L2G (Local to Global).

    From the L2G output we can trigger the DMA and this is possible with the TIMER PWM. For example, you need to transfer data every 1sec, then we need

    to generate a PWM signal from TIMER modules.

    Then the 1sec event automatically triggers the DMA.

    This example is not available in the MCU+SDK based on the above FAQ. You need to make this example work.

    Regards,

    Anil.

  • Hello Anil,

    I have a question regarding this configuration. Should I trigger the UDMA in timer callback function or timer init function? Another thing, I already routed the TIMESYSNCHEVENINTR to L2G event. For example, I am currently using Timer_PWM_0 and route to L2G event number 8. Below it is what I have done so far with timer to trigger UDMA. Could you please check and give me some insight?

    Regards,
    Key


    udma_am62ax-sk_c75ss0-0_freertos_ti-c7000_test.zip

  • Hello Key ,

    The above code does not work out.

    You have configured Timer in Generic Timer mode and generated an interrupt.

    To trigger DMA, we need to configure the Timer in PWM mode.

    We don't have examples of this feature.

    So, try the FAQ below to enable PWM from the Timer Module in C7X and this FAQ is available on M4F core and the same procedure is applied for the C7X.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1377521/faq-processor-sdk-am64x-how-to-create-a-pwm-using-a-timer

    First, validate the Timer PWM module.

    After completing this testing and please let me know, I will share further steps.

    Regards,

    Anil.