Post Go back to editing

CN0209 Accuracy error


I am using CN0209 circuit from the lab in a design for my company.

I tested the design an I saw accuracy error in the Voltage measurement. I want to ask some questions:

Q1: Which is the spected accuracy of the interface? expressed in % of the input full scale for example 

Q2: Which configuration of thew AD7193 must to be used for voltage reading? (Buffered, chop, Differential, unipolar etc ) If you provide me the config and mode registers is ok

Q3:Which configuration of thew AD7193 must to be used for the rest of interfaces? If you provide me the config and mode registers is ok

Q4: which is the function of the 1K5 resistor and the 100nF after the ad8275?

I think part of the error in accuracy is due the voltage drop in this resistor using unbbufered configuration in ADC. In unbuffered mode, the input current is 3.5uA/V typical. That means that the error voltage is dependent on the magnitude of the input voltage.

If we short the input and  test this will cause an error voltage of about 3.5uA*2.5V*1500ohms, or 13.13 mV.. When the input is near positive full scale, the input to the ADC is close to zero (due to the inversion in how the amplifier is used), so the error voltage caused by the input currents is much less, say 3.5uA/V*0.2V*1500ohms, or 1.05 mV. When the input is close to negative full scale, the input to the ADC will be close to 5V. This will cause an error of 3.5uA/V*5V*1500ohms, or 26mV. And these are with the typical input current. It could be, and will be higher at higher temperature. Referred back to the input of the AD8275, the error can be as much as 130 mV or more between plus full scale input and minus full scale input.

