I have been reading about what delta sigma ADC (DSADC) is and if they can help me in my project and I think they will.

The oversampling reduces the requirements on the analog anti-aliasing filter and DSADCs have very good resolution.

I have been reading on a DSADC from Texas Instruments, ADS1675, but don't understand how I can control the sampling rate with better resolution than the already built-in options. I assume that if the crystal oscillator has variable frequency I can somehow be able to set an arbitrary sampling frequency?

If so, what kind of crystal oscillator has a range between 1kHz to 32MHz? I want to be able to set a sampling frequency of about 1kHz to 1MHz.

So how can I achieve this? Is it possible or are one restricted to the built-in sampling rates?

Side note: I am using a microcontroller with 72MHz clock.

Here is a direct link to the data sheet: ADS1675 Data Sheet


The jitter mentioned in the datasheet (p. 25) only applies to CLK pin jitter -- using the start pin to determine sampling frequency doesn't effect CLK pin jitter.

The difficult part of setting "a sampling frequency of about 1kHz to 1MHz" is adjusting the analog antialiasing filter that drives the input of the ADC. (While that filter is difficult for sigma-delta ADCs, it's even more difficult for SAR ADCs and every other kind of ADC).

So I'll gloss over that and skip to the easy part of setting "a sampling frequency of about 1kHz to 1MHz": If you are lucky, there's a timer/counter in your microcontroller that you can set up to drive a pulse out some pin at a programmable rate. If you are not so lucky, there are many off-the-shelf timer/counter chips with such a pulse output pin; connect that chip between your microcontroller and the ADC in such a way as to allow the microcontroller to adjust the pulse rate on the fly.

In your place, I would consider the following options:

Option A: variable-frequency CLK. I might connect that programmable-frequency output pin to the CLK input of the ADS1675. Then set the start pin to +3V to select "multiple conversion" mode to automatically generate a series of conversions at several rates given in the datasheet (p. 17). To get 1 megasample/second (1 MS/s) in this arrangement apparently requires pulses at exactly 8 MHz. (Alas, many timer/counters can't go that fast).

Option B: fixed-frequency CLK, variable sample rate. I might connect that programmable-frequency output pin to the start input of the ADS1675, using "single conversion" mode to generate a single new conversion at each pulse (p. 17). To get 1 megasample/second (1 MS/s) in this arrangement requires pulses on the start pin at exactly 1 MHz, and a fixed-frequency oscillator driving the CLK pin at anywhere from 8 MHz to 32 MHz -- perhaps something easily generated from the 72MHz clock you're already using. (Alas, this approach is most vulnerable to aliasing).

The datasheet (p. 25) also says

"It is recommended that the START pin be aligned to the falling edge of CLK to ensure proper synchronization because the START signal is internally latched by the ADS1675 on the rising edge of CLK."

so I would set up the timer/counter input CLK to be driven by the same thing driving the ADS1675 CLK.

Option C: fixed sampling rate. I might connect the ADS1675 to sample at some fixed sample rate (perhaps 1 MS/s or 2 MS/s or 4 MS/s). Perhaps the simplest way to do this is to drive the CLK pin with a fixed frequency crystal oscillator (8 MHz or 16 MHz or 32 MHz), set the start pin to +3V to select "multiple conversion" mode, and set SCLK_SEL to GND to select "Internal SCLK" mode. Then set up the microcontroller as a "SPI slave" to receive the data. Then once I have data in RAM, use software to decimate or average or otherwise generate a series of values at a slower sampling rate. (Because it has a fixed hardware sampling rate, this approach has the simplest anti-aliasing filter, and doesn't require timer/counter hardware). (Alas, this approach uses the most power).

| improve this answer | |

On page 15 it says: A dedicated START pin allows precise conversion control; toggle the pin to begin the conversion process.

So the clock you use is required to take quality conversions, but the sampling rate (up to 4MSPS) is controlled by the start pin and the serial interface. Timing is controlled by the microcontroller.

| improve this answer | |
  • \$\begingroup\$ Does a toggle on the start pin mean that only 1 output sample is generated? If one use the START pin to determine the sampling frequency doesn't this affect the accuracy of the time jitter? \$\endgroup\$ – iQt Sep 25 '13 at 14:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.