如何在STM32微控制器上使用DMAMUX
如何在STM32微控制器上使用DMAMUX?1-简介DMAMUX包含在最新的STM32微控制器(STM32H7/G0/G4/L4+/L5/WB/MP1系列)中,是对以前DMA控制器的增强,提供了更多的灵活性和功能。。。
如何在STM32微控制器上使用DMAMUX?
1-简介
DMAMUX包含在最新的STM32微控制器(STM32H7/G0/G4/L4+/L5/WB/MP1系列)中,是对先前DMA控制器的增强,提供了比伪动态映射更大的灵活性和完全动态的外围设备请求映射。
它提供了从给定外设到任何DMA控制器和/或控制器DMA通道的任何DMA请求的完全可配置路由。本文将简要介绍DMAMUX以及如何使用它。
2-DMAMUX的说明
DMAMUX请求多路复用器能够将DMA请求线路从外围设备路由到产品中的DMA控制器。路由功能由可编程的多通道DMA请求线路多路复用器来保证。每个通道选择一个唯一的DMA请求行(无条件地或同步地)转发到相关的DMA控制器通道。这使得DMA请求能够以很高的灵活性进行管理,最大限度地增加了同时运行的DMA请求的数量。
3-DMAMUX功能

功能包括:
- 请求路由和同步
- 请求生成
- 请求生成和同步
4-DMAMUX配置示例
DMAMUX易于与STM32CubeMX一起使用和配置,其灵活性将在本节中显示。本例使用STM32G071RBTx作为目标设备。SPI外围设备将被配置为使用DMAMUX与另一个设备进行串行通信。使用STM32CubeMX进行配置将说明DMAMUX的易用性和灵活性。
STM32CubeMX中的第一步是启用将用于串行通信的SPI外围设备(参见下图):
下一步是单击DMA设置以进行这些配置:
我们将添加两个DMA请求,一个用于SPI RX(接收),另一个用于SPITX(传输)。要执行此操作,请单击“添加”。
现在单击下拉框中的选择,然后单击SPI1_RX。
由于DMAMUX的灵活性,您可以为正在使用的外围设备选择任何DMA通道。在本例中,通过单击下拉框并单击DMA1通道3来选择通道3。
下一步是为SPI1_TX选择DMAMUX信道。同样,由于DMAMUX的灵活性,任何信道都是可用的,并且在该示例中使用信道7。
如本例所示,DMAMUX提供了选择与外围设备一起使用的任何DMA信道的灵活性,而不是局限于特定信道。
包括DMAMUX高级功能在内的更多细节在链接部分提到的相关应用说明中进行了描述。
5-链接
有关DMAMUX的更多详细信息,请参阅以下应用说明:
STM32DMAMUX:DMA请求路由器-应用说明
有关STM32CubeMX的更多信息,请参阅网页。
