cancel
Showing results for 
Search instead for 
Did you mean: 

DMA: ST Vs NXP

n.serina
Associate III
Posted on February 05, 2018 at 08:27

0690X00000609bFQAQ.png

Hello I work both on NXP and ST MCUs

In DMA i saw ST has 2 AHB master Ports and NXP has got only 1 . 

Why such design ? which is more beneficial ? 

for example if want to do P2M then 2 master ports are really needed or can be done with only 1 as in NXP ? 

Thanks. 

#nucleo-stm #stm32f4
6 REPLIES 6
Posted on February 05, 2018 at 09:36

In STM32, there are two different DMA modules: a single-port in 'F1, 'F3, 'F0, 'L0, 'L1 and 'L4;  and the dual-port if 'F4 and 'F7/H7.

The benefit of dual-port design, together with the dual-port AHB-to-APB bridge is, that the AHB bus where the peripheral lies is not blocked by the DMA transfer; and vice versa, different channels (here called streams) in the DMA controller can simultaneously access the different ports (read: they work simultaneously).

Drawback is the increased complexity thus larger occupied silicon area and potential for designer errors.

JW

Posted on February 05, 2018 at 13:48

Thanks for the reply and i didnt understand it though . Sorry !. But are you saying that 2 streams in ST can work simultaneously ? like can i use one stream for P1 to sram1  and another stream for P2 to SRAM2 ? 

Posted on February 05, 2018 at 15:23

Eight streams in both DMA controllers can be concurrently active, prioritization dictates who take their turn first, and presumably you're not driving things into saturation, where contention strangles the system performance. ie desired bandwidth exceeds available bandwidth

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Imen.D
ST Employee
Posted on February 07, 2018 at 14:08

Hello

n.serina

,

You may refer to thechapter 'System performance considerations' in the

http://www.st.com/content/ccc/resource/technical/document/application_note/27/46/7c/ea/2d/91/40/a9/DM00046pdf/files/DM00046pdf/jcr:content/translations/en.DM00046pdf

Application notedescribes how to use DMA controller in STM32F2, STM32F4 and STM32F7 Series,

Best Regards,

Imen.

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on February 08, 2018 at 06:33

Thanks Clive. in STF0x ST documentation uses 'channels' in F4 'streams' . i am quite confused by this. are channels and streams same ? in F4, data is loaded from src to internal fifo of the DMA controller , but F0x DMA does not seem to have FIFO. So in F0x where packing/un-packing happens ?

Posted on February 08, 2018 at 15:05

 are channels and streams same

In the dual-port DMA, 'streams' are the same as 'channels' in the single-port DMA; whereas 'channels' denote the selection of trigger which in those DMA happens in the control register (which in single-port DMA is handled differently, either through a simple OR (e.g. in 'F3) or through a separate selector register in DMA).

So in F0x where packing/un-packing happens ?

There is no packing/unpacking in the single-port DMA (e.g. in F0). Depending of whether source is narrower or wider than destination, data are truncated or zero-expanded. Read the DMA chapters in RM for the details.

JW