FAQ: Using the m and c Registers on AD536x and AD537x DACs

Document created by AndyR on Jan 31, 2012
Version 1Show Document
  • View in full screen mode


How do I use the m and c registers on AD536x and AD537x DACs?





The AD536x and AD537x have an m and a c register per channel. The m register controls the gain of the transfer function and the c register controls the offset of the channel. The default value for the m register is 0xFFFF for 16-bit resolution DACs and 0x3FFF for 14-bit resolution DACs. The default value for the c register is 32768 for 16-bit resolution DACs and 8192 for 14-bit resolution DACs.

When the m register is programmed with a value less than the maximum (i.e. the default value) the slope of the transfer function is decreased. For example, the default output span will be reduced by half if the m register is programmed to half its default value. Note that changing the value of the m register does not change the value of 1 LSB. If the m register is set to half it’s default value the output range is also set to half the nominal output range. In this case the user can still use the full range of the input register (X1A or X1B) but the output will still change in units of 1 LSB (of the default values).


The c register can be used to add or remove offset from a channel. Each LSB is the same size as that of the data register. Offset can only be removed when the value in the data registers (X1A or X1B) is greater than or equal to the amount of offset to be removed. For example, X1A=200 and c = default-10 is equivalent to X1A = 190 and c = default. Obviously, if X1A =20 and c = default – 50, the output will not be able to remove add this much negative offset and output will be capped at its minimum value.


General Information:

This document covers the denseDAC family. AD536x refers to the AD5360, AD5361, AD5362 and AD5363 eight and 16 channel DACs. AD537x refers to the AD5370, AD5371, AD5372 and AD5373 thirty two and 40 channel DACs.