AnsweredAssumed Answered

STM32F407VG ADC Triple Mode MEM-To-MEM Sorting

Question asked by McCrory.Joshuah on Feb 26, 2017
Latest reply on Feb 26, 2017 by McCrory.Joshuah

Hey guys, i'm working with the new STM32CubeMX software and loving it after some initial learning curve. Loving the HAL libraries as well. I'm wondering if i'm attempting to do something that isn't available on the STM32F407VG ADC?


I've got the triple normal transfer mode working, so i've got 3 ADCs getting their output written sequentially into one memory buffer. Then i'm wanting the MEM-TO-MEM dma to sort the data into separate memory buffers of which i'm going to use the CPU to transfer the memory to flash. I found the "STR91xFA" DMA manual and it talks about Linked Lists in the DMA configuration. That would allow me to configure the mem-to-mem to bounce between the three ADC outputs, storing their values in separate memory buffers from the peripheral buffer'ed output. Does this exist in the STM32F407?


If not, then i'd like to trigger a MEM-TO-MEM DMA transfer after i get an EOC from a single conversion. I'm thinking i could do an EOC external pin trigger, then link the mem-to-mem DMA to that pin going high. Am i able to trigger DMA to pin values? I (i understand doing this may slow it down like crazy, but it may still be faster than handling it on the CPU) And if that were the case, then i'd like to write to a cyclical change in the end address depending on which buffer i need to write to. Any thoughts from anyone on how to handle this? If not i'll just do an EOC interrupt and have a for loop sort the data for me, but i'd rather have it all done on DMA :/. Also i saw there was double buffer available for ADC to memory using DMA, but since i wanna sort the values using DMA as well, i cant swap back & for the source on the buffer for the mem to mem?


Thanks for your time guys!