2024-11-06 08:28 AM
Hello,
I would like to use 2x AD7606 for simultaneous sampling of 8 channels, the samples shall be sent to the STM32H753 CPU that will perform some DSP calculations. This system is intended for 3-phase grid monitoring system.
I preferred the SPI mode rather than the FMC mode because it uses less pins and ~5MHz SPI CLOCK is enought to collect the 8x samples every 40µs (Sampling frequency around 40KHz)
The problem with that is that the CPU needs to start the DMA Rx on SPI lane for both AD7606 devices after receiving a falling edge on BUSY pin and send a chunk of data to the dedicated task : meaning that an IRQ shall be sent every 10µs which is quite a lot !
I am thinking of configuring the BUSY pin as External event mode with falling edge detection, the dedicated DMA + SPI (with HW NSS) shall be triggered using this event and create another event upon complete reception that will trigger a MDMA in order to copy N samples to the DTCMRAM and raise an interrupt to notify the CPU.
Is that even possible on STM32H753 ? If so, can someone give me more informations regarding the DTCMRAM + MDMA + GPIO triggering events and SPI triggered by events ?
Is there any application note or document giving all the STM32H7 details ?