DAC6574 www.ti.com SLAS408 – DECEMBER 2003 QUAD, 10-BIT, LOW-POWER, VOLTAGE OUTPUT, I C INTERFACE DIGITAL-TO-ANALOG CONVERTER 2 FEATURES • • • • • • • • • • • • • • DESCRIPTION Micropower Operation: 500 µA at 3 V VDD Fast Update Rate: 188 kSPS Per-channel Power-down Capability Power-On Reset to Zero 2.7-V to 5.5-V Analog Power Supply 10-Bit Monotonic I2C™ Interface Up to 3.4 Mbps Data Transmit Capability On-Chip Output Buffer Amplifier, Rail-to-Rail Operation Double-Buffered Input Register Address Support for up to Four DAC6574s Synchronous Update Support for up to 16 Channels Operation From –40°C to 105°C Small 10 Lead MSOP Package APPLICATIONS • • • • • Process Control Data Acquisition Systems Closed-Loop Servo Control PC Peripherals Portable Instrumentation The DAC6574 is a low-power, quad channel, 10-bit buffered voltage output DAC. Its on-chip precision output amplifier allows rail-to-rail output swing to be achieved. The DAC6574 utilizes an I2C compatible two wire serial interface supporting high-speed interface mode with address support of up to four DAC6574s for a total of 16 channels on the bus. The DAC6574 uses VDD and GND to set the output range of the DAC. The DAC6574 incorporates a power-on-reset circuit that ensures that the DAC output powers up at zero volts and remains there until a valid write takes place to the device. The DAC6574 contains a per-channel power-down feature, accessed via the internal control register, that reduces the current consumption of the device to 200 nA at 5 V. The low power consumption of this part in normal operation makes it ideally suited to portable battery operated equipment. The power consumption is less than 3mW at VDD = 5 V reducing to 1 µW in power-down mode. TI offers a variety of data converters with I2C interface. See DACx57x family of 16/12/10/8 bit, single and quad channel DACs. Also see ADS7823 and ADS1100, 12-bit octal channel and 16-bit single channel ADCs. VDD Data Buffer A DAC Register A VOUTA DAC A VOUTB VOUTC Data Buffer D 14 SCL SDA I2C Block Buffer Control 8 A0 A1 DAC Register D Register Control VOUTD DAC D Power-Down Control Logic Resistor Network GND Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. I2C is a trademark of Philips Corporation. PRODUCTION DATA information is current as of publication date. Products conform to specifications per the terms of the Texas Instruments standard warranty. Production processing does not necessarily include testing of all parameters. Copyright © 2003, Texas Instruments Incorporated DAC6574 www.ti.com SLAS408 – DECEMBER 2003 This integrated circuit can be damaged by ESD. Texas Instruments recommends that all integrated circuits be handled with appropriate precautions. Failure to observe proper handling and installation procedures can cause damage. ESD damage can range from subtle performance degradation to complete device failure. Precision integrated circuits may be more susceptible to damage because very small parametric changes could cause the device not to meet its published specifications. PACKAGE/ORDERING INFORMATION PRODUCT PACKAGE PACKAGE DRAWING NUMBER SPECIFICATION TEMPERATURE RANGE PACKAGE MARKING DAC6574 10-MSOP DGS –40°C TO +105°C D674 ORDERING NUMBER TRANSPORT MEDIA DAC6574IDGS 80 Piece Tube DAC6574IDGSR 2500 Piece Tape and Reel DGS PACKAGE (TOPVIEW) PIN DESCRIPTIONS PIN NAME VOUTA 1 10 A1 1 VOUTA Analog output voltage from DAC A VOUTB 2 9 A0 2 VOUTB Analog output voltage from DAC B GND 3 8 VDD 3 GND VOUTC 4 7 SDA 4 VOUTC Analog output voltage from DAC C VOUTD 5 6 SCL 5 VOUTD Analog output voltage from DAC D DAC6574 DESCRIPTION Ground reference point for all circuitry on the part 6 SCL Serial clock input 7 SDA Serial data input and output 8 VDD Analog voltage supply input 9 A0 Device address select - I2C 10 A1 Device address select - I2C . ABSOLUTE MAXIMUM RATINGS (1) VDD to GND –0.3 V to +6 V Digital input voltage to GND –0.3 V to VDD + 0.3 V VOUT to GND –0.3 V to VDD + 0.3 V Operating temperature range –40°C to +105°C Storage temperature range –65°C to +150°C Junction temperature range (TJ max) Power dissipation: Lead temperature, soldering: (1) 2 +150°C Thermal impedance (ΘJA) 270°C/W Thermal impedance (ΘJC) 77°C/W Vapor phase (60s) 215°C Infrared (15s) 220°C Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. Exposure to absolute maximum conditions for extended periods may affect device reliability. DAC6574 www.ti.com SLAS408 – DECEMBER 2003 ELECTRICAL CHARACTERISTICS VDD = 2.7 V to 5.5 V, RL = 2 kΩ to GND; CL = 200 pF to GND; all specifications -40°C to +105°C, unless otherwise specified. PARAMETER TEST CONDITIONS MIN TYP MAX UNITS STATIC PERFORMANCE (1) Resolution 10 Bits ±0.5 ±2 LSB ±0.1 ±0.5 LSB Zero-scale error 5 20 mV Full-scale error -0.15 ±1.0 % of FSR ±1.0 % of FSR Relative accuracy Differential nonlinearity Specified monotonic by design Gain error Zero code error drift ±7 µV/°C Gain temperature coefficient ±3 ppm of FSR/°C OUTPUT CHARACTERISTICS (2) Output voltage range Output voltage settling time (full scale) 0 Digital-to-analog glitch impulse µs 1 V/µs 0.01 LSB 1 kHz Sine Wave -100 dB RL= ∞ 470 pF RL= 2 kΩ 1000 pF 1 LSB change around major carry 12 nV-s 0.3 nV-s 1 Ω VDD= 5 V 50 mA VDD= 3 V 20 mA Coming out of power-down mode, VDD= +5 V 2.5 µs Coming out of power-down mode, VDD= +3 V 5 µs DC output impedance Power-up time LOGIC INPUTS µs 12 Digital feedthrough Short-circuit current 9 7 RL = ∞ ; CL = 500 pF dc crosstalk (channel-to-channel) Capacitive load stability V RL = ∞; 0 pF < CL < 200 pF Slew rate ac crosstalk (channel-to-channel) VDD (2) Input current VIN_L, Input low voltage VIN_H, Input high voltage VDD= 3 V ±1 µA 0.3xVDD V 0.7xVDD V Pin Capacitance 3 pF 5.5 V POWER REQUIREMENTS VDD 2.7 IDD(normal operation), including reference current Excluding load current IDD@ VDD=+3.6V to +5.5V VIH= VDD and VIL=GND 600 900 µA IDD@ VDD =+2.7V to +3.6V VIH= VDD and VIL=GND 500 750 µA IDD (all power-down modes) IDD@ VDD=+3.6V to +5.5V VIH= VDD and VIL=GND 0.2 1 µA IDD@ VDD =+2.7V to +3.6V VIH= VDD and VIL=GND 0.05 1 µA ILOAD= 2 mA, VDD= +5 V 93% +105 °C POWER EFFICIENCY IOUT/IDD TEMPERATURE RANGE Specified performance (1) (2) -40 Linearity tested using a reduced code range of 12 to 1012; output unloaded. Specified by design and characterization, not production tested. 3 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 TIMING CHARACTERISTICS VDD = 2.7 V to 5.5 V, RL = 2 kΩ to GND; all specifications -40°C to +105°C, unless otherwise specified. SYMBOL fSCL tBUF tHD; tSTA tLOW tHIGH tSU; tSTA tSU; tDAT tHD; tDAT PARAMETER SCL clock frequency Bus free time between a STOP and START condition Hold time (repeated) START condition LOW period of the SCL clock HIGH period of the SCL clock Setup time for a repeated START condition Data setup time Data hold time TEST CONDITIONS MAX UNITS Standard mode MIN 100 kHz Fast mode 400 kHz High-Speed Mode, CB = 100 pF max 3.4 MHz High-speed mode, CB = 400 pF max 1.7 MHz Standard mode 4.7 µs Fast mode 1.3 µs Standard mode 4.0 µs Fast mode 600 ns High-speed mode 160 ns Standard mode 4.7 µs Fast mode 1.3 µs High-speed mode, CB = 100 pF max 160 ns High-speed mode, CB = 400 pF max 320 ns Standard mode 4.0 µs Fast mode 600 ns High-Speed Mode, CB = 100 pF max 60 ns High-speed mode, CB = 400 pF max 120 ns Standard mode 4.7 µs Fast mode 600 ns High-speed mode 160 ns Standard mode 250 ns Fast mode 100 ns High-speed mode 10 Standard mode 0 3.45 µs Fast mode 0 0.9 µs High-speed mode, CB = 100 pF max 0 70 ns High-speed mode, CB = 400 pF max 0 150 ns 1000 ns Standard mode tRCL tRCL1 Rise time of SCL signal Rise time of SCL signal after a repeated START condition and after an acknowledge BIT Fast mode Fall time of SCL signal 20 + 0.1CB 300 ns 10 40 ns High-speed mode, CB = 400 pF max 20 80 ns 1000 ns Standard mode 20 + 0.1CB 300 ns High-speed mode, CB = 100 pF max Fast mode 10 80 ns High-speed mode, CB = 400 pF max 20 160 ns 300 ns 20 + 0.1CB 300 ns High-speed mode, CB = 100 pF max 10 40 ns High-speed mode, CB = 400 pF max 20 Fast mode 80 ns 1000 ns 20 + 0.1CB 300 ns High-speed mode, CB = 100 pF max 10 80 ns High-speed mode, CB = 400 pF max 20 160 ns Standard mode tRDA 4 Rise time of SDA signal ns High-speed mode, CB = 100 pF max Standard mode tFCL TYP Fast mode DAC6574 www.ti.com SLAS408 – DECEMBER 2003 TIMING CHARACTERISTICS (continued) VDD = 2.7 V to 5.5 V, RL = 2 kΩ to GND; all specifications -40°C to +105°C, unless otherwise specified. SYMBOL PARAMETER TEST CONDITIONS MIN Standard mode tFDA tSU; tSTO Fall time of SDA signal Setup time for STOP condition CB Capacitive load for SDA and SCL tSP Pulse width of spike suppressed VNH VNL Noise margin at the HIGH level for each connected device (including hysteresis) Noise margin at the LOW level for each connected device (including hysteresis) Fast mode 20 + 0.1CB TYP MAX UNITS 300 ns 300 ns High-speed mode, CB = 100 pF max 10 80 ns High-speed mode, CB = 400 pF max 20 160 ns Standard mode 4.0 µs Fast mode 600 ns High-speed mode 160 ns 400 pF Fast mode 50 ns High-speed mode 10 ns Standard mode Fast mode 0.2 VDD V 0.1 VDD V High-speed mode Standard mode Fast mode High-speed mode 5 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 TYPICAL CHARACTERISTICS At TA = +25°C, unless otherwise noted. LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE 2 2 Channel B VDD = 5 V 1 0 −1 0 −1 −2 0.5 0.5 0.25 0.25 DLE − LSB DLE − LSB −2 0 −0.25 0 −0.25 −0.5 −0.5 0 128 256 384 512 640 768 896 1023 Digital Input Code 384 512 640 Digital Input Code Figure 1. Figure 2. LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE Channel C 0 0 −1 1023 VDD = 5 V 0 −1 0.5 0.25 0.25 DLE − LSB DLE − LSB 896 −2 0 −0.25 0 −0.25 −0.5 128 256 384 512 640 Digital Input Code 768 896 1023 0 256 384 512 640 Digital Input Code 768 896 1023 Figure 4. LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE 2 Channel A VDD = 2.7 V LE − LSB 1 128 Figure 3. 2 LE − LSB 768 1 0.5 −0.5 0 0 −1 Channel B VDD = 2.7 V 1 0 −1 −2 −2 0.5 0.5 DLE − LSB DLE − LSB 256 Channel D 1 −2 0.25 0 −0.25 0.25 0 −0.25 0 128 256 384 512 640 Digital Input Code Figure 5. 6 128 2 VDD = 5 V LE − LSB LE − LSB 2 −0.5 VDD = 5 V 1 LE − LSB LE − LSB Channel A 768 896 1023 −0.5 0 128 256 384 512 640 Digital Input Code Figure 6. 768 896 1023 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE LINEARITY ERROR AND DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE 2 Channel C Channel D VDD = 2.7 V LE − LSB 1 0 −1 0 −1 −2 0.5 0.5 0.25 0 −0.25 VDD = 2.7 V 1 −2 DLE − LSB DLE − LSB LE − LSB 2 0.25 0 −0.25 −0.5 −0.5 0 128 256 384 512 640 768 896 0 1023 128 256 640 768 Figure 7. Figure 8. ZERO-SCALE ERROR vs TEMPERATURE ZERO-SCALE ERROR vs TEMPERATURE 20 896 1023 15 VDD = 5 V VDD = 2.7 V 15 Zero-Scale Error − mV Zero-Scale Error − mV 512 Digital Input Code Digital Input Code CH A CH C CH D 10 CH B 5 10 CH A CH C CH D 5 CH B 0 −40 −10 20 50 80 −40 −10 TA − Free−Air Temperature − °C 20 50 80 TA − Free−Air Temperature − °C Figure 9. Figure 10. FULL-SCALE ERROR vs TEMPERATURE FULL-SCALE ERROR vs TEMPERATURE 30 20 VDD = 5 V VDD = 2.7 V 25 CH C Full-Scale Error − mV Full-Scale Error − mV 384 CH A 20 CH D 15 10 CH B CH C 15 CH A 10 CH D 5 5 CH B 0 0 −40 −10 20 50 TA − Free−Air Temperature − °C Figure 11. 80 −40 −10 20 50 80 TA − Free−Air Temperature − °C Figure 12. 7 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. SINK CURRENT CAPABILITY AT NEGATIVE RAIL SOURCE CURRENT CAPABILITY AT POSITIVE RAIL 0.150 5.50 Typical For All Channels 0.125 0.100 VOUT − Output Voltage − V VOUT − Output Voltage − V Typical For All Channels VDD = 2.7 V VDD = 5.5 V 0.075 0.050 0.025 5.45 5.40 5.35 DAC Loaded With CFFH VDD = 5.5 V DAC Loaded With 000H 0.000 5.30 0 1 2 3 4 5 0 1 ISINK − Sink Current − mA SOURCE CURRENT CAPABILITY AT POSITIVE RAIL SUPPLY CURRENT vs DIGITAL INPUT CODE 5 800 IDD − Supply Current − µA 700 2.6 2.5 2.4 DAC Loaded With CFFH VDD = 2.7 V VDD = 5.5 V 600 500 400 VDD = 2.7 V 300 200 100 2.3 All Channels Powered, No Load 0 0 1 2 3 4 5 0 128 256 384 ISOURCE − Source Current − mA 512 640 768 896 1023 5.1 5.5 Digital Input Code Figure 15. Figure 16. SUPPLY CURRENT vs TEMPERATURE SUPPLY CURRENT vs SUPPLY VOLTAGE 700 700 650 600 IDD − Supply Current − µA IDD − Supply Current − µA 4 Figure 14. Typical For All Channels VDD = 5.5 V 500 400 VDD = 2.7 V 300 200 100 600 550 500 450 400 350 300 250 All Channels Powered, No Load 0 All DACs Powered, No Load 200 −40 −10 20 50 TA − Free−Air Temperature − °C Figure 17. 8 3 Figure 13. 2.7 VOUT − Output Voltage − V 2 ISOURCE − Source Current − mA 80 110 2.7 3.1 3.5 3.9 4.3 4.7 VDD − Supply Voltage − V Figure 18. DAC6574 www.ti.com SLAS408 – DECEMBER 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. SUPPLY CURRENT vs LOGIC INPUT VOLTAGE 2000 TA = 25°C A0 Input (All Other Inputs = GND) VDD = 5 V 1000 1500 Frequency IDD − Supply Current − µA 1200 HISTOGRAM OF CURRENT CONSUMPTION 800 VDD = 5.5 V 600 1000 500 400 VDD = 2.7 V 200 0 0 1 2 3 4 500 520 540 560 580 600 620 640 660 680 700 720 740 5 IDD − Current Consumption − µA VLogic − Logic Input Voltage − V Figure 19. Figure 20. HISTOGRAM OF CURRENT CONSUMPTION EXITING POWER-DOWN MODE 2000 6 VOUT − Output Voltage − V VDD = 2.7 V Frequency 1500 1000 500 0 5 VDD = 5 V Powerup to Code 1000 4 3 2 1 0 −1 400 420 440 460 480 500 520 540 560 580 600 620 Time (2 µs/div) IDD − Current Consumption − µA Figure 21. Figure 22. LARGE SIGNAL SETTLING TIME LARGE SIGNAL SETTLING TIME 3.0 4 3 VDD = 5 V Output Loaded with 200 pF to GND 10% to 90% FSR 2 1 0 VOUT − Output Voltage − V VOUT − Output Voltage − V 5 2.5 2.0 1.5 VDD = 2.7 V Output Loaded with 200 pF to GND 10% to 90% FSR 1.0 0.5 0.0 Time (25 µs/div) Time (25 µs/div) Figure 23. Figure 24. 9 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. ABSOLUTE ERROR† ABSOLUTE ERROR† 24 18 VDD = 5 V, TA = 25°C 16 VDD = 2.7 V, TA = 25°C Channel A Output 14 Output Error − mV Output Error − mV 20 Channel A Output 12 8 Channel B Output Channel B Output Channel B Output 10 6 2 Channel D Output Channel C Output −2 4 Channel D Output 0 0 128 256 384 512 640 Digital Input Code Figure 25. † 768 896 1023 −6 0 128 256 384 512 640 768 896 1023 Digital Input Code Figure 26. Absolute error is the deviation from ideal DAC characteristics. It includes affects of offset, gain, and integral linearity. 10 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 THEORY OF OPERATION D/A SECTION The architecture of the DAC6574 consists of a string DAC followed by an output buffer amplifier. Figure 27 shows a generalized block diagram of the DAC architecture. VDD 50 k 50 k 70 k _ Ref+ Resistor String Ref- DAC Register + VOUT GND Figure 27. R-String DAC Architecture The input coding to the DAC6574 is unsigned binary, which gives the ideal output voltage as: V OUT VDD D 4096 Where D = decimal equivalent of the binary code that is loaded to the DAC register; it can range from 0 to 4095. RESISTOR STRING The resistor string section is shown in Figure 28. It is basically a divide-by-2 resistor, followed by a string of resistors, each of value R. The code loaded into the DAC register determines at which node on the string the voltage is tapped off to be fed into the output amplifier by closing one of the switches connecting the string to the amplifier. Because the architecture consists of a string of resistors, it is specified monotonic. To Output Amplifier VDD GND R R R R Figure 28. Typical Resistor String Output Amplifier The output buffer is a gain-of-2 noninverting amplifiers, capable of generating rail-to-rail voltages on its output, which gives an output range of 0V to VDD. It is capable of driving a load of 2 kΩ in parallel with 1000 pF to GND. The source and sink capabilities of the output amplifier can be seen in the typical curves. The slew rate is 1 V/µs with a half-scale settling time of 7 µs with the output unloaded. I2C Interface I2C is a 2-wire serial interface developed by Philips Semiconductor (see I2C-Bus Specification, Version 2.1, January 2000). The bus consists of a data line (SDA) and a clock line (SCL) with pullup structures. When the bus is idle, both SDA and SCL lines are pulled high. All the I2C compatible devices connect to the I2C bus through open drain I/O pins, SDA and SCL. A master device, usually a microcontroller or a digital signal processor, controls the bus. The master is responsible for generating the SCL signal and device addresses. The master also generates specific conditions that indicate the START and STOP of data transfer. A slave device receives and/or transmits data on the bus under control of the master device. 11 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 THEORY OF OPERATION (continued) The DAC6574 works as a slave and supports the following data transfer modes, as defined in the I2C-Bus Specification: standard mode (100 kbps), fast mode (400 kbps), and high-speed mode (3.4 Mbps). The data transfer protocol for standard and fast modes is exactly the same, therefore they are referred to as F/S-mode in this document. The protocol for high-speed mode is different from the F/S-mode, and it is referred to as H/S-mode. The DAC6574 supports 7-bit addressing; 10-bit addressing and general call address are not supported. F/S-Mode Protocol • • • • The master initiates data transfer by generating a start condition. The start condition is when a high-to-low transition occurs on the SDA line while SCL is high, as shown in Figure 29. All I2C-compatible devices should recognize a start condition. The master then generates the SCL pulses, and transmits the 7-bit address and the read/write direction bit R/W on the SDA line. During all transmissions, the master ensures that data is valid. A valid data condition requires the SDA line to be stable during the entire high period of the clock pulse (see Figure 30). All devices recognize the address sent by the master and compare it to their internal fixed addresses. Only the slave device with a matching address generates an acknowledge (see Figure 31) by pulling the SDA line low during the entire high period of the 9th SCL cycle. Upon detecting this acknowledge, the master knows that communication link with a slave has been established. The master generates further SCL cycles to either transmit data to the slave (R/W bit 1) or receive data from the slave (R/W bit 0). In either case, the receiver needs to acknowledge the data sent by the transmitter. So acknowledge signal can either be generated by the master or by the slave, depending on which one is the receiver. 9-bit valid data sequences consisting of 8-bit data and 1-bit acknowledge can continue as long as necessary. To signal the end of the data transfer, the master generates a stop condition by pulling the SDA line from low to high while the SCL line is high (see Figure 29). This releases the bus and stops the communication link with the addressed slave. All I2C compatible devices must recognize the stop condition. Upon the receipt of a stop condition, all devices know that the bus is released, and they wait for a start condition followed by a matching address. H/S-Mode Protocol • • • When the bus is idle, both SDA and SCL lines are pulled high by the pullup devices. The master generates a start condition followed by a valid serial byte containing H/S master code 00001XXX. This transmission is made in F/S-mode at no more than 400 Kbps. No device is allowed to acknowledge the H/S master code, but all devices must recognize it and switch their internal setting to support 3.4 Mbps operation. The master then generates a repeated start condition (a repeated start condition has the same timing as the start condition). After this repeated start condition, the protocol is the same as F/S-mode, except that transmission speeds up to 3.4 Mbps are allowed. A stop condition ends the H/S-mode and switches all the internal settings of the slave devices to support the F/S-mode. Instead of using a stop condition, repeated start conditions should be used to secure the bus in H/S-mode. SDA SDA SCL SCL S P Start Condition Stop Condition Figure 29. START and STOP Conditions 12 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 THEORY OF OPERATION (continued) SDA SCL Data Line Stable; Data Valid Change of Data Allowed Figure 30. Bit Transfer on the I2C Bus Data Output by Transmitter Not Acknowledge Data Output by Receiver Acknowledge SCL From Master 1 2 8 9 S Clock Pulse for Acknowledgement START Condition Figure 31. Acknowledge on the I2C Bus Recognize START or REPEATED START Condition Recognize STOP or REPEATED START Condition Generate ACKNOWLEDGE Signal P SDA MSB Acknowledgement Signal From Slave Sr Address R/W SCL S or Sr START or Repeated START Condition 1 2 7 8 9 ACK 1 2 3-8 9 ACK Sr or P Clock Line Held Low While Interrupts are Serviced STOP or Repeated START Condition Figure 32. Bus Protocol 13 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 DAC6574 I2C Update Sequence The DAC6574 requires a start condition, a valid I2C address, a control byte, an MSB byte, and an LSB byte for a single update. After the receipt of each byte, DAC6574 acknowledges by pulling the SDA line low during the high period of a single clock pulse. A valid I2C address selects the DAC6574. The control byte sets the operational mode of the selected DAC6574. Once the operational mode is selected by the control byte, DAC6574 expects an MSB byte followed by an LSB byte for data update to occur. DAC6574 performs an update on the falling edge of the acknowledge signal that follows the LSB byte. Control byte needs not to be resent until a change in operational mode is required. The bits of the control byte continuously determine the type of update performed. Thus, for the first update, DAC6574 requires a start condition, a valid I2C address, a control byte, an MSB byte and an LSB byte. For all consecutive updates, DAC6574 needs an MSB byte and an LSB byte as long as the control command remains the same. Using the I2C high-speed mode (fscl= 3.4 MHz), the clock running at 3.4 MHz, each 10-bit DAC update other than the first update can be done within 18 clock cycles (MSB byte, acknowledge signal, LSB byte, acknowledge signal), at 188.88 KSPS. Using the fast mode (fscl= 400 kHz), clock running at 400 kHz, maximum DAC update rate is limited to 22.22 KSPS. Once a stop condition is received DAC6574 releases the I2C bus and awaits a new start condition. Address Byte MSB 1 LSB 0 0 1 1 A1 A0 R/W The address byte is the first byte received following the START condition from the master device. The first five bits (MSBs) of the address are factory preset to 10011. The next two bits of the address are the device select bits A1 and A0. The A1, A0 address inputs can be connected to VDD or digital GND, or can be actively driven by TTL/CMOS logic levels. The device address is set by the state of these pins during the power-up sequence of the DAC6574. Up to 4 devices (DAC6574) can still be connected to the same I2C-Bus. Broadcast Address Byte MSB 1 LSB 0 0 1 0 0 0 0 Broadcast addressing is also supported by DAC6574. Broadcast addressing can be used for synchronously updating or powering down multiple DAC6574 devices. DAC6574 is designed to work with other members of the DAC857x and DAC757x families to support multichannel synchronous update. Using the broadcast address, DAC6574 responds regardless of the states of the address pins. Broadcast is supported only in write mode (Master writes to DAC6574). 14 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 Control Byte MSB LSB 0 0 L1 L0 X Sel1 Sel0 PD0 Table 1. Control Register Bit Descriptions Bit Name Bit Number/Description L1 Load1 (Mode Select) Bit L2 Load0 (Mode Select) Bit 00 Store I2C data. The contents of MS-BYTE and LS-BYTE (or power down information) are stored in the temporary register of a selected channel. This mode does not change the DAC output of the selected channel. 01 Update selected DAC with I2C data. Most commonly utilized mode. The contents of MS-BYTE and LS-BYTE (or power down information) are stored in the temporary register and in the DAC register of the selected channel. This mode changes the DAC output of the selected channel with the new data. 10 4-channel synchronous update. The contents of MS-BYTE and LS-BYTE (or power down information) are stored in the temporary register and in the DAC register of the selected channel. Simultaneously, the other three channels get updated with previously stored data from the temporary register. This mode updates all four channels together. 11 Broadcast update mode. This mode has two functions. In broadcast mode, DAC6574 responds regardless of local address matching, and channel selection becomes irrelevant as all channels update. This mode is intended to enable up to 16 channels simultaneous update, if used with the I2C broadcast address (1001 0000). Sel1 Buff Sel1 Bit Sel0 Buff Sel0 Bit PD0 Are used for selecting the update mode. If Sel1=0 All four channels are updated with the contents of their temporary register data. If Sel1=1 All four channels are updated with the MS-BYTE and LS-BYTE data or powerdown. Channel Select Bits 00 Channel A 01 Channel B 10 Channel C 11 Channel D Power Down Flag 0 Normal operation 1 Power-down flag (MSB7 and MSB6 indicate a power-down operation, as shown in Table 2). 15 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 Table 2. Control Byte C7 C6 C5 C4 C3 C2 C1 C0 MSB7 MSB6 MSB5... 0 0 Load1 Load0 Don't Care Ch Sel 1 Ch Sel 0 PD0 MSB (PD1) MSB-1 (PD2) MSB-2 ...LSB 0 0 X 0 0 0 Data Write to temporary register A (TRA) with data 0 0 X 0 1 0 Data Write to temporary register B (TRB) with data 0 0 X 1 0 0 Data Write to temporary register C (TRC) with data 0 0 X 1 1 0 Data Write to temporary register D (TRD) with data 0 0 X 0 1 X 0 1 X 1 0 X 1 0 X DESCRIPTION (Address Select) (00, 01, 10, or 11) 1 see Table 8 0 (00, 01, 10, or 11) 0 Write to TRx (selected by C2 &C1 and load DACx w/data Data (00, 01, 10, or 11) 1 see Table 8 0 (00, 01, 10, or 11) 0 see Table 8 Power-down DACx (selected by C2 and C1) Write to TRx (selected by C2 &C1 w/ data and load all DACs Data (00, 01, 10, or 11) 1 Write to TRx (selected by C2 &C1 w/Powerdown Command 0 Power-down DACx (selected by C2 and C1) & load all DACs Broadcast Modes (controls up to 4 devices on a single serial bus) X X 1 1 X 0 X X X Update all DACs, all devices with previously stored TRx data X X 1 1 X 1 X 0 Data Update all DACs, all devices with MSB[7:0] and LSB[7:0] data X X 1 1 X 1 X 1 see Table 8 0 Power-down all DACs, all devices Most Significant Byte Most significant byte MSB[7:0] consists of eight most significant bits of 10-bit unsigned binary D/A conversion data. If C0=1, MSB[7], MSB[6] indicate a power-down operation as shown in Table 8. Least Significant Byte Least significant byte LSB[7:0] consists of the 2 least significant bits 0f 10-bit unsigned binary D/A conversion data, followed by 6 don't care bits. DAC6574 updates at the falling edge of the acknowledge signal that follows the LSB[0] bit. Default Readback Condition If the user initiates a readback of a specified channel without first writing data to that specified channel, the default readback is all zeros, since the readback register is initialized to 0 during the power on reset phase. 16 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 DAC6574 Registers Table 3. DAC6574 Architecture Register Descriptions REGISTER DESCRIPTION CTRL[7:0] Stores 8-Bit wide control byte sent by the master MSB[7:0] Stores the 8 most significant bits of unsigned binary data sent by the master. Can also store 2-bit power-down data. LSB[7:0] Stores the 2 least significant bits of unsigned binary data sent by the master (in LSB[7] and LSB[6]). TRA[11:0], TRB[11:0], TRC[11:0], TRD[11:0] 12-bit temporary storage registers assigned to each channel. Two MSBs store power-down information, 10 LSBs store data. DRA[11:0], DRB[11:0], DRC[11:0], DRD[11:0] 12-bit DAC registers for each channel. Two MSBs store power-down information, 10 LSBs store DAC data. An update of this register means a DAC update with data or power-down. DAC6574 as a Slave Receiver - Standard and Fast Mode Figure 33 shows the standard and fast mode master transmitter addressing a DAC6574 Slave Receiver with a 7-bit address. S SLAVE ADDRESS R/W A Ctrl-Byte A MS-Byte A LS-Byte 0 (write) A/A P Data Transferred (n* Words + Acknowledge) Word = 16 Bit From Master to DAC6574 DAC6574 I2C-SLAVE ADDRESS: From DAC6574 to Master MSB A = A = S = Sr = P = Acknowledge (SDA LOW) Not Acknowledge (SDA HIGH) START Condition Repeated START Condition STOP Condition 1 LSB 0 0 1 1 A1 A0 R/W 0 = Write to DAC6574 1 = Read from DAC6574 Factory Preset A0 = I2C Address Pin A1 = I2C Address Pin Figure 33. Standard and Fast Mode: Slave Receiver 17 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 DAC6574 as a Slave Receiver - High-Speed Mode Figure 34 shows the high-speed mode master transmitter addressing a DAC6574 Slave Receiver with a 7-bit address. F/S-Mode S HS-Mode HS-Master Code A Sr Slave Address F/S-Mode R/W A Ctrl-Byte A MS-Byte A LS-Byte Data Transferred (n* Words + Acknowledge) Word = 16 Bit 0 (write) HS-Mode Master Code: 0 0 0 1 X X R/W Control Byte: A3 LSB A2 L1 L0 X Sel1 Sel2 PD0 MS-Byte: MSB LSB D8 D7 D6 D5 D4 D3 X X X X X D2 LS-Byte: MSB D1 LSB D0 D9 − D0 = Data Bits X A3 A2 L1 L0 Sel1 Sel0 PD0 = = = = = = = Extended Address Bit Extended Address Bit Load1 (Mode Select) Bit Load0 (Mode Select) Bit Buff Sel1 (Channel) Select Bit Buff Sel0 (Channel) Select Bit Power Down Flag X = Don’t Care Figure 34. High-Speed Mode: Slave Receiver 18 HS-Mode Continues LSB MSB D9 P Sr Slave Address MSB 0 A/A DAC6574 www.ti.com SLAS408 – DECEMBER 2003 Master Transmitter Writing to a Slave Receiver (DAC6574) in Standard/Fast Modes All write access sequences begin with the device address (with R/W = 0) followed by the control byte. This control byte specifies the operation mode of DAC6574 and determines which channel of DAC6574 is being accessed in the subsequent read/write operation. The LSB of the control byte (PD0-Bit) determines if the following data is power-down data or regular data. With (PD0-Bit = 0) the DAC6574 expects to receive data in the following sequence HIGH-BYTE –LOW-BYTE – HIGH-BYTE – LOW-BYTE..., until a STOP Condition or REPEATED START Condition on the I2C-Bus is recognized (refer to the DATA INPUT MODE section of Table 4). With (PD0-Bit = 1) the DAC6574 expects to receive 2 Bytes of power-down data (refer to the POWER DOWN MODE section of Table 4). Table 4. Write Sequence in F/S Mode DATA INPUT MODE Transmitter MSB 6 5 4 Master Master 1 0 0 1 DAC6574 Master 0 0 Load 1 1 LSB 1 Comment A1 A0 R/W Write addressing (R/W=0) Buff Sel 0 PD0 Control byte (PD0=0) D3 D2 Writing data word, high byte x x Writing data word, low byte Begin sequence Load 0 x Buff Sel 1 DAC6574 Acknowledges D9 D8 D7 D1 D0 x D6 DAC6574 Master 2 DAC6574 Acknowledges DAC6574 Master 3 Start D5 D4 DAC6574 Acknowledges x DAC6574 x x DAC6574 Acknowledges Data or Stop or Repeated Start (1) Master Data or done (2) POWER DOWN MODE Transmitter MSB 6 5 4 Master Master 1 0 0 DAC6574 Master 0 0 Load 1 PD1 PD2 0 LSB 1 1 Comment Begin sequence A1 Load 0 x A0 R/W Write addressing (R/W=0) Buff Sel 0 PD0 Control byte (PD0 = 1) 0 0 0 Writing data word, high byte x x x Writing data word, low byte Buff Sel 1 0 0 DAC6574 Acknowledges 0 0 x x x DAC6574 DAC6574 Acknowledges Master Stop or Repeated Start (1) (1) (2) 1 DAC6574 Acknowledges DAC6574 Master 2 DAC6574 Acknowledges DAC6574 Master 3 Start Done Use repeated START to secure bus operation and loop back to the stage of write addressing for next Write. Once DAC6574 is properly addressed and control byte is sent, HIGH–BYTE–LOW–BYTE sequences can repeat until a STOP condition or repeated START condition is received. 19 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 Master Transmitter Writing to a Slave Receiver (DAC6574) in HS Mode When writing data to the DAC6574 in HS-mode, the master begins to transmit what is called the HS-Master Code (0000 1XXX) in F/S-mode. No device is allowed to acknowledge the HS-Master Code, so the HS-Master Code is followed by a NOT acknowledge. The master then switches to HS-mode and issues a repeated start condition, followed by the address byte (with R/W = 0) after which the DAC6574 acknowledges by pulling SDA low. This address byte is usually followed by the control byte, which is also acknowledged by the DAC6574. The LSB of the control byte (PD0-Bit) determines if the following data is power-down data or regular data. With (PD0-Bit = 0) the DAC6574 expects to receive data in the following sequence HIGH-BYTE – LOW-BYTE – HIGH-BYTE – LOW-BYTE...., until a STOP condition or repeated start condition on the I2C-Bus is recognized (refer to Table 5 HS-MODE WRITE SEQUENCE - DATA). With (PD0-Bit = 1) the DAC6574 expects to receive 2 bytes of power-down data (refer to Table 5 HS-MODE WRITE SEQUENCE - POWER DOWN). Table 5. Master Transmitter Writes to Slave Receiver (DAC6574) in HS-Mode HS MODE WRITE SEQUENCE - DATA Transmitter MSB 6 5 4 0 0 0 0 Master Master 0 0 1 X X X Comment Begin sequence 1 HS Mode Master Code No device may acknowledge HS master code 1 A1 A0 R/W Write addressing (R/W=0) Buff Sel 0 PD0 Control byte (PD0=0) D3 D2 Writing data word, MSB x x Writing data word, LSB DAC6574 Acknowledges 0 0 Load 1 DAC6574 Load 0 0 Buff Sel 1 DAC6574 Acknowledges D9 D8 D7 D1 D0 x D6 DAC6574 Master LSB Repeated Start 1 DAC6574 Master 1 Not Acknowledge Master Master 2 Start NONE Master 3 D5 D4 DAC6574 Acknowledges x DAC6574 x x DAC6574 Acknowledges Data or Stop or Repeated Start (1) Master Data or done (2) HS MODE WRITE SEQUENCE - POWER DOWN Transmitter MSB 6 5 4 Master Master 3 2 0 0 0 0 1 X Not Acknowledge Master Repeated Start 1 0 0 DAC6574 Master 0 0 Load 1 PD1 PD2 0 1 A1 Load 2 0 HS Mode Master Code A0 R/W Write addressing (R/W = 0) Buff Sel 0 PD0 Control Byte (PD0=1) 0 0 0 Writing data word, high byte x x x Writing data word, low byte Buff Sel 1 0 0 DAC6574 Acknowledges 0 0 x x x DAC6574 Acknowledges Master Stop or repeated start (1) 20 X No device may acknowledge HS master code DAC6574 (1) (2) X DAC6574 Acknowledges DAC6574 Master 1 Comment DAC6574 Acknowledges DAC6574 Master LSB Begin sequence NONE Master 1 Start Done Use repeated start to secure bus operation and loop back to the stage of write addressing for next Write. Once DAC6574 is properly addressed and control byte is sent, high-byte-low-byte sequences can repeat until a stop or repeated start condition is received. DAC6574 www.ti.com SLAS408 – DECEMBER 2003 DAC6574 as a Slave Transmitter—Standard and Fast Mode Figure 35 shows the standard and fast mode master transmitter addressing a DAC6574 Slave Transmitter with a 7-bit address. (DAC6574) (DAC6574) (MASTER) (DAC6574) S SLAVE ADDRESS R/W A Ctrl <7:1> PD0 A Sr Slave Address R/W A MS-Byte A LS-Byte A P 1 (read) 0 (write) 0 = (Normal Mode) Data Transferred (2 Bytes + Acknowledge) (DAC6574) PD0 A Sr Slave Address 1 = (Power Down Flag) (MASTER) R/W A PDN-Byte A (MASTER) (MASTER) MS-Byte A LS-Byte A P Data Transferred (3 Bytes + Acknowledge) 1 (read) PDN-Byte: MSB (MASTER) LSB PD1 PD2 1 1 1 1 1 1 PD1 = Power−Down Bit PD2 = Power−Down Bit Figure 35. Standard and Fast Mode: Slave Transmitter DAC6574 as a Slave Transmitter—High-Speed Mode Figure 36 shows an I2C-Master addressing DAC6574 in high-speed mode (with a 7-bit address), as a Slave Transmitter. F/S-Mode HS-Master Code S A HS-Mode (DAC6574) Sr Slave Address (DAC6574) R/W A Ctrl <7:1> PD0 A Sr (DAC6574) Slave Address 0 = (Normal Mode) Data Transferred (2 Bytes + Acknowledge) (DAC6574) PD0 A Sr Slave Address 1 = (Power −Down Flag) (MASTER) R/W A MS-Byte A LS-Byte A P 1 (read) 0 (write) (MASTER) (MASTER) R/W A PDN-Byte A 1 (read) (MASTER) (MASTER) MS-Byte A LS-Byte A P Data Transferred (3 Bytes + Acknowledge) Figure 36. High-Speed Mode: Slave Transmitter 21 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 Master Receiver Reading From a Slave Transmitter (DAC6574) in Standard/Fast Modes When reading data back from the DAC6574, the user begins with an address byte (with R/W = 0) after which the DAC6574 will acknowledge by pulling SDA low. This address byte is usually followed by the Control Byte, which is also acknowledged by the DAC6574. Following this there is a REPEATED START condition by the Master and the address is resent with (R/W = 1). This is acknowledged by the DAC6574, indicating that it is prepared to transmit data. Two or three bytes of data are then read back from the DAC6574, depending on the (PD0-Bit). The value of Buff-Sel1 and Buff-Sel0 determines, which channel data is read back. A STOP Condition follows. With the (PD0-Bit = 0) the DAC6574 transmits 2 bytes of data, HIGH-BYTE followed by the LOW-BYTE (refer to Table 2. Data Readback Mode - 2 bytes). With the (PD0-Bit = 1) the DAC6574 transmits 3 bytes of data, POWER-DOWN-BYTE followed by the HIGH-BYTE followed by the LOW-BYTE (refer to Table 2. Data Readback Mode - 3 bytes). Table 6. Read Sequence in F/S Mode DATA READBACK MODE - 2 BYTES Transmitter MSB 6 5 4 1 0 0 1 3 Master Master 0 0 Load 1 Comment A0 R/W Write addressing (R/W=0) Buff Sel 1 Buff Sel 0 PD0 Control byte (PD0=0) A1 A0 R/W Read addressing (R/W = 1) D4 D3 D2 Reading data word, high byte x x x Reading data word, low byte Begin sequence x DAC6574 Acknowledges Repeated Start 1 0 0 D9 D8 D7 DAC6574 1 1 DAC6574 Acknowledges Master DAC6574 A1 1 Load 0 Master DAC6574 LSB DAC6574 Acknowledges DAC6574 Master 1 Start DAC6574 Master 2 D6 D5 Master Acknowledges D1 D0 x x x Master Master Not Acknowledges Master signal end of read Master Stop or Repeated Start (1) Done DATA READBACK MODE - 3 BYTES Transmitter MSB 6 5 4 3 Master Master 1 0 0 1 0 0 Load 1 Load 0 DAC6574 Master 0 0 A1 A0 R/W Write addressing (R/W=0) Buff Sel 1 Buff Sel 0 PD0 Control byte (PD0=1) A1 A0 R/W Read addressing (R/W = 1) 1 1 1 D4 D3 D2 Reading data word, high byte x x x Reading data word, low byte Begin sequence 1 x 1 1 DAC6574 Acknowledges PD1 PD2 1 D9 D8 D7 Master 1 1 Read power down byte Master Acknowledges Master DAC6574 Comment Repeated Start 1 DAC6574 DAC6574 LSB DAC6574 Acknowledges Master DAC6574 1 DAC6574 Acknowledges DAC6574 Master 2 Start D6 D5 Master Acknowledges D1 D0 x x x Master Master Not Acknowledges Master signal end of read Master Stop or Repeated Start (1) Done (1) 22 Use repeated start to secure bus operation and loop back to the stage of write addressing for next Write. DAC6574 www.ti.com SLAS408 – DECEMBER 2003 Master Receiver Reading From a Slave Transmitter (DAC6574) in HS-Mode When reading data to the DAC6574 in HS-MODE, the master begins to transmit, what is called the HS-Master Code (0000 1XXX) in F/S-mode. No device is allowed to acknowledge the HS-Master Code, so the HS-Master Code is followed by a NOT acknowledge. The Master then switches to HS-mode and issues a REPEATED START condition, followed by the address byte (with R/W = 0) after which the DAC6574 acknowledges by pulling SDA low. This address byte is usually followed by the control byte, which is also acknowledged by the DAC6574. Then there is a REPEATED START condition initiated by the master and the address is resent with (R/W = 1). This is acknowledged by the DAC6574, indicating that it is prepared to transmit data. Two or Three bytes of data are then read back from the DAC6574, depending on the (PD0-Bit). The value of Buff-Sel1 and Buff-Sel0 determines, which channel data is read back. A STOP condition follows. With the (PD0-Bit = 0) the DAC6574 transmits 2 bytes of data, HIGH-BYTE followed by LOW-BYTE (refer to Table 7 HS-Mode Readback Sequence). With the (PD0-Bit = 1) the DAC6574 transmits 3 bytes of data, POWER-DOWN-BYTE followed by the HIGH-BYTE followed by the LOW-BYTE (refer to Table 7 HS-Mode Readback Sequence). Table 7. Master Receiver Reading Slave Transmitter (DAC6574) in HS-Mode HS MODE READBACK SEQUENCE Transmitter MSB 6 5 4 0 0 0 0 3 Master Master LSB Comment X X X HS Mode Master Code Begin sequence 1 No device may acknowledge HS master code Not Acknowledge Master Repeated Start 1 0 0 DAC6574 Master 1 Start NONE Master 2 1 1 A1 0 0 Load 1 Load 0 X Buff Sel 1 DAC6574 DAC6574 Acknowledges Master Repeated Start Master 1 0 0 DAC6574 DAC6574 PD1 PD2 1 Write addressing (R/W=0) Buff Sel 0 PD0 Control byte (PD0 = 1) 1 1 A1 A0 R/W Read addressing (R/W=1) 1 1 1 1 1 Power-down byte D3 D2 Reading data word, high byte x x Reading data word, low byte Master Acknowledges D9 D8 D7 Master DAC6574 R/W DAC6574 Acknowledges Master DAC6574 A0 DAC6574 Acknowledges D6 D5 D4 Master Acknowledges D1 D0 x x x x Master Master Not Acknowledges Master signal end of read Master Stop or Repeated Start Done Power-On Reset The DAC6574 contains a power-on-reset circuit that controls the output voltage during power up. On power up, the DAC register is filled with zeros and the output voltage is 0 V; it remains there until a valid write sequence is made to the DAC. This is useful in applications where it is important to know the state of the output of the DAC while it is in the process of powering up. No device pin should be brought high before supply is applied. Power-Down Modes The DAC6574 contains four separate power-down modes of operation. The modes are programmable via two most significant bits of the MSB byte, while (CTRL[0] = PD0 = 1). Table 8 shows how the state of these bits correspond to the mode of operation of the device. 23 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 Table 8. Power-Down Modes of Operation for the DAC6574 CTRL[0] MSB[7] MSB[6] OPERATING MODE 1 0 0 High Impedance Output 1 0 1 1 kΩ to GND 1 1 0 100 kΩ to GND 1 1 1 High Impedance When (CTRL[0] = PD0 = 0), the device works normally with its normal power consumption of 150 µA at 5 V per channel. However, for the power-down modes, the supply current falls to 200 nA at 5 V (50 nA at 3 V). Not only does the supply current fall but also the output stage is also internally switched from the output of the amplifier to a resistor network of known values. This has the advantage that the output impedance of the device is known while in power-down mode. There are three different options: The output is connected internally to GND through a 1 kΩ resistor, a 100 kΩ resistor or left open-circuit (high impedance). The output stage is illustrated in Figure 37. Amplifier Resistor String DAC VOUT Powerdown Circuitry Resistor Network Figure 37. Output Stage During Power Down All linear circuitry is shut down when the power-down mode is activated. However, the contents of the DAC register are unaffected when in power-down. The time to exit power down is typically 2.5 µs for VDD = 5 V and 5 µs for VDD = 3 V. (See the Typical Curves section for additional information.) The DAC6574 offers a flexible power-down interface based on channel register operation. A channel consists of a single 10-bit DAC with power-down circuitry, a temporary storage register (TR) and a DAC register (DR). TR and DR are both 12 bits wide. Two MSBs represent the power-down condition and the 10 LSBs represent data for TR and DR. By using bits 11 and 10 of TR and DR, a power-down condition can be temporarily stored and used just like data. Internal circuits ensure that MSB[7] and MSB[6] get transferred to TR[11] and TR[10] (DR[11] and DR[10]) when the power-down flag (CTRL[0] = PD0) is set. Therefore, DAC6574 treats power-down conditions like data and all the operational modes are still valid for power down. It is possible to broadcast a power-down condition to all the DAC6574s in the system, or it is possible to simultaneously power down a channel while updating data on other channels. CURRENT CONSUMPTION The DAC6574 typically consumes 150µA at VDD = 5 V and 125µA at VDD = 3 V for each active channel, including reference current consumption. Additional current consumption can occur at the digital inputs if VIH << VDD. For most efficient power operation, CMOS logic levels are recommended at the digital inputs to the DAC. In power-down mode, typical current consumption is 200 nA. DRIVING RESISTIVE AND CAPACITIVE LOADS The DAC6574 output stage is capable of driving loads of up to 1000 pF while remaining stable. Within the offset and gain error margins, the DAC6574 can operate rail-to-rail when driving a capacitive load. Resistive loads of 2 kΩ can be driven by the DAC6574 while achieving a good load regulation. When the outputs of the DAC are driven to the positive rail under resistive loading, the PMOS transistor of each Class-AB output stage can enter into the linear region. When this occurs, the added IR voltage drop deteriorates the linearity performance of the DAC. This only occurs within approximately the top 20 mV of the DAC's digital input-to-voltage output transfer characteristic. 24 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 CROSSTALK The DAC6574 architecture uses separate resistor strings for each DAC channel in order to achieve ultra-low crosstalk performance. DC crosstalk seen at one channel during a full-scale change on the neighboring channel is typically less than 0.01 LSBs. The ac crosstalk measured (for a full-scale, 1 kHz sine wave output generated at one channel, and measured at the remaining output channel) is typically under -100 dB. OUTPUT VOLTAGE STABILITY The DAC6574 exhibits excellent temperature stability of ±3 ppm/°C typical output voltage drift over the specified temperature range of the device. This enables the output voltage of each channel to stay within a ±25 µV window for a ±1°C ambient temperature change. Combined with good dc noise performance and true 10-bit differential linearity, the DAC6574 becomes a perfect choice for closed-loop control applications. SETTLING TIME AND OUTPUT GLITCH PERFORMANCE Settling time to within the 10-bit accurate range of the DAC6574 is achievable within 7 µs for a full-scale code change at the input. Worst case settling times between consecutive code changes is typically less than 2 µs. The high-speed serial interface of the DAC6574 is designed in order to support up to 188 kSPS update rate. For full-scale output swings, the output stage of each DAC6574 channel typically exhibits less than 100 mV of overshoot and undershoot when driving a 200 pF capacitive load. Code-to-code change glitches are extremely low (~10 µV) given that the code-to-code transition does not cross an Nx64 code boundary. Due to internal segmentation of the DAC6574, code-to-code glitches occur at each crossing of an Nx64 code boundary. These glitches can approach 100 mVs for N = 15, but settle out within ~2 µs. Sufficient bypass capacitance is required to ensure 7 µs settling under capacitive loading. To observe the settling performance under resistive load conditions, the power supply (hence DAC6574 reference supply) must settle quicker than the DAC6574. 25 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 APPLICATION INFORMATION The following sections give example circuits and tips for using the DAC6574 in various applications. For more information, contact your local TI representative, or visit the Texas Instruments website at http://www.ti.com. BASIC CONNNECTIONS For many applications, connecting the DAC6574 is extremely simple. A basic connection diagram for the DAC6574 is shown in Figure 38. The 0.1 µF bypass capacitors help provide the momentary bursts of extra current needed from the supplies. DAC6574 I2C Pullup Resistors 1 kΩ to 10 kΩ (typical) VDD 1 VOUTA A1 10 2 VOUTB A0 9 3 GND VDD 8 4 VOUTC SDA 7 5 VOUTD SCL 6 Microcontroller or Microprocessor With I2C Port SCL SDA NOTE: DAC6574 power and input/output connections are omitted for clarity, except IC Inputs. Figure 38. Typical DAC6574 Connections The DAC6574 interfaces directly to standard mode, fast mode and high-speed mode I2C controllers. Any microcontroller's I2C peripheral, including master-only and non-multiple-master I2C peripherals, work with the DAC6574. The DAC6574 does not perform clock-stretching (i.e., it never pulls the clock line low), so it is not necessary to provide for this unless other devices are on the same I2C bus. Pullup resistors are necessary on both the SDA and SCL lines because I2C bus drivers are open-drain. The size of the these resistors depend on the bus operating speed and capacitance on the bus lines. Higher-value resistors consume less power, but increase the transition times on the bus, limiting the bus speed. Lower-value resistors allow higher speed at the expense of higher power consumption. Long bus lines have higher capacitance and require smaller pullup resistors to compensate. If the pullup resistors are too small the bus drivers may not be able to pull the bus line low. USING GPIO PORTS FOR I2C Most microcontrollers have programmable input/output pins that can be set in software to act as inputs or outputs. If an I2C controller is not available, the DAC6574 can be connected to GPIO pins, and the I2C bus protocol simulated, or bit-banged, in software. An example of this for a single DAC6574 is shown in Figure 39. 26 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 APPLICATION INFORMATION (continued) DAC6574 VDD 1 VOUTA A1 10 2 VOUTB A0 9 3 GND VDD 8 4 VOUTC SDA 7 5 VOUTD SCL 6 Microcontroller or Microprocessor GPIO-1 GPIO-2 NOTE: DAC6574 power and input/output connections are omitted for clarity, except IC Inputs. Figure 39. Using GPIO With a Single DAC6574 Bit-banging I2C with GPIO pins can be done by setting the GPIO line to zero and toggling it between input and output modes to apply the proper bus states. To drive the line low, the pin is set to output a zero; to let the line go high, the pin is set to input. When the pin is set to input, the state of the pin can be read; if another device is pulling the line low, this reads as a zero in the port's input register. Note that no pullup resistor is shown on the SCL line. In this simple case the resistor is not needed. The microcontroller can simply leave the line on output, and set it to one or zero as appropriate. It can do this because the DAC6574 never drives its clock line low. This technique can also be used with multiple devices, and has the advantage of lower current consumption due to the absence of a resistive pullup. If there are any devices on the bus that may drive their clock lines low, the above method should not be used. The SCL line should be high-Z or zero, and a pullup resistor provided as usual. Note also that this cannot be done on the SDA line in any case, because the DAC6574 drives the SDA line low from time to time, as all I2C devices do. Some microcontrollers have selectable strong pullup circuits built in to their GPIO ports. In some cases, these can be switched on and used in place of an external pullup resistor. Weak pullups are also provided on some microcontrollers, but usually these are too weak for I2C communication. Test any circuit before committing it to production. POWER SUPPLY REJECTION The positive reference voltage input of DAC6574 is internally tied to the power supply pin of the device. This increases I2C system flexibility, creating room for an extra I2C address pin in a low pin-count package. To eliminate the supply noise appearing at the DAC output, the user must pay close attention to how DAC6574 is powered. The supply to DAC6574 must be clean and well regulated. For best performance, use of a precision voltage reference is recommended to supply power to DAC6574. This is equivalent to providing a precision 27 DAC6574 www.ti.com SLAS408 – DECEMBER 2003 APPLICATION INFORMATION (continued) external reference to the device. Due to low power consumption of DAC6574, load regulation errors are negligible. In order to avoid excess power consumption at the Schmitt-triggered inputs of DAC6574, the precision reference voltage should be close to the I2C bus pullup voltage. For 3-V, 3.3-V and 5-V I2C bus pullup voltages, REF2930, REF2933 and REF02 precision voltage references are recommended respectively. These precision voltage references can be used to supply power for multiple devices on a system. USING REF02 AS A POWER SUPPLY FOR DAC6574 Due to the extremely low supply current required by the DAC6574, a possible configuration is to use a REF02 +5 V precision voltage reference to supply the required voltage to the DAC6574 supply input as well as the reference input, as shown in Figure 40. This is especially useful if the power supply is quite noisy or if the system supply voltages are at some value other than 5 V. The REF02 outputs a steady supply voltage for the DAC6574. If the REF02 is used, the current it needs to supply to the DAC6574 is 600 µA typical and 900 µA max for VDD = 5 V. When a DAC output is loaded, the REF02 also needs to supply the current to the load. The total typical current required (with a 5-kΩ load on a single DAC output) is: 600 µA + (5 V / 5 kΩ) = 1.6 mA The load regulation of the REF02 is typically 0.005%/mA, which results in an error of 400 µV for 1.6 mA of current drawn from it. This corresponds to a 0.08 LSB error for a 0-V to 5-V output range. 15 V REF02 5V 1.6 mA I2C Interface SCL SDA VDD DAC6574 VOUT = 0 V to 5 V Figure 40. REF02 Power Supply LAYOUT A precision analog component requires careful layout, adequate bypassing, and clean, well-regulated power supplies. For best performance, the power applied to VDD must be well-regulated and low noise. Switching power supplies and dc/dc converters often have high-frequency glitches or spikes riding on the output voltage. In addition, digital components can create similar high-frequency spikes as their internal logic switches states. This noise can easily couple into the DAC output voltage through various paths between the power connections and analog output. As with the GND connection, VDD must be connected to a positive power-supply plane or trace that is separate from the connection for digital logic until they are connected at the power-entry point. In addition, a 1-µF to 10-µF capacitor in parallel with a 0.1-µF bypass capacitor is strongly recommended. In some situations, additional bypassing may be required, such as a 100-µF electrolytic capacitor or even a Pi filter made up of inductors and capacitors—all designed to essentially low-pass filter the –5-V supply, removing the high-frequency noise. 28 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Following are URLs where you can obtain information on other Texas Instruments products and application solutions: Products Applications Amplifiers amplifier.ti.com Audio www.ti.com/audio Data Converters dataconverter.ti.com Automotive www.ti.com/automotive DSP dsp.ti.com Broadband www.ti.com/broadband Interface interface.ti.com Digital Control www.ti.com/digitalcontrol Logic logic.ti.com Military www.ti.com/military Power Mgmt power.ti.com Optical Networking www.ti.com/opticalnetwork Microcontrollers microcontroller.ti.com Security www.ti.com/security Telephony www.ti.com/telephony Video & Imaging www.ti.com/video Wireless www.ti.com/wireless Mailing Address: Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Copyright 2004, Texas Instruments Incorporated