SLAAE21 April   2021 DAC43701 , DAC43701-Q1 , DAC53701 , DAC53701-Q1

 

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

Design Notes

  1. The DACx3701 10-Bit and 8-Bit, Voltage-Output Smart DACs With Nonvolatile Memory and PMBus™ Compatible I2C Interface With GPI Control 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 LDO. Place these capacitors close to the device pins.
  2. An external reference of 1.8V to 5.5V can be applied to the VDD pin of the device. In addition, there is an internal precision 1.21-V reference with ×1.5, ×2, ×3, and ×4 gain options. When using VDD as a reference, noise on VDD is directly translated to noise on the triangular waveform produced by the DAC53701. This noise is ratiometric to the voltage applied to the FB pin.
  3. In this design, the 5-V VDD supply input is used as the reference. The duty cycle of the PWM output is decided by the high- and low-voltage levels of the triangular waveform, and the voltage applied to the FB pin of the DAC53701 (VFB):
    Equation 1. GUID-20210323-CA0I-KJSJ-T59H-B9RKKQBQXDLJ-low.svg
    Values of 4V and 1V are used for VTRIANGLE_HIGH and VTRIANGLE_LOW to avoid zero-code and full-scale errors. With an example VFB of 2.5V and unity gain, the equation becomes:
    Equation 1. GUID-20210323-CA0I-MRJG-FSQL-ZB5GGMX0NSNC-low.svg
    The DAC codes for VTRIANGLE_HIGH and VTRIANGLE_LOW are stored in the DAC_MARGIN_HIGH and DAC_MARGIN_LOW registers. The codes programmed to these registers, in decimal, are calculated using:
    Equation 1. GUID-20210323-CA0I-P05H-N0DK-8DN7DBPNSPVL-low.svg
    Equation 1. GUID-20210323-CA0I-0XTP-6DRP-BVZNNP1LJJBL-low.svg

    The equation becomes:

    Equation 1. GUID-20210323-CA0I-GLNZ-TG6N-X17WHX6F8XZX-low.svg
    Equation 1. GUID-20210323-CA0I-TJP3-RVM8-VS26X7LHV7Z6-low.svg

    This is rounded to 819d and 205d to give a VTRIANGLE_HIGH of 3.999V and VTRIANGLE_LOW of 1V.

  4. The frequency of the PWM output is equal to the frequency of the triangular waveform. This is calculated by:
    Equation 1. GUID-20210323-CA0I-JFHL-KHHX-JPCTV0BGV2NX-low.svg

    SLEW_RATE and CODE_STEP are selected in the GENERAL_CONFIG Register. A CODE_STEP of 8 least significant bits (LSBs) and SLEW_RATE of 32μs per code step can be selected to produce a frequency of 203.25Hz:

    Equation 1. GUID-20210323-CA0I-NHMS-LJKB-TJZSKGKB1WZ0-low.svg
  5. Using a 5-V reference and the 10-bit DAC53701, the LSB size, or step size between each code, is about 4.88mV. Using lower reference voltages decreases the LSB size and thus increases the resolution of the MARGIN_HIGH and MARGIN_LOW voltages.
  6. In this design, GPI0 is used for the Power-Up, Down (10kΩ) function. A high start pulse must be applied to GPI0 to power-on the DAC53701. The function of GPI0 can be modified in the GPI_CONFIG field of the CONFIG2 register.
  7. GPI1 and GPI2 along with R1–4 determine the voltage at VFB. GPI1 and GPI2 toggle between 0 and VDD which changes the values in the resistor divider created by the different parallel combinations of resistors R1–4. For example, when GPI1 and GPI2 are both off, R2-4 are added in parallel, and create a resistor divider with R1. If the digital values applied to GPI1 and GPI2 are different from VDD or ground, MOSFETs can be added as level translators to each GPI.
  8. The DAC53701 can be programmed with the initial register settings described in the Register Settings section using I2C. The initial register settings can be saved in the NVM by writing a 1 to the NVM_PROG field of the TRIGGER register. After programming the NVM, the device loads all applicable registers with the values stored in the NVM after a reset or a power cycle.