こんにちは、STM32F407ZET6 マイクロコントローラを使用しています。DMA1 の複数のストリームを使用したいと考えています。データを 2 つの異なる周辺機器に同時に転送するために、同じ DMA の 2 つの異なるストリームをトリガーすることは可能ですか。(パラレルのように)。
高度な AHB バス マトリックスでは、各 DMA にはメモリ用と周辺機器用の 2 つのラインしかないことがわかります。ストリームは実際にメモリ<->ペリフェラル転送を行っています。この仮定は正しいですか?また、単一の DMA を介して 2 つのストリームを並行して実行するには、メモリ <-> ペリフェラル転送を行うべきではないということも正しいですか? つまり、AHB マトリックスを見ると、Mem から Mem および Periph から Periph への転送のみが行われる場合、おそらく 2 つのストリームが並行して実行できると感じられますが、そのうちのいずれかがメモリ <-> ペリフェラルを実行する場合転送する場合、単一の転送に DMA メモリとペリフェラル インターフェイスを使用すると、おそらくそれが不可能になります。これに光を当てることができますか?
満足のいく情報を見つけることができなかったので、この特定のトピックについていくつかのガイダンスを要求したいと思います...そして、ストリームを並行して転送することがバス帯域幅に依存している場合、単一バスの複数のチャネル間で帯域幅がどのように分割されるか複数回の転送を行うには....いくつかそのような例があればありがたいです. 参考までに、AHB マトリックスを以下に示します。