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.

ADS1118: Interrupt too soon, noisy, shifted levels

Part Number: ADS1118
Other Parts Discussed in Thread: MSP430F5529,

Hello, I have a board that has 3 ADS1118s and 1 gyroscope (LSM6DSM) connecting to my MSP430F5529 microcontroller.  The gyroscope's CSB is tied high all the time because I'm not talking to it at the moment.  

However, the 3 ADS1118s are showing the following issues:

  1. DOUT_DRDYB occasionally doesn't get pulled down to 0V nor pulled up to 3.3V; I'm seeing this issue with ADC1 & ADC3 but not ADC2.  I have a feeling there might be a bus contention somewhere, and I even checked to make sure none of the other CSBs are asserted when it's not supposed to. 
  2. The DOUT_DRDYB signal is really noisy.  I tried switching scope probes and the noisiness just follows the signal.  I think this might be a board layout issue but not quite sure.
  3. DOUT_DRDYB is low even when all the CSBs are high.  This is an odd phenomenon because when all the CSBs are high, none of the slave should be controlling the bus, and all the ADS1118s have a weak internal pull-up so DOUT_DRDYB should be pulled high when CSB is high.  My microcontroller interprets this as an "Interrupt Too Soon" error. Of all 27 ADCs on 9 different boards that I saw, maybe half of the ADCs occasionally have this issue. 

I've attached a scope shot of ADC3, which exhibits all 3 of these issues.

I want to know if there's anything I can do to troubleshoot.  I'm thinking of removing the gyroscope, then retest, and slowly removing each slave and just testing one slave at a time to make sure there's no bus contention. 

I set each ADS1118's LSB = 0xEB and MSB = 0x8F.

Thanks in advanced. 

  • Amy,


    Looking at the scope photo, I think you're right. This does look like some sort of bus contention. It cannot be a pull-up or pull-down resistor that is too low in value because the DOUT goes all the way to 3.3V or ground. The bad intermediate readings seem to only come when /CS is low.

    Are the 3 ADS1118 and the gyro the only devices on the SPI bus? Can you share a schematic?

    Let me address your three comments first.

    1. It looks to me that DOUT can be pulled down to 0V. It's certainly possible that it starts out at a middle point because there's bus contention and one device is pulling DOUT high while the other is trying to pull it low. It might be a big hint that ADC1 and ADC3 have this problem but ADC2 does not. I would check for a short between the two devices' /CS line. At the very minimum, I'd try to measure the /CS lines directly at the pins of the two devices.

    2. I'm not sure you can read much into the noise in DOUT/DRDY. There might be some problem in scope probe compensation or there may be added inductance/capacitance that causes some overshoot. There's a possibility that this could be something to this, but it's hard to know.

    3. The pull-up is set as a default configuration, but could be programmed so there is no pull-up. If you do program the device, I'd just confirm that the pull-up is still programmed in.

    I'm not sure of a good way to debug this one. I would certainly put probes on each of the /CS lines, and make sure there's no unintended connections to other pins to keep /CS active. Make the probe connections near the pins of the ADS1118 to minimize the chance of seeing a bad connection. Do you have multiple boards? Are you working with only one board right now and is the only board you've looked at?

    You might be able to use the 32-bit transmission to force individual DOUTs high. At the end of the 32-bit transmission, DOUT should be remain high until the next conversion completes. If you can set the DOUT high for 2 individual devices, and then communicate with the remaining device, maybe you could figure out if there is some sort of contention just with how the readout goes.

    Just to be sure, there was another MSP430/ADS1118 question you had. Did that get resolved?


    Joseph Wu
  • Amy,


    Were you able to solve your communication problem with the ADS1118? As I think we both guessed, I think this is a case of bus contention in the circuit, and I don't think there will be an easy way to solve this without removing devices to check the effect on the communication.

    I'll close this post for now, but if you continue to have problems, post back and we can continue to work on a solution.


    Joseph Wu