Other Parts Discussed in Thread: USB2ANY
I'm using the PGA305 in an application where all the offset/gain compensation will be happening on a microcontroller and the PGA305 is being used as a resistive bridge interface and current output DAC driven over I2C.
From the 1.25V reference and 40kOhm resistance, I expected the 4mA DAC code to be 0x082f and the 20mA code to be 0x28eb corresponding to roughly 2uA / LSB.
However, on editing the contents of the DAC_REG0 resistors, I see that 4mA and 20mA points are roughly 0xc8 and 0x3e8 respectively, and the current output is not stable at any register value, drifting tens of uA.
I am using the following configuration to set it up
- Set 0b11 in the COMPENSATION_CONTROL register to disable the compensation engine and let the digital interface control the PGA resources.
- Set 0b1 in the DAC_CTRL_STATUS register to enable the DAC output.
- Set 0b0 in the DAC_CONFIG register to set the DAC in absolute reference mode.
- Set 0b1000 in the OP_STAGE_CTRL register to enable 4-20mA and disable the DAC voltage gain.
After that, for any 16bit unsigned DAC code, I write the LSB to the DAC_REG0_1 register and the (MSB & 0x3f) to the DAC_REG0_2 register.
I am using the PGA305 current output with the connections according to the following schematic
I can't understand what exactly I'm doing wrong to not get a stable current output with the expected DAC codes. I'd be very grateful for any suggestions.
Best regards,
Gaurav