This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi Troy,
The summary page of the datasheet lists the maximum 16-bit ADC sample rate as 1.1MSPS, which is accurate.
Per the operating conditions table:
You can see that the maximum ADCCLK rate is 50MHz, so normally the SYSCLK to ADCCLK divider will be set to /4.
The S+H is always clocked by SYSCLK regardless of the SYSCLK to ADCCLK divider. The footnote in questions is saying that the S+H must always be at least as long as one ADCCLK. e.g. if SYSCLK is 50MHz and ADCCLK is 6.25 MHz then 1 ADCCLK cycle is 160ns. The S+H would need to be set to be at least 160ns even if less than 160ns would otherwise be OK (12-bit minimum S+H is 75ns). This isn't a condition you are going to run into unless you are trying to run the ADC very slow.
Note that to get good results with minimum S+H time (and thus maximum sample rate) you need to drive the ADC input with a low impedance + high bandwidth source (usually an op-amp). Otherwise you need to select an appropriately long S+H time such that the input driver can settle to 16+1 bits in the allocated S+H time.
Once you know the SYSCLK, ADCCLK, and S+H time, you can determine the exact ADC timings using the "ADC Timing Diagrams" section of the datasheet.
Hi Troy,
The ADCCLK for the TMS320F28379D is rated to operate at a max frequency of 50MHz. The ADCCLK is prescaled from SYSCLK. The launchpad is operating at 200MHz and in order for the ADC to operate properly at 50Mhz, you should set your ADC prescaler to a value of 6 (divide by 4 from SYSCLK). See decription of register ADCCTL2 (PRESCALE).
In 16-bit mode, the minimum sample and hold time for the ADC is 320ns. Sample and hold time is (ACQPS+1)*SYSCLK period. If SYSCLK is set at 200Mhz, ACQPS value to meet the minimum sample and hold time is 63 [(320ns/(1/200MHz)) - 1]. See description of registers ADCSOCxCTL (ACQPS) for more details. Note that the sample and hold time is not a function by ADCCLK, but by ACQPS setting and SYSCLK. Also note that maximum throughput in 16-bit mode (with the 320ns minimum sample and hold time) is at 1.1MSPS. You will get inaccurate conversion results if sample and hold time is less than this value. You can interleave conversions on the different ADC modules if you want to attain higher throughput overall (up to 4.4 MSPS).
Hope this helps clarify your questions.
Regards,
Joseph
Hi Joseph,
Thanks for the quick reply, that definitely cleared things up.
My mistake was treating the SH time as equal to the ADC clock period due to the footnote at the bottom of the table. With an interleaved throughput of 4.4 MSPS our design should work fine.
Thank you,
Troy