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.

ADS1262: Strange spikes during continuous acquisition

Part Number: ADS1262

I am using the ADS1262 on a temperature sensor configured as a wheatstone bridge and am having terrific results so far!  There is just one concerning thing that is happening:

Every so often (really rare) there is a spike in the data read.  This read error is caught both by the Status Byte and the CRC Byte.  In the datasheet it mentions that you should just reacquire the data, however I am very concerned about what is ca using this.  Do you have any insights?  I have attached a figure containing plots of the raw integer returned from the sensor, Status Byte output, CRC returned from chip with Calculated CRC, the difference between.  In all plots you can see two spikes.

  • Hi Neal,

    If the CRC byte is incorrect then that would be an indication of an SPI communication error...Perhaps there was a glitch on SCLK that caused the MCU and ADC to get out of sync.

    Would you be able to share some of the raw data (at least a sub-set of data around where each of the errors occurred)? Sometimes you can spot the error in the raw data (for example, a bit-shift).

    Some other questions I have are

    • Are you testing your own custom made board or are you using the ADS1262EVM?
    • Are you jumper wiring to the SPI or are the SPI signal routed as PCB traces?
    • Is the connection between the MCU and ADC short?
    • Do you have split analog and digital ground planes on your board?

    Best Regards,
    Chris

  • Hello Chris,

    Thank you for your reply (sorry for not replying sooner!)  I think that you're exactly on the right track - I have inspected the signals on the pins with an oscilloscope and they don't look great...  To answer your questions:

    -We are using our own board with microcontroller (STM32F40X) to communicate with the ADCs over SPI bus.  On the microcontroller board side we have a 22R in series with a ferrite bead that has 800ohm resistance @ 100MHz.  We calculated the characteristic impedance of the ribbon cable at ~160ohm. When we switch the MOSI resistance to 160R we found that the waveforms looked better.

    - The SPI connections are in a 6 position, 1mm pitch ribbon cable.  PWR, CS, DGND, MISO, SCLK, MOSI,

    - The ribbon cable is 18" long.

    - I use a continuous ground plane for both analog and digital.

    On the sensor board (board with ADC on it), there are 47R to each pin. We found that by replacing these with 160R

    The raw data of my errors is in the table below. Data was acquired sampling continuously at 5Hz with the ADC set to a 5Sa/s data rate.

    Description

    Raw Data

    Status Byte

    CRCByte

    CRC Calculated

    Error #1

    -479433168

    30  

    132

    210

    Normal Data Immediately Before Error #1

    -298403980

    65

    83

    83

    Error #2

    -1504470724

    7

    93

    250

    Normal Data Immediately Before Error #2

    -376121820

    65

    248

    248

     

    The good news is, both the CRC and Status Bytes are indicating that a transmission error has occurred.  So now my question becomes, when I detect a transmission error (both on Status Byte and CRC Byte not matching calculation) how should I handle it?

    Thanks!

    Neal

  • Hi Neal,

    Not a problem.

    When you detect a transmission error, I would:

    • Toggle the /CS pin (to make sure that the MCU and ADC communication is in sync).

    • Read data again using the RDATA1 command (to ensure that the next bit out corresponds to the MSb of the STATUS byte).
       

    You might need to consider additional ways of improving signal integrity, since reading the data a second time could result in another transmission error and invalid result.

    • Slowing down the rising and falling edges of the SPI signals may be helpful to remove some of the transmission line ringing at higher frequencies. Increasing the series resistance can help with this effect; however, placing these series resistors close to the driving source ("back matching") would help to terminate the transmission line and prevent excessive ringing.
    • Reducing the SCLK frequency may allow more time for transmission line ringing to settle down between the data transition (on the rising edge of SCLK) and when the data is latched (on the falling edge of SCLK).

    • Rewiring the ribbon cable signals so that wires alternate between ground wires and signal wires (i.e. GND, SCLK, GND, MOSI, etc.) could significantly improve the signal integrity by lowering the parasitic inductance of each signal, reducing the loop area between signal and ground, reducing external noise pickup, and reducing cross-talk between signals.
       

    Best Regards,
    Chris