2021-07-12 01:20 AM
Hi everyone,
I'm working on projet which does the acquisition of signal continuously with sampling frequency is 25kHz. The length of acquired signal is about 1s (25000 samples), then some signal processing will be applied on this signal to obtain some indicators. Because the length of signal is large so I use actually an external RAM to store DMA buffer (length of buffer is double my desired length of signal). Once the buffer is half filled, I do some processing on this half filled buffer and let ADC with DMA continue to acquire signal and save on the other half of the buffer. Doing like that, I can acquire signal continously but I think there will be problems because MCU are doing some processing on buffer while DMA are also working on this (I think they share the data bus so there will be some conficts if we acces to the same memory zone in the same time). I tried to configure the DMA with highest priority but there are always problems on acquired signal. Actually, I stop ADC (so DMA stop) when the buffer is filled, then I do some processing (takes 20ms) and then restart ADC, this means I lost 20ms of signals. I would like to know if anyone has worked on this kind of topic and can give me some suggestion? Thank you so much!
Tinh HOANG
Solved! Go to Solution.
2021-07-12 03:36 AM
Hello @HHOAN.1 and welcome to the Community :)
Have a look at this article: DMA is not working on STM32H7 devices, explains the memory layout of the platform and the cache that have an impact on the DMA usage.
Hope this helps you!
Imen
2021-07-12 03:36 AM
Hello @HHOAN.1 and welcome to the Community :)
Have a look at this article: DMA is not working on STM32H7 devices, explains the memory layout of the platform and the cache that have an impact on the DMA usage.
Hope this helps you!
Imen