2019-03-29 11:46 AM
I'm currently using an STM32F4 board for a project that requires fast ADC conversion (2.4msps per channel, all 3 channels simultaneously) *and* pretty extensive cross correlation. Due to the clock tree of the F4, if I want to use the highest ADC clock, I need to run the F4 at 144MHz instead of 168MHz, making all the cross correlation code slower than it could be.
I'm thinking of moving to an F7 board (Nucleo767), for the additional RAM and much faster core/DSP. But playing with the clock tree of the F7 in STM32CubeMX, I seem to bump into the same limits as the F4, where I need to use 144MHz in order to get a 36MHz ADC clock, and there is no prescaler that works for 216MHz, making it even worse (in proportion) than the F4 loss (I know it would still be faster overall, but running at 144MHz vs 216MHz is a significant difference)
Is there any way to run 2.4Msps on an F7 with a 216MHz clock?
2019-03-29 10:17 PM
I'm using it right now. According to CubeMX, 8MHz HSE, M=4, N=168, P=2, Q=7, resulting in a 48MHz clock for the USB. With 144MHz, Q is 6, still resulting in a 48MHz USB clock
When using the SPL, I'm using RCC_PLLConfig(RCC_PLLSource_HSE, 8, 288, 2, 6); for 144MHz, RCC_PLLConfig(RCC_PLLSource_HSE, 8, 336, 2, 7); for 168MHz. USB runs stable in either configuration
What am I missing?
2019-03-29 10:30 PM
2019-03-30 05:43 PM
My cubemx is doing crazy stuff. I will reinstall it and give it one more chance.