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
  • Brendan,

        More tests:  I've now read the filter register (I get the default 0x2002) and I followed the pseudocode in Table XIX on p. 36 to do a self calibration.  Still can't see the RDY pin go low with either the logic analyzer or a scope, even after waiting a full second after each calibration (full scale and zero).  I do see some AC noise on the RDY line, maybe 200 mV p-p, lasting about 0.5 s (don't know what event in the cycle triggers the noise).  The logic analyzer is set for 24MHz operation -- is the /RDY pulse so short that we might miss it?  I had earlier tried setting up an interrupt on the /RDY line with one of the Arduino pins (since I think that would react fairly fast), but I saw nothing.  It was done quickly, however, and might need to be done more carefully.  Running out of ideas here....got any more?

    Thanks,

    George

Reply
  • Brendan,

        More tests:  I've now read the filter register (I get the default 0x2002) and I followed the pseudocode in Table XIX on p. 36 to do a self calibration.  Still can't see the RDY pin go low with either the logic analyzer or a scope, even after waiting a full second after each calibration (full scale and zero).  I do see some AC noise on the RDY line, maybe 200 mV p-p, lasting about 0.5 s (don't know what event in the cycle triggers the noise).  The logic analyzer is set for 24MHz operation -- is the /RDY pulse so short that we might miss it?  I had earlier tried setting up an interrupt on the /RDY line with one of the Arduino pins (since I think that would react fairly fast), but I saw nothing.  It was done quickly, however, and might need to be done more carefully.  Running out of ideas here....got any more?

    Thanks,

    George

Children
No Data