cancel
Showing results for 
Search instead for 
Did you mean: 

Availability of the core while using SPI_DMA

gupta_shivam22
Associate

Hi team,

I have a query regarding the STM32F756ZG MCU that I am currently using for my project. I wanted to know that if I use the SPI_DMA port for continuous data stream that has a sampling rate of 1kSPS, then, is it possible to use the MCU core to process the data and apply my algorithms on the data stored in DMA simultaneously in the real-time without disturbing the data stream and losing any packet. In other words, can I use the SPI DMA and DSP core simultaneously?

Thanks

1 REPLY 1
LCE
Principal

Yes, that's what DMA is for: to "un-load" the CPU.

Just build a small state machine, using for example flags which are set in the DMA (half-) complete interrupts, so DMA transferred from SPI peripheral to RAM. Then process the data.

Double Buffer Mode (DBM) is a nice extra feature for that.

Just make sure that the processing time gets not too high, but at 1kSPS this will probably not the case.