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: - no response on RDATAC

Part Number: ADS1282

I have a ADS1282 based design  - i am reading data using RDATAC command. DRDY triggers as expected, but DOUT is at 0. The SPI interface itself reading and writing registers is working as expected. By when a SPI read is triggered on DRDY, DOUT does not change at all. Input clock is steady at 4.096MHz, and SCLK is being generated after DRDY trigger. BYPAS is around 1.8V. Would appreciate any pointers on how to debug this. 

Thanks

  • Hi Santosh,

    I'm not sure what the issue may be here since you say that register reads and writes are working for you. Assuming that SPI communication is working, the most likely cause for reading all zeros or all ones on DOUT would be the timing of when the SCLK pulses are sent with regard to /DRDY...

    If you are attempting to clock out data before /DRDY goes low, then this would likely result in a fixed valued on DOUT (0x000000 or 0xFFFFFFFF). The only other instance I'm aware of where the device would behave like this would be in continuous sync mode during a re-synchronization (while re-synchronizing /DRDY will toggle but DOUT will be held low for the 63 conversion periods required for the FIR filter to settle). By chance are you programming the CONFIG0 register to put the device in continuous sync mode?

    To troubleshoot this issue, I would double check on a scope that you are only sending SCLKs after the /DRDY signal goes low. There should be 32 SCLK pulses and /DRDY should return high after the first SCLK pulse. 

    Additionally, you might try programming the CONFIG0 register to use the "Sinc filter block only" (to shorten the digital filter settling time) and waiting longer before reading data or reading data multiple times to see if DOUT does change eventually.

     

    If you have additional information you could share, it would be helpful to see a schematic and to know how you are programming the device registers.

  • Chris, 

    Thanks for the quick response. 

    Yes - CONFIG0 is indeed being set for continous sync mode. SPI clock is being generated only after DRDY goes low, - i use DRDY going low as the trigger SPI read. I will recheck the timings on the scope. It would be great if you could review the schematic - should just post the relevant page in the forum or is there a different mechanism. 

    The register settings i am currently using are:

    Config 0 - Continous SYNC, 4000SPS, FIR - Linear, Filter: SINC + LPF

    Config 1 - MUX: AINP1 + AINN1, PGA Chopping: Enable, PGA Gain: 1

    High Pass, Offset and Full Scale registers are all default. 

    Thanks

    santosh

  • Hi Santosh,

    If you have the device in continuous-sync mode then you have the option to apply a kind of clock single to the SYNC pin. This clock has to have a period that is equal to an integer multiple of the data rate and it must be very precise!

    If the device sees a rising edge signal on the SYNC pin that is not within the 1 master clock (i.e the 4.096 MHz clock) period that corresponds with the beginning of a new conversion, then it will resynchronize and data will read all zeros until synchronization completes.

    If this is not desired, then I would highly recommend configuring the device for PULSE-SYNC mode. In pulse-sync mode, the the device only re-synchronizes when you instruct it to (via SPI command or SYNC pin rising edge).

    As for the schematic, you can send it to me in a private message if you prefer not to post it to the public forums. Click on my user name and you should be given an option to message me directly.