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.

ADS1120 configuration switching problem

Hi,

I'm switching between two different register configurations every 100ms, with a SPI clock frequency of 2.48MHz.
Most of the times the return value is correct, but sometimes (random) the return value is too high or too low.

I tried to find the problem with some basic code.

Pseudocode:
- Configure and start single shot/continuous (depends on the test) with the start/sync command.
- wait 100ms.
- Read value and start a new single shot/continuous (depends on the test) with the start/sync command.  

Configuration register:
REG0    0b01010001
REG1    0b11010000
REG2    0b01010100
REG3    0b01001000

My test results are:
- Single shot not working correctly because sometimes the return value is too high or too low.
- Continuous not working correctly because sometimes the return value is too high or too low.
- Continuous without configuring and starting the conversion continously (only at the beginning) is working correctly.

What could be the problem? And how to solve?

Thanks,

R. Stark

  • Hi R. Stark,

    Welcome to the forum!  Usually these types of problems are related in some way to timing.  Is it possible for you to send me your schematic and tell me a little bit more about what you are measuring and how you are providing your reference?  You also gave me one set of register values, but you have not shared what the register changes are that you are making.  I did notice from the register settings for register 2 you have set the digital filter mode for 50/60 Hz rejection which will not work for the 2000sps data rate you have chosen.  If you are susceptible to power line-cycle noise, this may be part of the issue as well.

    When you say the results are too high or too low, what are the results you are expecting and what are you getting back?  Are you recording a single conversion result or are you capturing more than one result for comparison?

    Make sure you also consider any analog settling.  If you power up and down the IDACs, you must also consider the time for the IDAC to settle and any capacitor in the reference/measurement path to also settle.

    Best regards,

    Bob B

  • Hi Bob,

    Thank you for your reply.
    After a long time of debugging I saw on the oscilloscoop that some configuration commands were manipulated randomly by the system.

    Then I checked the errata-sheet of the microcontroller and I found the problem (ww1.microchip.com/.../80000619J.pdf see item number 37).

    Best regards,

    R. Stark