AnsweredAssumed Answered

AD7606 reading in parallel mode

Question asked by lostinspacebar on Dec 30, 2011
Latest reply on Jan 7, 2013 by davidepontremolesi

Hi,

 

I am trying to use the AD7606 in parallel 16-bit mode. I have the AD7606 setup with an internal reference and it's spitting out 2.5V on the VREFout pin as the datasheet states.

 

I'm asking it to convert both banks at the same time and when I pull those two down, I am getting a BUSY signal back properly. My code is below (this is for the PIC, but it really doesn't matter, just showing you what I'm doing from a higher level standpoint):

 

// Disable read and chip select
pin_set(_adc.n_read);
pin_set(_adc.n_chip_select);

// Start conversion on the adc.
pin_set(_adc.convert_a);
pin_set(_adc.convert_b);

// Wait for busy to go high
while(pin_read(_adc.busy) == 0);

// Wait for busy pin to go low
while(pin_read(_adc.busy) > 0);

// Pull down convert pins
pin_clear(_adc.convert_a);
pin_clear(_adc.convert_b);

 

My problem is with the actual data. For some reason the range for voltage in seems to be between -0.1V to +0.1V. I can see the ADC output change when the voltages are changing between this range, but as soon as it hits ~0.1V it hits 32767. Is there any reason why the ADC would do this? The internal reference seems to be working fine, so why would it do this? I can't find anything in the datasheet that could affect some sort of gain or reference voltage.

 

The other weird thing the outputs do (and maybe will be helpful in troubleshooting this) is that channels 1-4 are giving me the same data as channels 5-8, even though all ADC inputs other than channel 1 on my board are currently floating.

 

Any help would be appreciated.

 

Thanks,

Aditya

Outcomes