Post Go back to editing

AD7091R-5 Conversion problems

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


i2cget -f -y 0 0x28 0x0 w


i2cget -f -y 0 0x28 0x0 w


i2cget -f -y 0 0x28 0x0 w


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?



Parents Reply Children
No Data