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: Searching for advice regarding configuration of ADC ADS1220

Part Number: ADS1220

Hello,

I'm trying to make ADS1220 work. I'm using a PSOC to communicate with SPI. The SPI signals from the PSOC is correct. However, I'm not quite sure what to expect from the ADC, as I'm not sure if I have set it up correctly. I haven't added any reference as I understand that it's using it's internal reference voltage by default. Shouldn't the ADC output a value even though there's nothing on the inputs?( in that case it should send 24*0, but the output pin is constantly high. 

Also, when I measure REFP0, it's connected to ground, while having REFN0 as VDD. Isn't this opposite? 
Any advice is appreciated, and I have attached a link to current simple setup.

DVDD, AVDD and SPI voltage is all 5 V.

https://imgur.com/PdeWhpf

  • Hi Sadoun,

    Welcome to the E2E forum! As you have the inputs floating, the inputs could float to any value and most likely will not be 0. Also, as the data output from the ADS1220 is binary 2's complement, a return value of 0xFFFFFF is -1 decimal. I would not concern myself with the values of REFP0 and REFN0 as these are inputs and not outputs.

    I would suggest attempting to read and write registers to see if you are getting the values expected. You can change the internal mux to the shorted case ((AVDD-AVSS)/2) or one of the voltage monitors. As the ADS1220 defaults to single-shot conversion mode, you must issue the START/SYNC command to initiate (or start) a conversion. It is always a good idea to verify your communication using an oscilloscope or logic analyzer.

    One common mistake made is with CS framing. The communication protocol for the ADS1220 requires that CS remain low throughout the entire communication transaction. If your SPI peripheral is toggling CS for each byte, then you will need to control the CS by GPIO or hold CS low by grounding the pin.

    Best regards,
    Bob B
  • Hi Bob, and thank you very much for your reply.

    After I wrote here, I continued using a good amount of hours reading through these forums and the datasheet, and were able to write to the config registers - and correctly reading them. My issue now is that I can't figure out which pins I need to use for inputs. I need two differential inputs for wheatstone bridges, and this I understand  i can configure myself using the config registers,, but Which of the pins are voltage reference? I though REFP0 was the positive ref, and REFN0 the negative ref. But the there's continuity from REFP0 to ground.

    Please let me know if you need any screen of logic analyzer results, and I will have them posted on Monday when I'm back on my desk.

    Best regards

    Sadoun

  • Hi Sadoun,

    You care correct. REFP0 (pin 9) should connect to your excitation + and REFPN (pin 8) should connect to your excitation -. You would connect your first bridge to AIN0 (pin 11) and AIN1 (pin 10) and your second bridge to AIN2 (pin 7) and AIN1 (pin 6). These are all inputs and none of them are outputs. These pins when floating could be at any voltage, but they have no driving strength.

    AIN3 (pin 6) does also have a low-side switch to AVSS, but by default this switch is open. If you see a low Ohm connection between pin 9 and AVSS, then it is possible the device was damaged in some way.

    Best regards,
    Bob B
  • Hello Bob, thank you for your help. I have succeeded communicating and reading from the ADC correctly.

    However, I miss the option to setup the second bridge inputs?
    Using the table for setting the multiplexer bit 7-4 in control register 0, i have set these bits to 0011 for : AINP = AIN1, AINN = AIN2. But what about the second bridge inputs? how do I set them correctly up, like e.g. AINP2 = AIN3, AINN2 = AIN4

    Best regards
    Sadoun
  • Hi Sadoun,

    You use the same register bits in the Config Register 0 and set them to the other set of inputs. The analog inputs can only be connected to AIN0-AIN3. As you are using the AIN1 and AIN2 inputs for the first bridge, I will assume that you are using the AIN0/REFP1 and AIN3/REFN1 inputs for the reference inputs. I would suggest you use the same excitation voltage for both bridges and also use the REFP0/REFN0 inputs for the reference for both bridges. I would also suggest using the AIN0/AIN1 inputs for one bridge input and AIN2/AIN3 for the second bridge input.

    The first bridge input (AIN0/AIN1) would be 0000 in bits 7-4 of Config Register 0, and AIN2/AIN3 would be 0101. If you connect the reference to REFP0/REFN0, then you would make the Config Register 2 bits 7-6 to 01.

    Best regards,
    Bob B
  • Hmm. Maybe it's me having a hard time understanding what output of the ADC I would expect. How can I both have the boys to 0000 and 0101 simultaneously?

    And if reading both bridges, how is this done?

  • Hi Sadoun,

    The result of the ADC output is from the mux inputs selected in the register settings.  The ADS1220 only has a single ADC with a mux to select which inputs are being converted.  It will not simultaneously convert multiple inputs at the same time.  So you need to set the mux to one setting and take a measurement, then switch to the other mux setting and take a measurement.  This is sort of a ping pong approach.

    Best regards,

    Bob B