0
\$\begingroup\$

I use twenty AD7685 ADCs connected in a daisy-chain configuration. They communicate with an STM32F303VCT6 MCU via the SPI interface.

I want to trigger DMA to process such an amount of information. So my question is: to which pin of the STM32 should I connect the output of the last ADC so that the data will go through DMA?

Will it work if I connect to a GPIO_input and then program in the software to trigger DMA, or does it need to be a specific pin?

\$\endgroup\$

1 Answer 1

0
\$\begingroup\$

If it's DMA through your SPI, then you should complete the SPI loop by connecting the output of the last ADC to the corresponding MISO.

Then to know when to start the acquisition, the datasheet states in page 23 :

When all ADCs in the chain have completed their conversions, the near-end ADC (ADC C in Figure 44) SDO is driven high. This transition on SDO can be used as a BUSY indicator to trigger the data readback controlled by the digital host

You can connect the last output to any input pin. Then start the DMA transaction after a rising edge on the input.

A way to do this, is to program an external interrupt on the input pin.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.