In the datasheet, it appears that the uDMA module does not have a channel that can be triggered by a PWM.
Is it still possible to setup a DMA channel to be triggered by a GP timer but transfer data from memory to the PWM compare registers?
Thanks
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.
In the datasheet, it appears that the uDMA module does not have a channel that can be triggered by a PWM.
Is it still possible to setup a DMA channel to be triggered by a GP timer but transfer data from memory to the PWM compare registers?
Thanks
Amit,
Thank you for your response.
Does this mean the PWM compare register can't be written to asynchronously?
I am new to this microprocessor but I am very familiar with the C2000 series. In the C2000 you can write to it asynchronously. Depending on the application, writing asynchronously may or may not be an issue but it can easily be done in the microprocessor.
Thanks
Amit, thank you again for your quick responses!
Since these registers are synchronous. Does that mean they need to be updated coincident with some event? Which event?
In my current case, I can run the timer at the same frequency as the PWM however, I don't understand how they are synchronized. What I want to do is to generate a pwm signal based on RAM values that are sent to the PWM on each PWM cycle by DMA. I need this to happen without any processor overhead. I can do this on C2000.
The reason why I am not using a C2000 is that this is a new and different application that requires more communication interfaces. The TIVA C development boards that we got seem like a good fit, however, I need to generate a high speed signal from the PWMs.
Thanks
I am finally at the point where can work on this. I have PWMs working. I also have uDMA working with a software trigger in BASIC MODE. I also believe I have the PWM triggering the DMA transfer once in BASIC MODE. What I need is for the PWM to continually trigger the DMA to sequence through a table of data and reset to the beginning of the table, all without software intervention. Again, the 28335 can do this.
I am experimenting with PING PONG Mode but that is not working yet. Right now, I am just trying to transfer one memory location to another but triggered from the PWM. It seems to trigger once but never again.
Once I can get it to continually trigger, I will try to get it to transfer data from a table, one entry per PWM trigger but then reset at the end of the table. Now that I am understanding this processor's DMA, I don't think it can do this?
The PWM trigger is happening at a very high frequency and can't have software intervention.
I found it!!!
I missed an important part in the documentation that says the interrupt does not get generated unless the last task has its mode set to UDMA_MODE_AUTO. I did that and I am now getting interrupts.
I must have read this many times and i just didn't see that. Additionally, you can have the last task, copy the initial structure state so that it loops on itself.
Thanks again for all the help!