AnsweredAssumed Answered

AD7091R-5 Conversion problems

Question asked by SimonRo on May 17, 2017
Latest reply on May 22, 2017 by Ryan_Curran

I was disappointed to find that there's no Linux driver available for the AD7091R-5 part our hardware team have selected. I'm trying to adapt a driver for a similar part, but I'm having trouble getting a sensible conversion value out of the device.

I don't have a huge amount of confidence in the datasheet, having found mistakes and seen the version labelled as 'Rev 0'.

 

With no driver running I've been trying to manipulate registers directly using i2ctools.

After boot the configuration register reads 0x00c0, in accordance with P.22.:

 

i2cget -f -y 0 0x28 0x02 w

0xc000 (NB byte swap)

 

Set to 'command mode', enable internal reference voltage & power up:

i2cset -f -y 0 0x28 0x2 0x0304 w

 

Enable all four channels:

i2cset -f -y 0 0x28 0x1 0xf b

 

Read conversion result register:

i2cget -f -y 0 0x28 0x0 w

0x0000

i2cget -f -y 0 0x28 0x0 w

0x0020

i2cget -f -y 0 0x28 0x0 w

0x0040 

i2cget -f -y 0 0x28 0x0 w

0x0060

 

The channel number increments but all zeroes are returned even though the channels have a 1.6 volt input. We're using the internal 2.5V reference which we measure correctly at REF_IN/OUT. MUXOUT correctly shows the input channel voltages and changes as the reads are performed. 

 

Any suggestions?

 

Thanks

Simon

Outcomes