Post Go back to editing

Cannot get conversion

Category: Hardware
Product Number: AD7732

Hello all,

I am trying to use the AD7732 with a Raspberry Pi but unfortunately I cannot get a conversion.

In the software I start by checking the revision which returns 0x24 and I do a reset by sending the sequence [0x00, 0xFF, 0xFF, 0xFF, 0xFF]

Then I tried with ch1, ch2 or both. In continuous or single mode. Nothing change, I can always read back the registers and all but:

- ADC Status register remains at 0

- the Channel Status registers remain at 0x00 for CH1 and 0x40 for CH2

- the Data registers remain at 0x8000

- the RDY pin stays high

I followed the instructions from this thread: ez.analog.com/.../ad7734-conversion-not-done

Here is the schematic:

Thanks for your help

  • Hi  ,

    Could you provide your complete register settings? Also, may I know what is the state of SYNC bit in the I/O port register? When this bit is set, and the SYNC pin is low, the AD7732 does not process any conversion. So, the RDY would not go low to indicate the end of conversion and the Data register will not update.

    Regards,

    JC

  • Hello ,

    Here is the software output (an '- ' before the register name marks a succeful write, if nothing it is just a read):

    REVISION:       24
            -- reset --
    - CH1_MODE:     20
    - CH1_SETUP:    01
    IO_PORT:        f0
            -- sleep 0.5s --
    ADC_STATUS:     00
    CH1_SATUS:      00
    CH1_DATA:       80 00
    CH1_MODE:       20

    SYNC bit is 0

    Another thing. When I started I used the driver for AD7734 without looking to much into it.

    I realize after some tests that the first byte of the send buffer is initialized with a 0x03...

    ...which is supposed to be used to set the CS number

    Without paying attention to that I wrote a sending function that send the entire buffer. That means some writes have been done to the register @0x03 (Test register) which specifically asked not to write to.

    Can it have an impact on the ADC ? And if yes, can it be persistant after a reset ?

    Regards

  • Hi  ,

    The datasheet states that the default configuration of the test register should not be changed. Any write to the test register may affect an internal circuit in the device that is not intended for normal operation potentially causing unexpected behavior of the device.

    A device reset should restore the default value for this register. You could verify this by performing a read on the test register.

    Regards,

    JC

  • Hello JCCillion,

    Since I saw that mistake the device has been powered down numerous times and a software reset is performed at the beginning of my software.

    The test register has the value 0x80 but I cannot say if that is good or not since the default value is not provided in the datasheet.

    Regards

  • Hi  ,

    Could you describe more on this? How were you able to verify that the device is in powered down mode? Does the device go to powered down mode automatically even if the set configuration is Continuous Conversion Mode?

    the device has been powered down numerous times

    During this mode, the ADC is power-down mode and does not perform any conversion. This may be the reason why the RDY stays high.

    Regards,

    JC

  • Hi ,

    I meant the power has been cut, the entire board, and thus the device, is not powered anymore.

    I am not trying to get a reading during that period, it was to say that the device went through several power-on and got a lot of reset sequence since the last write in the test register in reply to this:

    A device reset should restore the default value for this register.

    Is 0x80 a good value for the test register anyway?

    Regards 

    Sylvain

  • Hi  ,

    If the register value is 0x80 is the value of the test register after the reset then it should be good. Just to reiterate, the test register must not configured to ensure proper operation of the device.

    Regards,

    JC

  • Hi  ,

    If the register value is 0x80 is the value of the test register after the reset then it should be good. Just to reiterate, the test register must not configured to ensure proper operation of the device.

    Regards,

    JC

  • Hello,

    Yes I know we should not write to the test register. 

    That means some writes have been done to the register @0x03 (Test register) which specifically asked not to write to.

    As stated in the same message, the writes were not intentional but due to a poorly designed driver. 

    I understand that writing to this register may have an impact on the operation of the device. I brought this topic up because I wanted to know if those changes could be permanent. If not, then this subject is not relevant. 

    Regards

    Sylvain