2013-08-05 06:02 AM
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-stm32f4discovery2013-08-05 06:41 AM
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. JW2013-08-05 08:29 AM
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.2013-08-05 08:48 AM
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.
2013-08-05 08:51 AM
Exactly! Cheers Clive!