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.

Obtaining a reading as quickly as possible from the ADS1248?

Other Parts Discussed in Thread: ADS1248

I'm working on an application where we need to power up the ADS1248, acquire a reading, then power it down as quickly as possible.  

Is this the correct sequence to go about doing this?

  1. Power up DVDD, AVDD
  2. Wait 2^16 clocks @ 4.096 MHz = 16 ms (minimum)
  3. SPI write: write first 4 registers with desired settings (VREF control always on, on-board reference, MUXCAL = normal, PGA = 1, DOR = 1000sps)
  4. SPI write: Self offset calibration (SELFOCAL)
  5. Poll DRDY until it goes low
  6. SPI write: Stop reading data continuously (SDATAC)
  7. SPI read: read all registers to confirm that they were properly written
  8. SPI write: write register 0 to select MUX input pair
  9. Poll DRDY until it goes low
  10. SPI write: read data once (RDATA)
  11. SPI read: clock in 24 bits of data

Overview:

Steps 3-4


Steps 5-7

Steps 7-8

Steps 9-11

  • Hi Alex,

    It looks like you have the basic steps covered, but you must also make sure that you wait long enough for the analog inputs and reference to completely settle before taking a measurement.  The reference settling will be determined by the size of the cap used across the VREFOUT/VREFCOM pins.

    One other consideration that is often overlooked when powering down the device is sensor excitation.  You should not exceed the absolute maximums for the ADS1248.  This can occur if there is a sensor or external voltage present on the inputs.

    Best regards,

    Bob B

  • Hi Bob, 

    Thanks for the reply.  

    One of the things I couldn't determine: does START have to be high before sending any of the calibration commands?  The datasheet mentions that taking START low after a calibration command will put the device to sleep.  Does this imply that START has to be high at any point during the calibration sequence?

    Alex

  • Hi Alex,

    From page 37 of the ADS1248 datasheet:

    The means that any calibration command, register write or register read command requires that START be high when it is issued.  So to answer your question, you do need to set the START pin high when you issue the calibration command.  Once the command has been issued and decoded you can set the START pin low.  The command will continue to function until completed even with the START pin set low.

    Best regards,

    Bob B

  • Hi Bob, thanks again.  I glossed over that section.

    I am getting much higher than expected variance in the conversions that I'm reading out of the ADS1248.

    In the current configuration, we are using the ADS1248 to measure the differential voltage across a 49.9 ohm sense resistor connected to AIN4, AIN5, that has a 4-20 mA current through it.  The sense resistor is located right next to the ADS1248.  We have separate 2.8 V LDOs for the digital and analog pins on the ADS1248.

    I collected a sample of 20 readings, all in a single power-on session, after waiting enough time for VREF and the inputs to stabilize.  The 20mA current source is a Keithley SourceMeter.  

    Any ideas on what could be the cause?

  • Hi Alex,

    Can you send me your schematic?

    Thanks,

    Bob B

  • Hi Bob,

    I included it in the friend request.  Let me know if it came in.

    Thanks,

    Alex

    PS: I did the same experiment at 5 SPS and 20 mA input, and the RSD went down to 0.02 % from 0.88 % (at 1000 SPS).