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: Data converters forum

Part Number: ADS1220

Hi, I have problem with SPI data rate on ADS1220.

I've been setup turbo mode and 2000 sps.

It seems ADS1220 just responded 60-80 sps. (Sometimes the DRDY pin is inactive too long, so I must send reset command and init again).

I don't know what is problem!

Note: I use intenal clock, SPI baudrate 8Mbits/s. REG0 = 0x3E, REG1 = 0x4D, REG2 = 0x40, REG3 = 0x00

Another question is how I find real weight after I read 3 bytes data?

Best regards,

Toan

  • Hi Toan,

    The SPI clock is too fast.  The maximum clock frequency is 6.67MHz.  I would recommend using an SPI less than 5MHz to make sure that there are no clock drift or incompatibilities.

    Next, review your register settings and in particular registers 1 and 2.  For register 1 you have not selected what you think you have.  0x4D is setting the data output rate to 90sps, duty-cycle mode, continuous conversions and BCS enabled.  You might consider that you use 0xD4, so maybe this was just a typo in your register description, but this would be incorrect if it is written in your code as 0x4D.  As for register 2, make sure that your reference is connected to the dedicated reference or use the correct reference input.

    So first make sure that you are using a slower SPI clock frequency and that your registers are written for the desired operation.

    As far as your conversion of a voltage to weight, this depends on the sensitivity of the load cell, the maximum load that can be placed on the load cell and the excitation voltage relative to the reference voltage.  I would suggest reviewing the section on bridge measurement in the ADS1220 datasheet in section 9.2.3.  There is also a recently published A Basic Guide to Bridge Measurements that you may find useful.

    Best regards,

    Bob B

  • Hi Mr. Blob B,

    The Register 1 value is 0xD4 as you say, sorry for the wrong typo.

    After down SPI speed to very low (62.5 KBits/s), the issue still happens. Sometimes the DRDY pin holds high and never low, very confusing here.

    I have tried: delay 500ms after reading data, the DRDY pin works quite well. But delay 100ms, the DRDY pin sometimes hangs high.

    Thanks,

    Toan

  • Hi Toan,

    If the ADS1220 DRDY pin does not go low, then most l likely a transient has caused the ADS1220 to reset.  You can verify the reset condition by reading out the registers to see if the contents has changed from your original configuration to the default values.  I suspect a device reset is taking place based on the description.

    The transient can easily take place in a prototype situation where wiring is exposed and insufficient safeguards are not used to prevent the ADS1220 from exceeding the absolute maximum ratings for the ADC as specified in the ADS1220 datasheet.  In particular, the inputs cannot exceed the supply voltage by more than 300mV, and the input current cannot exceed 10mA.

    You need to safeguard your inputs from ESD events and from exposed wiring from picking up RFI/EMI.  You may require devices such as TVS diode transient protection and input RC filters to limit external noise and current from entering the ADS1220.  Please send me your schematic to aid in troubleshooting.

    Best regards,

    Bob B

  • Hi Mr.Bob,

    Sometimes when DRDY pin high, I read that 4 registers return value 0, maybe it's was reset.

    I've sent you the schematic, please have a check.

    Best regards,

    Toan

  • Hi Toan,

    I did see the schematic and will respond in the conversation.  From this latest description it does appear that there is some mechanism within your system that is causing the ADS1220 to reset.  This can be a result of a transient on the analog or reference inputs, but could also be caused by a droop in the supply.  Generally we don't like to see any inductance (including ferrites) on the supply.  The average current for the ADS1220 analog is quite small, but startup current can be quite large for a very small duration of time.  The inductance can choke the required current needed for device startup.

    I would suggest monitoring the supplies and device inputs with an oscilloscope to see if there is a transient or droop that is causing the ADS1220 to reset.

    Best regards,

    Bob B

  • Dear Mr.Bob,

    With your suggestions, my team fix some hardware components and used a good power supply, the ADS1220 is good now and works as expected.

    Thanks for your expert support.

    Toan