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.

ADS7828 reading wrong inconsistent values

Other Parts Discussed in Thread: ADS7828

I try to read a ADS7828 using the I2C from a BBB (using bidirectional buffers for 5V conversion). The problem is the ADS7828 seems to answer correctly, but with values that can not be correct. The returned values are even different for 2 different devices (on one device all values are 0).

I use the Python SMBus library to read out the ADC. Here is my schematic, layout and a the capture oscilloscope data:

The code:

http://pastebin.com/yVZ1zV45

The output:

http://pastebin.com/fzR6B0up

The I2C is working correctly as other ICs connected to the same I2C work without problems. Any ideas why I get this weird output?

Regards

Alexander

  • Hi Alexander,

    The ADC is extremely sensitive to voltage variations on its reference input, which incidentally, is not a high impedance port when the ADC is converting. In fact, the load during conversion is characterized by high frequency current pulses and a large bypass capacitor is typically required to supply these instantaneous load fluctuations. So as a first step I would like to recommend installing a 1uF-10uF ceramic capacitor close to the VREF input of the ADC. Please let me know if this doesn't change your results.

    Best Regards,
    Harsha

  • Thank you for your help. In the next design I will consider a 10uF capacitor near vcc. 

    I was able to resolve the problem with altering this line of code:

            data = self.i2c.read_i2c_block_data(self. address, config, 2)

    The problem was I sent a 0 command byte to the device.

    Regards

    Alexander