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.

DMA with timer in PWM Mode

I am using the DK-TM4129x, and I want to use a timer that is in PWM mode to trigger the DMA.  This question came up more than 3 years ago (I tried to paste the link and the interface went crazy, sorry).  The answer at that time (per Stellaris Joe) was that this is not possible.  Now there is new silicon, new datasheets (clearly states that this is possible), and new errata, and none of these mention that this is still an issue, so it would seem to be wrong to assume that this problem has not been fixed already.


So, can anybody confirm that this is possible?  I am trying and I think I have all the settings correctly.  I have done a lot of DMA programming over the years with LM3S and now TM4C devices, and I can't see that I'm doing anything wrong.  If someone can confirm that this is indeed possible, or not possible, that would be a great help.

Dustin

  • Not surprisingly - I recall your name & (vaguely) that post!

    Minus the link - I don't believe that you've fully/properly - detailed your desire

    It would appear (I sense) that you seek to transfer the, Timer-based "PWM values."   Is that correct?

    While the Timer is quite effective in generating PWM - the specific (and resulting) PWM signals (i.e. values) may not be available to the µDMA.

    Surely vendor's Amit will arrive - w/response (beyond) my "sense."   It might serve you (and he) best by expanding your detail...

  • Hello Dustin

    A timer can be used to generate DMA request. Can you please share the configuration of the Timer that you have?

    Regards
    Amit
  • Thanks, I remember you as well! I used to be fairly active on the Stellaris board. Below is the link to the previous question. All I want is for the DMA to be triggered by the timer when it is in PWM mode. I have no trouble configuring the DMA for a timer in periodic mode, but it doesn't seem to work in PWM mode, and the post below has me concerned that there may not be a way to make it work. (It is partly academic now, I have since implemented this with a second timer, per the suggestions in the thread)

    e2e.ti.com/.../160823
  • Hi Amit & (returning) poster Dustin,

    We ALL know that a Timer is well able to generate a µDMA request.

    Poster reports that when that Timer is ordered into PWM Mode - that Timer's, "generate/trigger of µDMA" becomes broken! (or altered)

    Way outside my "zone" Amit - might the fact that, "When in PWM mode - that is the (only) means by which the Timer's output signal may "attach" to an MCU's external pin! (i.e. output)   It is the (apparent) complexity/routing of this switching mechanism which (may) break the linkage to µDMA...   (this is pure SWAG)

  • OK, so I have determined that this is not a PWM Mode issue. I was able to get it to work using timer1 (I had been using Timer 3). I apologize, but the aforementioned thread led me down the path of potentially blaming the silicon.

    The real problem is that I can't get DMA to work with Timer3, probably because it is one of the secondary DMA channels and I am missing a configuration step. That is for another thread. Again, I apologize for adding to the noise.

    Thanks CB1 and Amit for your attention to this.

  • Hello Dustin

    You would need to use uDMAChannelAssign with the new encoding for channels and encode values in udma.h for alternate mapping to work for Timer 3

    Regards
    Amit
  • See Dustin - that's just what I said... (during my writing to Mars and/or Pluto - unfortunately NOT Here!)

    Thank you Amit - I'm "getting outta Dodge now - while getting is good!"    (May I claim "brain-freeze" due to Chi's -2°F temperature?)