AnsweredAssumed Answered

External ADC with 18bits using SPI with DMA

Question asked by Simon Schmid on Apr 27, 2017
Latest reply on May 9, 2017 by Clifford.Andrew



I'm currently investigating how to efficiently connect an 18bit ADC (AD7691) to an STM32L432KC microcontroller. The ADC uses SPI to transmit the data. Preferrably I'd like to use DMA to keep the load low.


Unfortunately I haven't found much information about how to setup DMA with SPI frames larger than 16bit. I think the biggest problem is that I only get one busy indicator (interrupt) before the transmission of the 18bits (see attached timing diagram), so I can't trigger two 9bit DMA transfers from the SPI peripheral easily.


Could you give me any pointers how to read out the ADC efficiently? Maybe there's a way to "abuse" the SAI or timer to generate two 9bit DMA transfers?


Thanks in advance