AnsweredAssumed Answered

RT1064 ADC_ETC with DMA

Question asked by rost0031b on Mar 12, 2019
Latest reply on Mar 17, 2019 by jeremyzhou

My goal is to read several (11 or so) ADC channels with the least amount of pertubation to the system. Looking at the reference manual, it looks like it's possible to chain together several ADC reads back to back using ADC External Trigger Controller (ADC_ETC). There is also some discussion about this here: ADC_ETC sync mode questions on rt1050 

What I would like to do is chain together several of these reads and have DMA automatically transfer the data from each ADC channel to some location and get an interrupt once everything is finished.  The reads don't have to be concurrent and the triggering would be about once a second.

 

I have the example "adc_etc_hardware" working and modified it to only get a single interrupt once the second read occurs. I would like to modify it further to allow DMA and several more channels.

The issue I'm running into is that there is no good documentation on ADC_ETC chains and triggers and how to tie all this together with DMA. First of all, is what I want possible:

1. Several ADC channels read automatically.

2. Data moved to some location with DMA for each channel.

3. A single interrupt once everything is finished.
4. Documentation that explains how these triggers/chains work.

5. Maybe an example of how to tie all this together.

Outcomes