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.

ADS1114: Data Ready line not functioning

Part Number: ADS1114
Other Parts Discussed in Thread: PCA9517

Having a problem getting the data ready line to work.  I can start a conversion, configure the device and get the correct reading indicating that I am writing correctly to the config reg.

Conversion registers updated after each request.

the following is the configuration:

config = 0b1000 0101 1001 1000 (0x8598) request conv,  gain 1, single conversion, 128 samples/sec, high active data ready

lo_thresh reg = 0x8000

hi_thresh reg = 0x7FFF

When setting the config register at powerup the data ready line goes from a 1 to 0 but never asserts a 1 after a conversion is requested.

any suggestions what I'm doing wrong

  • Hi Charles,

    Welcome to the E2E forum!  The threshold registers can be used to signal either an Alert (if conversion result is outside certain thresholds) or to signal RDY.  To signal RDY, the threshold registers must be set in such a way that any conversion result will be triggered by the result going outside the threshold values.  The process is discussed in the second paragraph of section 9.6.4 on page 30 of the ADS1114 datasheet.  It is the first sentence that applies specifically to RDY mode.  There is also some information in 9.3.8 on page 19 that shows the response of the different comparator modes.

    What needs to be done is to reverse the threshold settings from the default values.  Set the Lo_thresh register to 0x7FFF and the High_thresh to 0x8000.  To determine if the action is working correctly, I would suggest using Window Comparator Mode and Continuous Conversion while monitoring the ALERT/RDY pin.  You should then see the response as shown in Figure 29.  After you are confident that the RDY is functioning as expected you could go back to Single-Shot mode.

    Best regards,

    Bob B

  • Thanks for the suggestions. Had already done those. I have added routines to read back the config, Hi and Lo threshold registers. The config register is read back consistently and the same as written. The Hi and Lo threshold registers read back 8518, 1942 respectively. Read back twice with the same answers.
    They were written hi = 0x8000, Lo - 0x7FFF. Running the routine again the Hi/Lo registers read back the same with the same config, . I've checked the package ID (BRNI) which correlates with ADS1114. I've checked the I2C transmittions with a sniffer and they have the ack from the ADS1114 and the format is as shown in the data sheet. This is done in assy code Microchip PIC24.  I've notice some additional idiosyncrasies.  The Hi threshold register seems to read back the same as the config register.  The ADS114 is feed through a I2C repeater (PCA9517) where the processor is 3.3v and the ADS1114 is 5 volts.  We have also a temp/humidity sensor on the same lines and it works as expected.  This has been removed for this test. 

  • Hi Charles,

    It sounds to me like there is a communication issue. Are you able to read the default values of the Hi and Lo threshold registers prior to writing them? Can you send me any scope or logic analyzer shots of the communication? Can you send me a code snippet of the sequence you are using to write and read from the threshold registers?

    Best regards,
    Bob B