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.

ADS1282: How to make RDATAC command work?

Other Parts Discussed in Thread: ADS1282

Trying to talk to the ADS1282: SDATAC stops automatic data transmission, but RDATAC won't resume it- need to reset the device. Is there anything else that I need to do to make RDATAC work?

Brian

  • Brian,

    How are you determining that RDATAC is not working?  Are you saying that DRDY does not go low?  Are you sure that the correct command is being sent?  Have you verified the command by looking at the waveform with an oscilloscope? Can you send us a picture of the scope plot?  Can you send us a schematic?  Are  you sending any other commands?

    Best regards,

    Bob B

  • Dear Bob,

    after reset (and waiting long enough), I send:

    0x41 = WREG from address 0x01 on (CONFIG0)
    0x02 = write two bytes: CONFIG0 and CONFIG1
    0x46 = CONFIG0: 7=SYNC=0=PulseSyncMode | 6=MODE=1=HiResMode | 543=DataRate=000=250SPS | 2=PHASE=1=minimumPhase | 10=FILTR=10=Sinc+LPF
    0x0E = CONFIG1: 7=reserved=0 | 654=MUX=000 | 3=CHOP=1=ChoppingEnabled | 210=PGA=110=64

    If I then send RDATAC (0x10) the device will do nothing. Otherwise, it will work as expected. When I send SDATAC (0x11), it will stop sending data, DRDY/ goes high. Sending RDATAC will not resume normal operation. Do I need to do anything after sending RDATAC?

    My SPI works, I think- the device reacts correctly to all commands, such as changing configuration to shorted inputs, gain, and so on.

    Thank you :)

    Bernhard

  • Bernhard/Brian,

    How have you determined that RDATAC is not working?  If DRDY is low, the data may need to be read from the device.  Are you able to send me any scope shots?

    Best regards,

    Bob B

  • Dear Bob,

    sorry for the confusion with the names- my colleague wrote that..
    Attached, scope shots. I examined the problem further- every second time, transmission of data resumes when sending the RDATAC command, however it sends wrong data. I checked SPI timing, that seems to be ok. So, I'm wondering if there are any other things that need to be done, e.g. handling of the SYNC input.

    We will investigate this here further- any idea will be very welcome. Maybe the information attached triggers some :)

    Brian

    ADS1282 timing.pdf
  • Brian,

    I'm very sorry that I didn't catch this earlier.  When you read or write registers, the number (2nd command byte) is the number of registers less one (n-1).  See note 3 under Table 20 of the datasheet.  Your commands are actually being read as data.

    Best regards,

    Bob B

  • Dear Bob,

    oh my... Thank you VERY much- I think I would never have found that!!
    Things like this are quite embarrassing and show on the other hand the huge value of help by TI!

    Best regards,

    Brian