cancel
Showing results for 
Search instead for 
Did you mean: 

What is the difference between Channels and Streams?

ran2
Associate III
Posted on August 05, 2013 at 15:02

Hello, I am a new starter of STM32.

I'm quite confused by the concepts of Channels and Streams while dealing with DMA.

What is the difference between them?

Any comments will be appreciated, cheers.

#dma-stm32f4discovery
4 REPLIES 4
Posted on August 05, 2013 at 15:41

Streams are ''functional sub-units'' of the DMA controller.

Every such ''sub-unit'' has a choice of several possible sources for triggering the transfer, these are called Channel.

JW

ran2
Associate III
Posted on August 05, 2013 at 17:29

Cheers Jan.

In terms of my understanding,

Channel is a single unit that can perform the DMA operation whereas Stream is one of the source that trigger the channel.

Correct me if I am wrong.

And is Channel concurrent? Can multiple channels be transferred at the same time. And what is the priority for?

Please help me out of this and thank you.

Plus, the manuals from vendors (not just ST) are really full of jargon and weird terms which they simply do not bother to explain. This is really annoying for new beginners.

Posted on August 05, 2013 at 17:48

Channel is a single unit that can perform the DMA operation whereas Stream is one of the source that trigger the channel.

 

Actually I think you have that back-to-front.

The channel is a source selection mux, the stream is the operational unit that you program to do the work. The DMA controller has multiple sub-controllers, these are the streams.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
ran2
Associate III
Posted on August 05, 2013 at 17:51

Exactly! Cheers Clive!