Hi.
I'm trying to find the exact number of ADC_ clock cycle that arduino DUE take to do a full conversion with ADC_SEQR, to find the sampling frequency, depending of the ADC_MR register.
Base on the Data sheet, p.1321, 1322, on the table 43-2, 43-3, you could find what is the timing.
Where I'm struggle is with is on the conversion/transfer overlap.
The data sheet say:
The tracking phase starts during the conversion
of the previous channel. If the tracking time is longer than the conversion time, the tracking phase is extended to
the end of the previous conversion.
shown on table 43-2, 43-3
But the only place I could find a reference for the conversion time is on the page 1403, on table 45-30.
It say: conversion time, typical 20 ADC clock.
The transfer is set in ADC_MR_TRANSFER, value 0 to 15.
It is calculated:
• TRACKTIM: Tracking Time
Tracking Time = (TRACKTIM + 1) * ADCClock periods.
so the max adc clock of tracktim is 16, less then a conversion...
Is the there anywhere else I could find detail about the conversion time on table 43-2, 43-3.
Thanks.
[UPDATE]
Ok, done some test:
I measure the time between each ISR with micros(), and here what I found:
changing TRACKTIM or TRANSFER to any value do not change the time of the ISR.
The sequencer was in free running mode:
Following the prescaler value, it take 21 ADC_clk/channel enable. The data sheet said 20...
So, for example, I set all 16 ADC channel on, and the prescaler to 255, it gave a sample rate of : 558.03Hz.
if I set 5 channel, with a prescaler of 100: 3.960KHz
If anyone know something about what is transfert ans tracktim, maybe for the precision or something...
Thanks
Nitrof