Post Go back to editing

AD7731 via Arduino SPI

We're using an Arduino to control an AD7731.  We think the SPI interface is working in that we can 1) trigger a reset by writing four 0xFF bytes and see the RESET pin go low via our logic analyzer and 2) After the reset, we read the Mode register and get back 0x174 as per the data sheet.  Our problem is that when we try to do a continuous conversion read operation, fully differential, AIN1(+) and AIN2(-), 0 - 1.28 V, Mode bytes as follows (MSB first)   00110001  01110100, we can't ever get the RDY pin to go low.  Is there a way to check the operation of the chip so see if conversions are being made and put in the data register at all?  I don't think we fried the chip, but we don't have a way to check.  Also, we are using the AD780 2.5V reference.  We could send you code if that would help.

Thanks,

George

Parents
  • Hi George,

    You need to connect the /SYNC, /RESET and /STANDBY to a logic high, DVDD, +5V in your case. A floating digital input can float around or go down to GND. This is known as an "indeterminate logic state". So in your case, the part is most likely in a reset state. There will be no ADC conversion operation but the register SPI read/writes will still work. The most common way to tie digital inputs to DVDD is with a 10K pull-up resistor, as this allows you to tap a GND wire to the pin when required to activate that function, (that is for logic low active functions denoted by the "\" symbol.

    Let me know how it goes,

    Regards, Brendan.

Reply
  • Hi George,

    You need to connect the /SYNC, /RESET and /STANDBY to a logic high, DVDD, +5V in your case. A floating digital input can float around or go down to GND. This is known as an "indeterminate logic state". So in your case, the part is most likely in a reset state. There will be no ADC conversion operation but the register SPI read/writes will still work. The most common way to tie digital inputs to DVDD is with a 10K pull-up resistor, as this allows you to tap a GND wire to the pin when required to activate that function, (that is for logic low active functions denoted by the "\" symbol.

    Let me know how it goes,

    Regards, Brendan.

Children
No Data