SLAAE49 February   2022 DAC43204 , DAC53004 , DAC53204 , DAC53204W , DAC63004 , DAC63204

 

  1.   Design Objective
  2.   Design Description
  3.   Design Notes
  4.   Design Simulations
    1.     Transient Simulation Results
    2.     DC Transfer Simulation Results
  5.   Register Settings
  6.   Pseudo Code Example
  7.   Design Featured Devices
  8.   Design References

Design Notes

  1. The DACx3204 12-Bit, 10-Bit, and 8-Bit, Quad Voltage and Current Output Smart DACs With Auto-Detected I2C, PMBus™, or SPI data sheet recommends using a 100-nF decoupling capacitor for the VDD pin and a 1.5-µF or greater bypass capacitor for the CAP pin. The CAP pin is connected to the internal low-dropout regulator (LDO). Place these capacitors close to the device pins.
  2. When the external reference is not used, the data sheet recommends the VREF pin be connected to VDD through a pullup resistor.
  3. The example circuit shows two methods for controlling the LED current. Current can be set via a RSET resistor and varying the base voltage of an external PNP-type BJT with the DACx3204 output, or the LED current can be set using the current output mode of the DACx3204.
    1. To adjust the current LED current with the external BJT, select an RSET resistor and vary the base voltage with the DAC output. RSET is calculated by:
      RSET=VSETILED
      If the VSET voltage range is chosen to be 0 V to 1 V, and the required LED current range is 0 mA to 20 mA, RSET is calculated to be:
      RSET=1 V20 mA = 50 Ω

      The DAC codes for the 10-bit DAC53204 can be calculated by:

      Code=VDACVREF×1024 
      VDAC is calculated by:
      VDAC=VDD-VSET

      If a 5-V VDD is used as the reference, the high and low DAC codes become:

      Code=5 V-05 V×1024=1024 d
      Code=5 V-1V5 V×1024=819.2 d
      This is rounded to 1023d and 819d to give a high value of 4.995 V and low value of 3.999 V. This configuration compensates the VBE voltage drop caused by temperature, collector current, and aging of the BJT. A BJT provides a smaller VBE drop as compared to a typical gate-source voltage (VGS) drop of a MOSFET.

    2. The DAC can be used in current output mode to drive the LED directly with up to 250 µA. With the ±250 µA range selected, the DAC codes are calculated by:
      Code=(IDAC-IMIN)×256IMAX-IMIN
      The high and low DAC53204 codes become:
      Code=(0 µA+250 µA)×256250 µA+250 µA=128 d
      Code=(-250 µA+250 µA)×256250 µA+250 µA=0 d
  4. The slew rate between the high and low DAC codes can be programmed if these two values are stored in the MARGIN-HIGH and MARGIN-LOW DAC registers. The slew time is determined by the settings in the SLEW-RATE and CODE-STEP fields in the DAC-X-FUNC-CONFIG register. The slew time is given by:
    Slew Time=(MARGIN_HIGH_CODE - MARGIN_LOW_CODE+1)CODE_STEP×SLEW_RATE
    If the CODE-STEP is set to 1 LSB, and the SLEW-RATE is set to 4 µs per step, the slew time for the voltage configuration becomes:
    Slew Time=(1023-819+1)1×4 µs=0.82 ms
    The slew time for the current output configuration becomes:
    Slew Time=(128-0+1)1×4 µs=0.516 ms
  5. The GPIO pin of the DACx3204 can be used to toggle between the margin high and margin low output value based on the slew time settings set in the DAC-X-FUNC-CONFIG register. A high on the GPI triggers the output to slew to the margin high value. A low on the GPI triggers the output to slew to the margin low value. The register settings to enable the GPIO for this function are described in the Register Settings section.
  6. The DACx3204 can be programmed with the initial register settings described in the Register Settings section using I2C or SPI. The initial register settings can be saved in the NVM by writing a 1 to the NVM-PROG field of the COMMON-TRIGGER register. After programming the NVM, the device loads all registers with the values stored in the NVM after a reset or a power cycle.