ZHCSM38 december 2020 DAC43701 , DAC53701
PRODUCTION DATA
For control without the use of software, map the GPI to margin high-low operation as listed in Table 8-1. The rising edge of the GPI maps to the MARGIN HIGH value of the 20-mA LED current, and the falling edge maps to the MARGIN LOW value of the 10-mA LED current. When the DAC output is in the slewing condition, any change in the GPI state changes the direction of the slew after the ongoing SLEW_RATE time, as shown in the Application Curves section.
The slew time is given by (MARGIN_HIGH – MARGIN_LOW) × CODE_STEP × SLEW_RATE. For a 1.5-s slew time, CODE_STEP × SLEW_RATE = 1.5 / (569 – 284) = ~ 5 ms. Choose the CODE_STEP as 1 LSB and SLEW_RATE of 4.9152 ms. This configuration provides a slew time of 1.4 s. Adjust the MARGIN HIGH and MARGIN LOW values for more granular control.
The following pseudocode helps to get started with a light fade-in fade-out application:
//SYNTAX: WRITE <REGISTER NAME (Hex code)>, <MSB DATA>, <LSB DATA>
//Write MARGIN-HIGH code (12-bit aligned) for bright LED light
//For a 1.8-V output range, the 10-bit hex code for 1 V is 0x0239.
//With 12-bit alignment, it becomes 0x08E4
WRITE DAC_MARGIN_HIGH(0x25), 0x08, 0xE4
//Write MARGIN-LOW code (12-bit aligned) for dim LED light
//For a 1.8-V output range, the 10-bit hex code for 500 mV is 0x11C.
//With 12-bit alignment, it becomes 0x0470
WRITE DAC_MARGIN_LOW(0x26), 0x04, 0x70
//Map GPI to margin high-low function
WRITE CONFIG2(0xD2), 0x10, 0x00
//Enable GPI
WRITE TRIGGER(0xD3), 0x04, 0x08
//Configure internal reference with 1.5x output span, and slew time and power-up the device
//CODE_STEP: 1 LSB, SLEW_RATE: 4.9152 ms
WRITE GENERAL_CONFIG(0xD1), 0x01, 0x64
//Program the EEPROM
WRITE TRIGGER(0xD3), 0x04, 0x18