Q5: Can we reduce this error (if my hipotesis is correct) lowering or removing the 1K5 resistor? Can we use buffered configuation or this means to loss input range due the reduction in input voltage in buffered configuration to AVDD-0.250V ans AGND+0.250V?


  • Hi,

    I moved this thread to the Reference Circuits community, someone here should be able to help you.



  • Hi Mikel,

    What sort of accuracy error were you seeing for the voltage measurement, under what conditions? What are you using for the voltage input?

    The settings I suggest are;

    Measurement between AIN3 and AINCOM (pseudo differential); buffered, enabling chop will minimize the ADC's offset voltage, External REFIN1. What values are you writing to the mode and configuration register?

    The 1K5 and 100nF after the AD8276 provide a low pass filter with ~1kHz cut-off, thus filtering any higher frequency noise from the AD8276 output. Enabling the input buffers will mean that this filter should cause negligible error.

    A +-10V input will be translated to a +-2V signal by the AD8275, this is centered at the mid-point of the 4.5V reference. This means the output will swing between 250mV and 4.25V for a +-10V input. So this satisfies the foot-room requirement of the buffer. If you'd prefer extra margin the reference voltage could be increased, though the circuit would need to be altered accordingly, and you would utilize less of the ADC range.



  • Hello

    Thanks for your response

    -I am using a keithley 6430 sourcemeter and a Nist calibrated Dial A source model DAS 57BL from General Resistance Instruments.

    Errors ara near 0.3% of the full scale and vary with the input voltage.

    -My settings are as you said, also I do averaging x16.

    -About the voltage interface, the output voltage is inverted. Can you provide me the formula you use to convert from counts to voltage?

    -Do you have any response for the questions Q1 and Q3?

    Thank you very much for the support

  • Hi Mikel,

    From a quick rough error analysis;

    1. ADR194; 4.5V reference with up to 2mV error maximum, so that's 2mV/4.5V ~ 0.045%
    2. AD7193, taking Gain=1, most of these errors are much less than the reference error. An internal calibration and enabling chop will also negate most error sources. The only error that could be significant is if the input is unbuffered. In this case the error is ~ 3.5uA/V * 4V = 14uA. 14uA through 1.5kohm is 0.021V. 0.021V/4Vrange = 0.525%. So this could be a significant source of error, especially at full-scale.
    3. AD8275; 0.024% Gain error max, 0.0125% Offset error max (500uV/4V), 0.024% reference divider accuracy max.
    4. AD8676; 'negligible' errors.

    So adding the worst case errors for all of these gives ~ 0.11% when the ADC is buffered and 0.635% when unbuffered.

    An example setup of the mode and configuration registers (This is for SINC3 filter, 'zero latency', 50/60Hz rejection, chop enabled, buffers enabled, unipolar operation). 


    Mode Register
    Bit Location 23..21 20 19,18 17,16 15 14 13 12 11 10 9..0
    Value 0 0 10b 0 1 0 0 0 1 1 0x60


    Configuration Register
    Bit Location 23 22,21 20 19 18 17..8 7 6 5 4 3 2..0
    Bit Name Chop 0 REFSEL 0 Pseudo Channel Burn REFDET 0 BUF U/B Gain
    Value 1 0 0 0 1 0x4 0 0 0 1 1 0

    As the above is set to unipolar encoding with a 4.5V reference, and the input signal is attenuated by 1/5 from the AD8275, so the input voltage can be calculated by;

    • ((4.5/2^24)*ADC_Code)*5.

    The +'ve input should be applied to J1-2 and the negative input/ground to J1-3. If this is the case I don't believe the input should be inverted.



  • Thanks Derrick this error is similar to what I am measuring both in the evaluation board and in our board.

    Still I would like to know the configurations and formulas for the rest of interfaces if possible.

    I have another question. Is it possible to use ADG1414 instead of ADG442?  I don´t understand why you use a different switch. Is because ADG442 is better for thermocouple or is it only because if you use a ADG1414 you have 4 switches unused?


  • Good to here that what you are seeing makes sense in relation to the error budget.

    Which other configurations and formulas are you interested in?

    It is possible to use an additional ADG1414 instead of the ADG442, though in this case you would need to control an additional /SYNC line. This would require an isolated channel to the controller.

    Two reasons a different switch were used are that the ADG442 is a quad channel device instead of an octal, it was also easy to control using the digital output pins (P2, P3) of the AD7193 thus avoiding an additional isolation channel.



  • The 4-20mA , PTC , and thermocouple formulas.

    Which is the purpose of the isolation in  ADC SPI and GPIOS?

    Makes sense this isolation if the ADC and the microcontroller are in the same board ?

  • Hi Mikel,

    The need for isolation depends on your system requirements. Isolation may be used for a number of reasons, including to protect downstream circuitry from excessively harsh transients (ESD, EFT, surge etc) that may even damage a particular isolated circuit. In CN0209 the current, voltage and temperature input terminals are isolated from the controller.

    Click here for a reference on isolation that may be of interest.

    It is possible to remove the isolation if it is not required in your system, in this case make sure to follow good layout practices to ensure that the dynamic current draw of the micro-controller does not significantly degrade the performance of the converter.

    For voltage mode, I made an error, which is that the input channel set in the configuration register should be AIN3 (0x2) and not 0x4.

    For 4-20mA, use the same settings as for the voltage input, but set the channel in the configuration register to AIN4 (0x5) for current input channel 1, or AIN8 (0x7) for current input channel 2.

    The calculation for the current; Current = (4.5/2^24)*ADC_Code/200ohm

    For Thermocouple the measurement is differential so the following configuration settings;

    • Channel 1 (AIN1, AIN2): Pseudo = 0, Channel = 0x0
    • Channel 2 (AIN5, AIN6): Pseudo = 0, Channel = 0x2

    You would also want to adjust the gain according to your thermocouple type to increase the resolution. The voltage of the thermocouple can be calculated by (4.5/2^24)*ADC_Code/gain . The cold junction compensation can be performed using the on board ADT7310.

    I suggest searching 'Thermocouple 101' on for a series of detailed videos on thermocouple measurements  and linearisation (Unfortunately I couldn't find a link to a page with them all listed). Another resource is this circuit note.

    For the PTC, the measurement channels are the same as for the thermocouple. Set the gain acording to your PTC type, and refer to the PTC's datasheet for linearisation. The resistance of the PTC can be calculated by;

         Resistance = voltage/current = [(4.5/2^24)*ADC_Code/gain] / [2.25V/11.5kohm]



  • Hello again Derrick

    I am not sure how to perform the measurements for a 3 wire PT100.

    do I have to take 2 measures? something similar to your circuit note cn-0287, page 4?

    Thank you