cancel
Showing results for 
Search instead for 
Did you mean: 

Trigger SPI6 DMA transfer using external pin via DMAMUX

gotthard
Visitor

 

Hello,

I'm working with the STM32H723 and need to interface with an external ADC that provides a DRDY (PG2 pin) signal. I'd like to initiate an SPI transfer via DMA whenever the DRDY pin goes low. The ADC is connected to SPI6, and I understand that only BDMA can be used with this peripheral.

My main question is:
How can I configure DMAMUX to trigger a BDMA transfer for SPI6 when the DRDY pin goes low?

I'm using STM32CubeMX for configuration. I’ve looked through existing forum posts and the STM documentation, but haven’t found a clear example or explanation for this setup. Any guidance, examples, or tips to get started would be greatly appreciated.

Thanks in advance!

1 REPLY 1
waclawek.jan
Super User

According to DMAMUX2 and BDMA connections table in RM0468, exti_syscfg_exti2 is an input to the DMAMUX generator, as dmamux2_gen21, so this should be doable by selecting PG2 in the EXTI2 selector in SYSCFG and setting up DMA generation in DMAMUX2. I don't use Cube, so can't help with that; but I'd assume there's some clicking related to these facts in CubeMX. Maybe somebody versed in CubeMX will chime in with the details.

I presume you already know how to set up SPI with DMA - I do not know that, SPI in 'H7 is an overcomplicated beast and I don't use the 'H7.

JW