AD7322: Accuracy and precision problem


I am currently trying to use a AD7322 but I have some problems with the accuracy and precision.

For exemple, I setup the input voltage at 3.76V (According my multimeter) and the range to ±10V as I use the internal reference (2.44mV is use to scale the data).

Bipolar mode:

Fully diff: 6.314 / 6.256 / 6.353 / 6.273 / 6.2268 / 6.322

Pseudo diff: 2.796 / 2.681 / 2.527 / 2.544 / 2.427 / 2.615

Unipolar mode:

Single Ended: 4.887 / 4.850 / 5.004 / 5.124 / 4.577 / 4.567 / 4.672

I attached the SPI command, it is the beginning of the configuration of the control register (0b10000010). The strange thing is that the input data is clocked on the fallaing edge of the SCK which is good but not the output data from the AD7322.

Please find also the schematic of the board.

I also have these components on another board where I use an external 3V reference but they also have this problems.

Any ideas?


Forgot to precise for the scope image

Channel 1 (Blue): SCK

Channel 3 (Pink): MOSI

Channel 4 (Green): MISO

Channel 2 (Cyan): CS
  • 0
    •  Analog Employees 
    on Feb 27, 2012 3:41 PM


    The MSB of the output data is propagated at the /CS falling edge after that the remaining 15-bits are clocked out on the SCLK falling edge as shown in Figure 50 on page 30. From your scope plot the MISO or DOUT is changing after the SCLK falling edge also.

    Can you take a scope plot, all 16-bits, of one of the ADC conversion results and confirm how you are configuring the registers for the different modes?

    Also what is your signal source and do you have an amplifier stage?



  • The range is setup for ±10V (0b10100000 and 0b00000000)

    Channel Adress 1, Single Ended Mode (0b10000100)

    Twos complement, Internal Reference, Sequencer not in use (0b00011100)

    In order to test I just use a PSU. My multimeter measure a voltage of 1.903.

    Here are the scope for the readings

    1) CS

    2) SCLK

    3) MOSI

    4) MISO or DOUT

    If I take the value pick up by the uC and divide them by 2 and scale them with 2.44mV I got:

    Read 0: 1878.8mV

    Read 1:  1869.04mV

    Read 2: 1878.8mV

    Read 3: 1921.5mV

    The value of the read 0 and 1 are the same but the scope show they are not. So there is a timing issue like you already underline.

  • 0
    •  Analog Employees 
    on Aug 2, 2018 4:32 PM
    This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin