2017-03-27 05:16 AM
Hi,
I'm using a STM32F429 operating at 168 MHz. I want to read in 16 GPIO pins (one port) via DMA. I'm curious what's the maximum input rate is, for a certain number of consecutive level changes (read out of an external ADC).
Has anyone an idea? I couldn't find anything in the reference manual.
BR
Skadi
#stm32f429 #p2m #maxiumum-speed #dma2017-03-27 05:27 AM
Read AN4031.
You won't find a definitive number, though, for the obvious reasons that this depends on several factors - trigger source synchronization, bus contention.
You may also want to consider using FMC and/or DCMI, and/or some external glue logic.
JW
2017-03-27 06:35 AM
Probably close to 21 MHz, but you'll get an overwhelming amount of data, and a lot of contention. I'd also expect jitter in the sample point/rate
Consider using the DCMI bus, admittedly not 16-bit wide, but could use 8-bit mode. Or the F(S)MC
2017-03-28 02:51 AM
Hi,
thanks for the replies. The maxim speed I achieved was around ~30 MHz. According to Clive One's comment, I think that's the upper end .
Does anyone know if it is possible to use two DMA streams simultaneously, by means of 32 GPIO pins tiggered by extrenal clock signal? I'm trying to read in 32 GPIO pins, but I'm not able to enable the two DMA streams simultaneously.
BR
Skadi
2017-03-28 06:04 AM
You may also want to consider using FMC
JW