2019-12-19 02:24 AM
Hi everyone,
I'm trying to perform some ADC conversions triggered on a timer rising edge, this timer can be up to 1MHz.
I set up everything in cubeMX and can perform those conversions, but the delay is too high for my application.
My current problem is that there's a 2us delay between the timer compare match event and the HAL_ADC_ConvCpltCallback, so it's ok for rather low frequencies but will be really problematic for higher ones.
I lowered the sampling time at the minimum 1,5 clock cycles, so the delay should be around a hundred nanoseconds, not 2us.
My ADC clock is set up to 50MHz in cube (apparently there's a bug in the current cubeMX for h7 that disable BOOST mode and thus cap this clock to 25MHz, but I think the problem is not really here).
So my question is: How can I do to achieve this 1MHz frequency? Should I enable DMA? if so, how can I make sure the timings are matched?
Can it be ok for these frequencies to enable continuous mode?
thanks in advance for your answers =)