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.

ADS1220 SPI Interface

Other Parts Discussed in Thread: ADS1220, REF3233

I have a strain gauge product I am designing that uses an MCU and the ADS1220 for bridge circuit analysis. I have previously prototyped the application on a breadboard and wrote a complete program along with a ADS1220 header file for SPI communication with the ADS1220. Currently on my breadboard everything is working quite well and proven out; I can talk with the ADS1220 with no problems and continuous conversions.

My issue is this; I have moved on from the breadboard prototype onto the PCB prototype. Upon soldering the MCU, LCD, and ADS1220 onto the PCB (for initial error checking), I uploaded my programs onto the MCU and found that I could not receive constant communication from the ADS1220. I have been pondering this issue for a couple days now and have tried quite a few troubleshooting methods. I initially had two individual analog power regulators (REF3233) for the the reference and analog power pins on the ADS1220. I was seeing large voltage drops on these pins, the ADC reference pin went from 3.3V down to 0.75V and the AVDD pin went from 3.3V down to 1.5V, when I would randomly receive a single conversion from the ADS1220 then all conversions would cease. I suspect that the reference input pin is current buffered and absolutely should not have been drawing more that 10mA (ref3233 max current) to cause such a voltage drop (the ADS1220 ref pin is rated at 10nA). Therefore, I decided to de-solder and replace the ADS1220 with a new one and also removed the analog regulators. Note: At any given time before or after the analog voltage drops, the DVDD pin remained at a steady 3.27V from the MCU regulator. With this in mind, I decided to tie the ADS1220 AVDD pin to the DVDD pin and am currently, seeing a good constant voltage with no drops. Note: I am not using the REF3233 regulators at this time for troubleshooting isolation. I then powered the circuit with MCU, and am still seeing no communication from the ADS1220. I had previously powered the analog and digital power pins on the ADS1220 from a single regulator with no communication problems on the breadboard circuit.

What my PCB circuit currently looks like is brutally simple at this point, I only have the MCU tied to an LCD for communication verification via I2C and the MCU tied to the ADS1220 via SPI. All SPI traces are routed directly to their respective pins from the MCU to ADC, and I have completed continuity checks on every trace. A current concern of mine is that, on the breadboard all wires and pins have an intrinsic resistance on them, and on the PCB everything is soldered therefore significantly less resistance between MCU and ADC on every SPI connection. I had noticed that the ADS1220 recommended putting 47ohm resistors in series with SPI traces to "soften" sharp transitional spikes. The breadboard SPI connection resistance is currently in mOhm not Ohms, and PCB is in uOhms.


Other tricks I have tried are: Slowing the SPI communication speed down to dampen transistional spikes, Increased startup time before initializing the ADS1220 giving time for the power pins to stablize, and adding the AVDD and DVDD decoupling capacitors to my PCB circuit.

Other than that I am practically exhausted of all my troubleshooting magic tricks and have come to a crossroads. Any help or insight you have on this issue is greatly appreciated!

Attached below is snapshot of the portion of my circuit I am currently working with.

  • Hi Jacob,

    I'm sorry that you are having issues with device communication.  I don't see anything that jumps out at me as being an issue.  In the past I've seen issues with grounding, or incorrect values for the bypass caps used (or none at all).  There could also be a connection issue.  It is interesting that you see a problem with the REF3233 as well.  This would seem to me to be a related problem, such as no good return current path.  Would it be possible for you to send me your complete schematic and pcb gerber files?

    I question whether the ADS1220 has correctly issued a POR internally.  Before you can communicate to the ADS1220 there must be valid AVDD and DVDD supplies and the internal clock oscillator must have started.  Once the device has completed POR, there will be one conversion and then the ADS1220 will go to a power down state.  This will cause the DRDY output to go high and then low and stay low.  If this does not happen, then it would appear that the device has not released from POR.

    Best regards,

    Bob B

  • Thank you for your help! I actually found the issue to be easily done but hard to find. All of my pins on my PCB are correct except for the MISO and MOSI pins from the MCU to ADS1220. I have the data out from MCU going to the data out for the ADS1220! Proved to be a very difficult troubleshooting issue for myself. In hindsight, it is a no brainer. Thanks again.
  • Hi Jacob,

    I'm glad you found the problem.  Feel free to post again if you have any further issues.

    Best regards,

    Bob B