AnsweredAssumed Answered

How to get gain(M) from DAC transfer function?

Question asked by digitalwave on Sep 17, 2014
Latest reply on Sep 22, 2014 by digitalwave



I took over someone's codes that set up DAC using AD5373 (32 channels, 14 bit serial input).


In the middle of initializing DAC in C codes, he adjusted gain(M) value in favor of this project, and I don't understand how the M value he came up with.

In this project he wanted to configure DAC for operation with 3v ref, 0-10V output, offset =0 and adjust M(gain) to 13652 in order to initialize AD5373 that connected with Micro controller

I don't get how was 13652 for M(gain) come up with ?

the below equation M=2^14 -1 = 16383 and difference between 16383 and 13652 is 2731. I am not sure it has to do with 5461 which is default offset DAC that datasheet says below.

Here is transfer function for AD5373 described in datasheet:

DAC_CODE should be within the range of 0 to 16,383. For 12 V span, VREFx = 3.0 V. With a 3 V reference, this gives a span of −4 V to +8 V. 

OFFSET_CODE is the code loaded to the offset DAC. On power-up, the default code loaded to the offset DAC is 5461 (0x1555).

DAC_CODE = INPUT_CODE × (M + 1)/2^14 + C − 2^13 where: M = code in gain register − default code = 2^14 – 1. C = code in offset register − default code = 2^13. 

I have plugged in numbers but I don't understand how he got that M value.

Thanks, Jin