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.

ADS1115 ALERT/RDY pin not responding after conversion

Other Parts Discussed in Thread: ADS1115

Hello,

I'm using the ADS1115 ADC with single ended input  and in single conversion mode. I'm able to change the channels and read from the convert without issue. The problem I'm having is the ALERT/RDY pin does not go low after a conversion.

I'm doing my testing using the ADS1115EVM board connected a STM32F100RB discovery eval board via I2C.

My registers are configured as follows.

Config Reg HI 01XX0101 (note: I initialize the config reg with OS bit LOW then start conversion by resending Config HI and LO but this time with OS HIGH)

Config Reg LO 11100011

Lo threshold = 0x8000

HI threshold = 0x7FFF

I'm assuming the problem is with the configuration. I've been through the data sheet but don't see what's wrong.

What is the proper configuration of the registers to get the ALERT/RDY port to flag an end of a single conversion event?

Thanks,

Paul

  • Hi Paul,

    I believe the MSB of the Hi_threshold register must be set to '1" and the MSB of the Lo_threshold register must be set to '0'...

    In the post above, (unless is a typo), it appears you have the value of the MSB of the HI_threshold set to '0' and the MSB of the Lo_threshold set to '1".

    It appears the other settings are correct.

    Thank you and Best Regards,

    Luis

  • Hi Luis,

    Sorry that is a typo. The code segment I use for setting the registers is:

    	---------------------------------------------------------------------------------------
    	HiByte = Cmd_ptr[3];   				// set mux channel (0 to 3)
    HiByte <<= 4; // MUX chl << 4 to align to bits 4,5,6
    HiByte |= 0x45; // MUX chl | 0x45 = OS=0, MUX2=1 (single ended), PGA= 2, and single shot
    LoByte = 0xE3; // DR=860s/s,comp disabled
     I2C_RegistorWrite(ADS1115_ADDRESS,0x02,0x7F,0xFF); //set LO Threshold reg
    I2C_RegistorWrite(ADS1115_ADDRESS,0x03,0x80,0x00); //set HI thresehold reg
    I2C_RegistorWrite(ADS1115_ADDRESS,0x01,HiByte,LoByte);
     ------------------------------------------------------------------------------------------
    Where the value after the ADS1115_ADDRESS is the ADC register address i.e., 0x02, 0x03, and 0x01
    Does the order of writing to the registers matter??
    Thanks for any input...This should not be this hard :(
    Paul
  • Hello Paul,

    I believe the COMP_QUE registers need to be set to '00' to assert after one conversion; if set to '11' the pin is disabled.    So you may try setting the Lo_byte = 0xE0

    	---------------------------------------------------------------------------------------
    	HiByte = Cmd_ptr[3];   	// set mux channel (0 to 3)
    HiByte <<= 4; // MUX chl << 4 to align to bits 4,5,6
    HiByte |= 0x45; // MUX chl | 0x45 = OS=0, MUX2=1 (single ended), PGA= 2, and single shot
    LoByte = 0xE0; // DR=860s/s, Assert after one conversion
     ------------------------------------------------------------------------------------------

    Please let me know if this does not solve the issue.

    Thank you and Best Regards,

    Luis

  • Luis,

    I "think" I tried that and the ALERT/RDY pin goes LOW and stays LOW.

    Page 15 of the data sheet (last sentence) says "When in single-shot shutdown mode, the ALERT/RDY pin asserts low at the end of a conversion if the COMP_POL bit is set to '0'.

    Do I read that to say that at the end of conversion the ALERT/RDY pin assets low and stays low till another conversion is started?

    What happens if the COMP_POL bit is set to '1'?

    I've been under the impression that the ALERT/RDY pin is high in single-shot mode and only asserts low for a short period (~8uS) after conversion then returns high.

    I'll retry that when I get back in (Friday) and let you know the result.

    Thanks for your input,

    Paul

     

  • Hi Paul,

    In single shot mode with COMP_POL =1 (Active High), the RDY pin asserts high after a conversion and stays high after the conversion until the user triggers the next conversion.

    In single shot mode with COMP_POL=0 (Active Low), the RDY pin asserts low after a conversion and stays low after the conversion until the user triggers the next conversion.

    In order to use the ALERT/RDY as a conversion ready pin, the user needs to set the COMP_QUE register to '00' to assert after a single conversion, and needs to set the MSB of the high threshold register to '1' and the MSB of the low threshold register to '0".

    Please let me know if the issue persists after setting the COMP_QUE register to '00' 

    Thank you and Best Regards,

    Luis

  • Hi Luis,

    I was able to get the ALERT/RDY pin to work correctly. Thank you for your last post.

    Although the data sheet is very verbose it would be great if it was edited to add some configuration examples or register configurations for each operating mode. Also missing is timing diagrams for single-shot with ALERT/RDY asserts.

    But thank you again for your help.

    Paul