UC3 DMA capabilities

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Based on my reading of the data sheet, it seems the DMA in the UC3 is not very flexible. It seems to only be usable for transfers to/from specific peripherals.

Can the U3C DMA be used to do memory to memory transfers?

Could the DMA be used to output data onto port pins?

For example, I have used another micro in the past where you could set a timer as the DMA trigger and set the destination address as the port output register.

It looks like both of the above will be possible with the new xmega.

I have an application in mind where I want to be able to do this, so I hope I am just interpreting the UC3 data sheet incorrectly.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

Current UC3 DMA is not a full-feature DMA. It is called PDCA for "Peripheral DMA controller".

This module cannot be used to do memory-to-memory transfert ; you can just do peripheral-to-memory or memory-to-peripheral transfert.

For new advanced DMA features on UC3, you have to be patient and wait for the new UC3C family...

-roroz

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

roroz44 wrote:
For new advanced DMA features on UC3, you have to be patient and wait for the new UC3C family...
Or if you can, use xmega. As much as I love AVR32 (and judging by the post count to the left that's a _lot_) an upcoming project for which we had a UC3 queued has been rejigged for an xmega. In our case (and of course YMMV) the lower throughput was compensated for by the much more powerful DMA and event controller frameworks.

-S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the feedback. You have both confirmed what I already suspected.