嗨,我正在使用 STM32F407ZET6 微控制器,我想使用 DMA1 的多个流。是否可以同时触发同一 DMA 的两个不同流将数据传输到两个不同的外围设备。(如并行)。
在高级 AHB 总线矩阵中,我观察到每个 DMA 只有两条线,一条用于内存,一条用于外围设备,这向我表明,在任何时候最多两个流可以并行运行,并且如果没有流确实在进行内存<->外围传输。这个假设正确吗?而且,通过单个 DMA 并行运行两个流,它们不应该进行内存<->外设传输,这也是正确的吗?我的意思是,从 AHB 矩阵的外观来看,如果只完成 Mem 到 Mem 和 Periph 到 Periph 的传输,那么可能两个流可以并行运行,但如果其中任何一个流执行memory<->peripheral传输然后使用 DMA 内存和外设接口进行单次传输可能会使这成为不可能。你能对此有所了解吗?
我想就这个特定主题请求一些指导,因为我找不到令人满意的信息......如果它依赖于总线带宽来并行传输流,那么带宽如何在单个总线的多个通道之间分配执行多次转移....一些如果有任何这样的例子,我将不胜感激。作为参考,我将 AHB 矩阵放在下面: