AnsweredAssumed Answered

Repeated values on AD7193

Question asked by Timmmm on Jul 10, 2015
Latest reply on Jul 15, 2015 by Timmmm

I have an AD7193 and it seems to be working fine. However, I get often repeated values out. I'm using the continuous sampling method. I explicitly read the data register (with status), and I ignore results with the data-not-ready flag. Here's what I typically get (ignore the 5's; that is the channel number).

 

5, 8335665

5, 8335653

5, 8335653

5, 8335653

5, 8335653

5, 8335653

5, 8335653

5, 8335614

5, 8335683

5, 8335706

5, 8335658

5, 8335684

5, 8335709

5, 8335675

5, 8335675

5, 8335675

5, 8335675

5, 8335675

5, 8335700

5, 8335700

5, 8335700

5, 8335700

5, 8335700

5, 8335677

5, 8335677

5, 8335677

5, 8335677

5, 8335677

5, 8335675

5, 8335675

5, 8335675

5, 8335675

5, 8335675

5, 8335676

5, 8335676

5, 8335676

 

As you can see there are loads of exactly repeated values, which I think is wrong, but they also aren't always repeated. Does anyone have any suspicions as to what is going on? Here is how the ADC is set up:

 

    adc.setOperatingMode(AD719X::OperatingMode::CONTINUOUS_CONVERSION);
    adc.setStatusWithData(true);
    adc.setClockSource(AD719X::ClockSource::INTERNAL_4_92_MHZ);
    adc.setFastSettlingFilter(AD719X::FastSettlingFilter::AVERAGE_16);
    adc.setSincFilter(AD719X::SINC_3);
    adc.setParity(true);
    adc.setSetClockHalving(false);
    adc.setSingleCycleConversion(false);
    adc.set60HzRejection(false); // We're not in America.
    adc.setFilterOutputRateDivider(6);

 

    adc.setChop(false);
    adc.setReference(AD719X::Reference::REFIN2);
    adc.setPseudoDifferential(false);
    adc.setChannels(AD719X::CHANNEL_0);
    adc.setBurnoutCurrents(false);
    adc.setReferenceDetect(true);
    adc.setInputBuffer(false);
    adc.setPolarity(AD719X::BIPOLAR);
    adc.setGain(AD719X::GAIN_128);

 

I can post the full code if required, but it pretty much does what you'd expect.

Outcomes