MATLAB: Extra signals DMA example epm Duty Cycle

c2000epwmMATLABsimulink

Hello everyone,
For my project I'm using MATLAB and SIMULINK to program the TI Launchpad. The program C2000 and Matworks both provide an example to generate a variable PWM signal. The link to this example is given here: https://nl.mathworks.com/help/supportpkg/texasinstrumentsc2000/ug/modify-epwm-using-dma.html
I could implement the signal without a problem, but now is my question how I can get three such variable signals out of the TI Launchpad. I tried understanding the program behind it, but without succes. The result I want in the end is a three phase inverter with 120° phase difference. Below you can see what I tried to do:
PWM_generator.JPG
I was able to get three signals on the Launchpad, but only one had variable pwm. More precisely, the one which was already present in the example. Hope you can help me with this issue
Thanks in advance!

Best Answer

Hi Gauthier,
That can complicate things as the DMA runs in steps of 1, picking next value from table until 500 such iterations are done to copy all entries from duty_cycle_table over a period of time where we get 1 full sine wave. However starting the source address with a offset will actually make the DMA overshoot the table entries as the transfer size is 500. It would call for complicated configuration of the DMA which I am not sure is currently supported. For more information on specific configuration of the DMA to suit an application scenario it would be best to talk to experts at TI E2E forum. Please can you accept the post as an answer so that in future we can guide customers to this looking for similiar information.
Regards,
Venkatesh C
Related Question