Should I trust the DAC output full-scale current equations listed in the AD9081/AD9082 System Development User Guide (UG-1578)?
UG-1578(rev 0) page 150 shows two interdependent equations for calculating the DAC output full-scale current as follows
I_FSC_MIN = FSC_MIN_CTRL(3:0) * 25 / 16
I_OUTFS = IFSC_MIN + FSC_CTRL(9:0) * 25 / 1024
The User Guide, on that same page 150, then gives an example that is supposed to result in a full scale output current of 37.75mA.
If the example is taken literally and we use a register setting of 0x117 = 0xA and a setting of 0x118 = 0xFF then we get the following
FSC_MIN_CTRL(3:0) gets the value 0x0 (decimal 0)
- since it is defined as using the 4 MSBits of the register 0x117
FSC_CTRL(9:0) gets the value 0x3FE (decimal 1022)
- since it is defined as using the 0xFF from register 0x118 for FSC_CTRL(9:2) and using the binary 10 (two LSbits) bits from register 0x117 for FSC_CTRL(1:0)
I_FSC_MIN = 0 * 25 / 16 = 0mA
I_OUTFS = 0 + 1022 * 25 / 1024 = 24.95.mA
24.95mA does NOT match the intended 37.75mA
If the example is slightly corrected and sets register 0x117 to 0xA3 and 0x118 to 0xFF then we get the following
These corrections are based on the assumption that the maximum full-scale current is 37.75mA when FSC_MIN_CTRL and FSC_CTRL are at max.
The 37.75mA being the assumed maximum, comes from the data sheet (not User Guide) specifications for "Full-Scale Output Current Range"
FSC_MIN_CTRL(3:0) gets the value 0xA (decimal 10)
- this assumes that the example intended to use the maximum value
- a value of 10 (not 15) being the max is also defined on page 150
FSC_CTRL(9:0) gets the value 0x3FF (decimal 1023)
- like above all 8 bits from register 0x118 get concatenated with the 2 LSBits from register 0x117 to form FSC_CTRL(9:0)
I_FSC_MIN = 10 * 25 / 16 = 15.625mA
I_OUTFS = 15.625 + 1023 *25 / 1024 = 40.60mA
like above, 40.60mA doesn't match the intended 37.75mA.
There is another example in the register map section of the User Guide page 243. This example sets 0x117 to 0x40(advertised default) and 0x118 to 0x88(advertised default) and I am assuming it is targeting the ideal/default setting of 26mA.
FSC_MIN_CTRL(3:0) = 0x4 (decimal 4)
FSC_CTRL(9:0) = 0x220 (decimal 544)
I_FSC_MIN = 4 * 25 / 16 = 6.25
I_OUTFS = 6.25 + 544 * 25 / 1024 = 19.53mA
And again 19.53mA doesn't match the intended 26mA.
So here are three examples that don't match what I expect. Hence i am questioning what i should trust.
I have seen examples (internal to my company) that set 0x117 to 0x43 and 0x118 to 0x8C in order to achieve 26mA, but i can't validate this example either.
In the end, i am looking for what values do I use at 0x117 and 0x118 to get the ideal 26mA setting.