I am working with an AD5724 DAC in the following circuit. I have verified the outputs to the DAC by use of an oscilloscope -- SYNC, MOSI and SCK are operating as specified in the datasheet. I can send data to the DAC and get the output values of the DAC channels to change. Performing a READ on the channels after I have programmed them returns the values I am expecting to see. However, I am not seeing the output values on the Channels that I expect to see. I have verified Vref power as +2.5V (using an ADR431), BIN/!2COMP as +3.3V and the AVss/AVdd powers.
The outputs I am measuring are as follows:
Channel A: 0.7545V
Channel B: 4.2726V
Channel C: -2.7665V
Channel D: 0.0495V
I have tried this both with and without the 2.2k-ohm loads tied between the test points (TPx) and AGND and have the same issue. The only electronics in the system aside from those shown are those associated with the microcontroller I'm using to program the DAC (PIC18F97J60) and those used for the ADR431 Voltage Reference. GND and AGND are tied together close to the DAC.
I cannot, for the life of me, figure out what I am doing incorrectly. I am basing my +5V, -5V and 0V code values on those listed in Table 13 of the datasheet, so I'm not worried about calculation values at this point. I'm just trying to get the DAC outputs to be what I expect based on the table values.
First question: Why am I not seeing the full output range of +/-5V? Given that I am using a +/-6V supply and a +2.5V reference, I should have sufficient headroom for supplying the necessary voltages. Am I configuring something wrong (ie Output Range Register or possibly some wiring in the circuit)?
Second Question: Why am I not seeing 0V when I send the 0x8000 value to a DAC Channel? Is something wired up incorrectly that would cause a voltage offset for the actual output -- or possibly give me some strange gain or Vref error somewhere?