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.

ADS7953: Misssing Codes

Part Number: ADS7953

Hi Team,

I'm using an ADS7953SRHBT in this design. In general, the results are correct for every converted channel, it's just that the ADC seems to get stuck on certian codes.

The inputs to the ADC are 3.3V linear hall effect sensors. These same hall effect sensors are also used on a different board with different 12-bit ADC, and there are  no missing codes with that design. From the MXO pin, the signals go through a voltage divider, and then a buffer, then into the AINP pin. Here is the portion of the design containing the ADC.

VA = 3.3V, VLOGIC = 3.3V

Here is some recorded data from one channel:

As can be seen above, the ADC can miss quite a few codes. In the above image, it can jump from 2016 to 2033, and from 2352 to 2384, among many other ranges. The missing codes are repeatable, as multiple sweeps through the same voltage range will show the same missing codes. So many codes are missing that it is almost like an 8-bit ADC at this point, which won't work for this application.

The device is configured in Manual Mode, and the same issue happens on every selected channel.

Things I have tried so far:

  1. Checking the SPI communication to the microprocessor: The data recorded by the microprocessor matches the SPI output from the ADC.
  2. Removing the buffer and directly connecting the output of the voltage divider to the AINP pint: This had no effect.
  3. Removing the voltage divider and directly connecting the MXO pin to the AINP pin: This had no effect. 
  4. Desoldering the ADC and replacing it with a new one: This had no effect.

Can anyone see something in the design that may be causing this, or offer any suggestions? Any help would be greatly appreciated.

Thank you,

Matt Howorko

  • Hello,

    It sounds like the source of the issue is likely the reference.
    The reference input is compared to the input signal within the device to measure the output signal. If there is drift or oscillation in the reference input, then this will reflect at the output.
    You mentioned that there is another board with a different ADC, to eliminate the device as the source of the error, would it be possible to test the ADS7953 on the other board?

    Regards
    Cynthia
  • Hi Cynthia,

    There was a small amount of noise on the 2V5A reference rail with the 330pF capacitor on its output, and there is some jitter when a sample is taken. I added a 1uF capacitor onto the output of the reference, which caused it to oscillate for some reason. This made the missing code issue in the recorded data worse, which seems to confirm your idea.

    I will try to improve the reference quality and see what happens. It shouldn't behave like this.

    The other board I mentioned uses an ADC which is not pin-compatible with this ADC. Furthermore, it uses VA as a reference directly instead of a dedicated reference component. So I can't test this ADC on that board, unfortunately.

    Can you help me understand why a noisy reference would cause missing codes instead of noisy recorded data?

    Thank you,
    Matt
  • Hi Cynthia,

    You were correct about the reference noise. Adding a larger capacitor in the place of C21 did not work, and just caused the reference to oscillate. So I tombstoned a resistor and large capacitor to make a low pass filter in the place of C21, and it fixed the issue without causing the reference to oscillate.

    Thank you for your help!

    Regards,
    Matt