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.

ADS1158: issue while operating with no use of !DRDY and START pins

Part Number: ADS1158

Hi,

i'm having an issue while setting up my ADS1158.

Following my setup:

  • ADS1158 configured to auto channel mode (because also internal register's e.g. temperatur shall be read)
  • channel data will be read in register format (because !DRDY is not monitored)
  • conversion will be started using Pulse Convert Command (because START pin is not connected)

The problem now is that if i start a conversion using the Pulse Convert Command and read channel data with the next SPI command i guess the inital delay time will not be met and the read data is corrupted or not what i'm expecting.

So is there a possibility to determine if the initial delay time has been passed without monitoring !DRDY?

I really don't want to insert some wait between the sending of the pulse convert command and the register read command.

I tried a workaround and connected the !DRDY signal to one of the ADS1158 GPIO's to monitor it by toggling the GPIO state but it didn't work. Obviously the !DRDY signal is resettet to high state with the beginning of the register read SPI sequence and therefore i alway read high.

Or maybe i see something still completely wrong?

I appreciate any suggesstions,

thanks in advance

  • Hi Michael,

    Welcome to the E2E forum!  Going from an idle state to convert state will take time for the conversion to complete and the data to be settled.  This timing is illustrated in Figure 43 and the timing delay shown in Table 8 which is on page 26 of the ADS1158 datasheet.

    Monitoring DRDY is the best method to know for sure when the conversion has completed.  Or you could start a timer and wait until the timeout has completed before attempting to read from the ADS1158.  If neither of those options will work for you then you could try a slower SCLK so that the conversion will complete within the command to read from the device.  But this slows down the throughput significantly and may not work for all data rates.

    I personally prefer to use DRDY with an interrupt which allows for maximum throughput.

    Best regards,

    Bob B

  • Hi Bob,

    i solved this problem know, as you said, by modifing the hardware and using the DRDY pin.

    Works perfect now!

    Thank you very much.