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.

TLC2543-EP: The ADC appears to skip over some reported regions of the overall ADC range.

Part Number: TLC2543-EP
Other Parts Discussed in Thread: TLC2543,

Hello.

I am using the TLC2543 to measure an output voltage provided by a temperature sensor (i.e. a relatively slowly changing signal). I provide an external clock with a frequency of 2.5MHz. I have configured the device for a 12-bit output data length, MSB first, and Unipolar. Also, I am holding Chip select low constantly (no de-assertion of CS between samples is occurring).

When looking at temperature plots, temperatures (as reported by ADC counts) appeared to avoid certain small bands in the overall range, opting to immediately round-up or round down to favored values above or below these bands. These bands appear to be roughly 4 to 8 ADC counts in size (2 to 3 bits), and appear at several point over the entire range*.

As an effort to find the source of this behavior, the temperature sensor was replaced with a precision voltage source, which allowed me to evaluate the ADC over any point along its entire input voltage range. The waveform generator had sufficient resolution to effectively allow me to "dial in" any desired output ADC count. Output ADC counts were observed using an oscilloscope connected to the "Data out" pin of the TLC2543 (and values were decoded visually).

As a test (removing the temperature sensors from the system), I subjected the ADC to the precision reference voltage, then slowly increased the voltage, looking for instances where the resulting ADC count would skip over 4 or more binary values. I found such region at 2.97 volts. At 2.972 volts, the ADC reported the binary value "100110000111". Upon increasing the voltage by a few mV, the next ADC value to appear was "100110001011" (which is 4 ADC counts from the previous value reported by the ADC). At points in between, the ADC would oscillate between these two values.

Dialing the voltage back down to 2.972V, the ADC resumed reporting "100110000111".

The takeaway here is that the ADC completely avoided the 4 binary values in between these two reported values.  This behavior was observed over the course of 30 seconds, after which the measurement was ceased.

It appeared in this case that that the 2 LSBs were stuck high. However, upon increasing (or decreasing the input voltage to other values sufficiently far away from 2.972V, the 2 LSBs began transitioning as expected.

*These bands appear to spaced apart by 64 ADC counts.

What could be causing this?