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.

ADS124S06: DOUT/DRDY function

Part Number: ADS124S06

Dear Team,

How can we use DOUT/DRDY dual function pin for both MISO and DRDY functions.

When CS pin is high and ADC is in Continuous conversion mode at 5sps low latency  we observed that MISO/DRDY pin showing continuously High on CRO.

Please let us know the correct wave form of above condition.

Regards

Surya

  • Hi Surya,

    It is better to use the dedicated and always driven DRDY output pin if you cannot hold CS low. If you cannot use the DRDY output pin you must either hold CS low always (not very practical if you have other devices connected to the SPI bus) or you need to periodically bring CS low to check the output state of the DOUT/DRDY pin. As this is a dual-function output pin (2 different signals on one output pin) you must know the previous state of the pin and compare the values when you begin to poll the pin to see a change in state. If the last state of the pin is 0, then you will not know when the function of the DOUT/DRDY signals the high to low transition of DRDY as the DOUT/DRDY pin is already low. The conversion data (or even a register read) could set the pin state to be high or low for the last bit transmitted out DOUT/DRDY. You need to find a way to force the last bit read from the device to a high state. This is most easily done by reading a register where the last bit of the register is high (logic 1).

    The actions for doing this are detailed in section 9.5.5 in the ADS124S06 datasheet starting on page 71. In operation when CS is brought low and DOUT/DRDY is high, then no new conversion data are available. But when CS is brought low and DOUT/DRDY is low, then new data are available to be read.

    Best regards,
    Bob B
  • Hi there,

    In our circuit, we have permanently pulled high the dedicated DRDY pin. Is it right to do so? We are just sending START command through SPI each time the ADC is powered up. Ideally, in continuous conversion mode, after sending the START command, the DRDY (dedicated or multiplexed with DOUT) should toggle HIGH every after 200 ms considering 5sps data rate with low latency filter. But, we are not able to trace this kind of waveform on DSO.

    We are switching between 2 ADC channels after taking 1 sample of each at 5sps data rate. Please let us know whether the single shot or continuous conversion mode would be suitable for this application? 

    Regards,

    Surya Mohan

  • Hi Surya,

    The DRDY pin as an always active push-pull output regardless of CS being high or low. It does not need a pull-up, but it is not an issue if you have a pull-up on this pin except that more power is consumed with current through the pull-up resistor when DRDY is low. The DRDY pin can be used as an interrupt to the microprocessor when new conversion data are available. This is because the DRDY pin will go high if it is low during the update period and then when the new data are available the DRDY pin will go low. You can trigger an interrupt on the falling edge of DRDY. However DRDY will not go low if the device is not converting.

    You said the Start command was issued after power-up. If a conversion was not started, then either the command was sent incorrectly or too early after the ADS124S06 was powered. You cannot communicate to the ADS124S06 until IOVDD, DVDD and AVDD (they must all be powered) have reached nominal operating voltage. After the power is applied you should wait at least 2.2ms before attempting to communicate to the ADS124S06.

    The DOUT/DRDY pin will follow the update transition period similar to DRDY if CS is low. If CS is high, then you will have to poll the pin periodically following the information I posted earlier.

    If you cannot use DRDY, then I would suggest that you connect DOUT/DRDY to the MISO pin on the micro and also to one other GPIO pin that is capable of forcing an interrupt. This is a much easier way to determine when the conversion is finished. The operation would be the same in this case as using DRDY as the interrupt source if CS is held low. You would need to enable the interrupt when waiting for the conversion to end, and then disable the interrupt when reading the conversion result.

    If CS toggles, then you will need to add a pull-up resistor on the DOUT/DRDY pin (because you don't want the micro input to float when CS is high). If you follow the guidelines from the previous post you would periodically pull CS low and poll (or read the state of) the GPIO pin to see if it is high or low. If it is low you would read the conversion result.

    If you don't have an extra GPIO pin available, then you would need to change the pin functionality. When waiting for conversion data you would need to make the pin function as a GPIO. When you are ready to read the result, you would need to change the pin functionality to SPI MISO.

    Either single-shot or continuous conversion mode will work well in any case. Deciding whether to use single-shot or continuous conversion mode depends on your code flow. If you have an interrupt driven system, then you won't see much benefit using one mode over the other. However in the case of using a single pin to capture both DOUT (MISO) and DRDY (GPIO) on the DOUT/DRDY pin, then single-shot mode may be easier to keep track of within the code flow of which sensor is being measured.

    Best regards,
    Bob B