3 mm x 5 mm DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 16-BIT, LOW POWER, VOLTAGE OUTPUT, I2C INTERFACE DIGITAL-TO-ANALOG CONVERTER FEATURES DESCRIPTION • • • • • • • • • • • • • The DAC8571 is a small low-power, 16-bit voltage output DAC with an I2C compatible two-wire serial interface. Its on-chip precision output amplifier allows rail-to-rail output swing and settles within 10 microseconds. The DAC8571 architecture is 16-bit monotonic, and factory trimming typically achieves ±4 mV absolute accuracy at all codes. The DAC8571 requires an external reference voltage to set its output voltage range. Micropower Operation: 160 µA @ 5 V Power-On Reset to Zero Single Supply: +2.7 V to +5.5 V 16-Bit Monotonic Settling Time: 10 µs to ±0.003% FSR I2C™ Interface With High-Speed Mode Supports Data Receive and Transmit On-Chip Rail-to-Rail Output Buffer Double-Buffered Input Register Supports Synchronous Multichannel Update Offset Error: ±1 mV max at 25°C Full-Scale Error: ±3 mV max at 25°C Small 8 Lead MSOP Package The low power consumption and small size of this part make it ideally suited to portable battery operated equipment. The power consumption is typically 800 µW at VDD = 5 V reducing to 1 µW in power-down mode. The DAC8571 incorporates a 2-wire I2C interface. Standard, fast, and high-speed modes of I2C operation are all supported up to 3.4 MHz serial clock speeds. Multichannel synchronous data update and power-down operations are supported through the I2C bus. DAC8571 is also capable of transmitting the contents of its serial shift register, a key feature for I2C system verification. APPLICATIONS • • • • • Process Control Data Acquisition Systems Closed-Loop Servo Control PC Peripherals Portable Instrumentation The DAC8571 is available in an 8-lead MSOP package and is specified over -40°C to 105°C. VREF V(SENSE) _ Ref + 16 Bit DAC VDD VOUT + 16 DAC Register Temporary Register SDA SCL A0 I2C Block Power Down Control Logic Resistor Network GND I2C is a trademark of Philips Corporation. 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. PRODUCTION DATA information is current as of publication date. Products conform to specifications per the terms of Texas Instruments standard warranty. Production processing does not necessarily include testing of all parameters. Copyright © 2002 – 2003, Texas Instruments Incorporated DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 PIN CONFIGURATIONS VDD VREF 1 8 2 7 V(SENSE) VOUT 3 6 4 5 GND SDA SCL A0 PIN DESCRIPTION Pin 2 Name Function 1 VDD Analog voltage supply input 2 VREF Positive reference voltage input 3 V(SENSE) Analog output sense 4 VOUT Analog output voltage from DAC 5 A0 Device address select 6 SCL Serial clock input 7 SDA Serial data input/output 8 GND Ground reference point for all circuitry on the part DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 These devices have limited built-in ESD protection. The leads should be shorted together or the device placed in conductive foam during storage or handling to prevent electrostatic damage to the MOS gates. PACKAGE/ORDERING INFORMATION Product Package Package Designator Specified Temperature Range Package Marking Ordering Number Transport Media, Quantity DAC8571 8-MSOP DGK -40°C to +105°C D871 DAC8571IDGK DAC8571IDGKR Tube, 80 Tape & Reel, 2500 ABSOLUTE MAXIMUM RATINGS (1) DAC8571 VDD to GND -0.3 V to +6 V Digital input voltage to GND -0.3V to VDD + 0.3V VOUT to GND -0.3V to +VDD + 0.3V Operating temperature range -40°C to + 105°C Storage temperature range -65°C to +150°C Junction temperature range (TJmax) + 150°C ΘJAThermal impedance 260°C/W ΘJCThermal impedance 44°C/W Lead temperature, soldering (1) 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. ELECTRICAL CHARACTERISTICS VDD = +2.7 V to +5.5 V; RL = 2 kΩ to GND; CL = 200 pF to GND; low power mode; all specifications -40°C to 105°C (unless otherwise noted) DAC8571 PARAMETER CONDITIONS MIN TYP MAX UNITS STATIC PERFORMANCE (1) Resolution 16 Bits ±0.098 Relative accuracy ±1 LSB Measured at code 485, 25°C 0.3 ±1.0 mV Measured at code 485, -40°C...105°C 1.0 ±5.0 Measured at code 64714, 25°C 0.5 ±3.0 Measured at code 64714, -40°C...105°C 1.0 ±5.0 Measured at code 64714, 25°C 1.0 ±3.0 Measured at code 64714, -40°C...105°C 2.0 ±5.0 All zeroes loaded to DAC register -20 µV/°C -5 ppm of FSR/°C Monotonic by design Offset error Full-scale error Gain error Zero code error drift Gain temperature coefficient Absolute accuracy (1) % of FSR ±0.25 Differential nonlinearity All codes from code 485 to code 64714, 25°C ±2.5 All codes from code 485 to code 64714, -40°C...105°C ±3.5 mV mV mV Linearity calculated using a reduced code range of 485 to 64714. Output unloaded. 3 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 ELECTRICAL CHARACTERISTICS (continued) VDD = +2.7 V to +5.5 V; RL = 2 kΩ to GND; CL = 200 pF to GND; low power mode; all specifications -40°C to 105°C (unless otherwise noted) DAC8571 PARAMETER CONDITIONS MIN TYP MAX UNITS OUTPUT CHARACTERISTICS (2) Output voltage range Output voltage settling time (full scale) Slew rate Capacitive load stability 0 RL = 2 kΩ; CL < 200 pF, fast settling 8 RL = 2 kΩ; CL = 500 pF, fast settling 12 RL = 2 kΩ; CL < 200 pF, low power 13 RL = 2 kΩ; CL < 200 pF, fast settling VREF V 10 µs µs 15 1 RL = 2 kΩ; CL < 200 pF, low power 0.5 RL = ∞ 470 RL = 2 kΩ µs V/µs pF 1000 pF Digital-to-analog glitch impulse 20 nV-s Digital feedthrough 0.5 nV-s 1 Ω 50 mA VDD = +3 V 20 mA Coming out of power-down mode, VDD = +5 V 2.5 µs DC output impedance Short circuit current Power-up time VDD = +5 V Coming out of power-down mode, VDD = +3 V 5 PSRR µs 0.75 mV/V REFERENCE INPUT VREFH input range 0 Reference input impedance LOGIC INPUTS (3) VDD 140 Input current VIN_L, Input low voltage VDD = 2.7-5.5 V VIN_H0 , Input high voltage VDD = 2.7-5.5 V V kΩ ±1 µA 0.3VDD V 3 pF 5.5 V µA 0.7VDD V Pin capacitance POWER REQUIREMENTS VDD 2.7 IDD (normal operation) VDD = +4.5 V to +5.5 V VDD = +2.7 V to +3.6 V DAC active, Iref included VIH = VDD, VIL = GND, fast settling 250 400 VIH = VDD, VIL = GND, low power 160 225 VIH = VDD, VIL = GND, fast settling 240 380 VIH = VDD, VIL = GND, low power 140 200 µA IDD (all power-down modes) DAC active, Iref included VDD = +4.5 V to +5.5 V VIH = VDD and VIL = GND 0.2 1 µA VDD = +2.7 V to +3.6 V VIH = VDD and VIL = GND 0.05 1 µA IL = 2 mA, VDD = +5 V 93% POWER EFFICIENCY IOUT/IDD (2) (3) 4 Assured by design and characterization, not production tested. Assured by design and characterization, not production tested. DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 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 noted) SYMBOL PARAMETER tSCL SCL clock frequency tBUF Bus free time between a STOP and START condition tHO; tSTA Hold time (repeated) START condition TEST CONDITIONS MIN MAX UNITS Standard mode 100 kHz Fast mode 400 kHz High-speed mode, CB - 100pF max 3.4 MHz 1.7 MHz High-speed mode, CB - 400pF max tLOW tHIGH tSU; tSTA tSU; tDAT tHD; tDAT tRCL tRCL1 tFCL 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 Rise time of SCL signal Rise time of SCL signal after a repeated START condition, and after an acknowledge BIT Fall time of SCL signal 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 Standard mode 4.0 µs Fast mode 600 ns High-speed mode, CB - 100pF max 60 ns High-speed mode, CB - 400pF 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 0.9 µs Fast mode 0 0.9 µs High-speed mode, CB - 100pF max 0 70 ns High-speed mode, CB - 400pF max 0 150 ns Standard mode 20 × 0.1CB 1000 ns Fast mode ns Rise time of SDA signal 20 × 0.1CB 300 10 40 ns High-speed mode, CB - 400pF max 20 80 ns Standard mode 20 × 0.1CB 1000 ns Fast mode 20 × 0.1CB 300 ns High-speed mode, CB - 100pF max 10 80 ns High-speed mode, CB - 400pF max 20 1600 ns Standard mode 20 × 0.1CB 300 ns Fast mode 20 × 0.1CB 300 ns 10 40 ns High-speed mode, CB - 100pF max 20 80 ns Standard mode 20 × 0.1CB 1000 ns Fast mode 20 × 0.1CB 300 ns 10 80 ns High-speed mode, CB - 100pF max High-speed mode, CB - 400pF max tFDA Fall time of SDA signal ns High-speed mode, CB - 100pF max High-speed mode, CB - 400pF max tRCA TYP 20 160 ns Standard mode 20 × 0.1CB 300 ns Fast mode 20 × 0.1CB 300 ns High-speed mode, CB - 100pF max 10 80 ns High-speed mode, CB - 400pF max 20 160 ns 5 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 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 noted) SYMBOL PARAMETER tSU; tSTO Setup time for STOP condition CB 6 MIN Pulse width of spike suppressed VNH Noise margin at the HIGH level for each connected device (including hysteresis) Noise margin at the LOW level for each connected device (including hysteresis) TYP MAX UNITS Standard mode 4.0 µs Fast mode 600 ns High-speed mode 160 ns Capacitive load for SDA and SCL tSP VNL TEST CONDITIONS 400 pF Fast mode 50 ns High-speed mode 10 ns Standard mode Fast mode 0.2VDO V 0.1VDO V High-speed mode Standard mode Fast mode High-speed mode DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 TYPICAL CHARACTERISTICS At TA = +25°C, unless otherwise noted. DIFFERENTIAL LINEARITY ERROR vs DIGITAL INPUT CODE LINEARITY ERROR vs DIGITAL INPUT CODE 1 64 0.8 48 0.4 16 0.2 0 DLE - LSB Linearity Error - LSB 0.6 32 -16 -32 0 - 0.2 - 0.4 - 0.6 -48 - 0.8 -64 -1 0 10000 20000 30000 40000 50000 60000 0 Figure 1. Figure 2. ERROR vs TEMPERATURE ERROR vs TEMPERATURE 3 3 Full–Scale 1 Error – mV Zero–Scale 0 VDD = 3 V 2 Gain 1 Error – mV VDD = 5 V Full–Scale 2 Gain 0 –1 –1 –2 –2 –3 Zero–Scale –3 –40 –20 0 20 40 60 80 100 –40 –20 0 TA – Free–Air Temperature – °C 80 100 1 MAX Error Differential Linearity Error - LSB Linearity Error - LSB 60 DIFFERENTIAL LINEARITY ERROR vs TEMPERATURE 64 32 16 0 MIN Error - 32 - 48 - 64 - 40 40 Figure 4. LINEARITY ERROR vs TEMPERATURE - 16 20 TA – Free–Air Temperature – °C Figure 3. 48 50000 60000 10000 20000 30000 40000 Digital Input Code Digital Input Code 0.8 0.6 MAX Error 0.4 0.2 0 - 0.2 MIN Error - 0.4 - 0.6 - 0.8 0 40 80 TA - Free-Air Temperature - °C Figure 5. 110 -1 - 40 0 40 80 110 TA - Free-Air Temperature - °C Figure 6. 7 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. SINK CURRENT AT NEGATIVE RAIL SOURCE CURRENT AT POSITIVE RAIL 5 0.125 VOUT - Output Voltage - V VOUT - Output Voltage - V 0.15 VDD = 2.7 V 0.1 VDD = 5 V 0.075 0.05 VREF = VDD - 10 mV DAC Loaded With 0000 H 0.025 4.95 4.9 VREF = VDD - 10 mV DAC Loaded With FFFFH VDD = 5 V 4.85 0 4.8 0 1 2 3 4 0 5 1 2 Figure 7. SOURCE CURRENT AT POSITIVE RAIL SUPPLY CURRENT vs DIGITAL INPUT CODE 250 IDD - Supply Current - µA VOUT - Output Voltage - V 5 Figure 8. 2.7 2.65 2.6 VREF = VDD - 10 mV DAC Loaded With FFFFH VDD = 2.7 V 2.55 200 VDD = 5 V 150 VDD = 3.6 V 100 50 Reference Current Included 2.5 0 0 1 2 3 4 5 0 10000 20000 30000 40000 ISOURCE - Source Current - mA Digital Input Code Figure 9. Figure 10. SUPPLY CURRENT vs TEMPERATURE 50000 60000 SUPPLY CURRENT vs SUPPLY VOLTAGE 140 250 IREF Included VDD = 5.5 V 200 IDD - Supply Current - µA IDD – Supply Current – µA 4 ISOURCE - Source Current - mA ISINK - Sink Current - mA 150 VDD = 3.6 V 100 50 VREF = VDD, IDD Measured at Power-Up, Reference Current Included, No Load 120 100 80 60 40 20 0 0 –40 –20 0 20 40 60 TA – Free–Air Temperature – °C Figure 11. 8 3 80 100 2.7 3.1 3.5 3.9 4.3 4.7 VDD - Supply Voltage - V Figure 12. 5.1 5.5 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. SUPPLY CURRENT vs LOGIC INPUT VOLTAGE HISTOGRAM OF CURRENT CONSUMPTION 1 2500 TA = 25°C, A0 Input (All Other Inputs = GND) Reference Current Included IREF Included 2000 0.8 0.7 VDD = VREF = 5.5 V 0.6 VDD = VREF = 2.7 V 0.5 0.4 VDD = 5.5 V VDD = 2.7 V f - Frequency IDD - Supply Current - mA 0.9 1500 1000 0.3 500 0.2 0.1 0 0 0 1 2 3 4 0 5 40 160 200 IDD - Supply Current - µA Figure 13. Figure 14. 5.5 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 -0.5 240 280 OUTPUT GLITCH (Mid-Scale) 2.5 2.45 VO (V, 50 mV/div) VOUT - Output Voltage - V 120 Logic Input Voltage - V EXITING POWER-DOWN MODE 2.4 Vref = VDD - 50 mV 2.35 Code 7FFFh to 8000h (Glitch Occurs Every N x 4096 Code Boundary) 2.3 t - Time - 5µs/div 5 0 Figure 15. 10 15 t - Time - µS 20 25 30 Figure 16. ABSOLUTE ERROR FULL-SCALE SETTLING TIME (Large Signal) 0.005 6 VDD = 5 V VOUT – Output Voltage – V 0.004 Total Unadjusted Error - V 80 0.003 0.002 0.001 0 -0.001 -0.002 -0.003 5 4 3 2 1 -0.004 VDD = VREF =5V Output Loaded With 2 kΩ and 200 pF to GND 0 -0.005 0 10000 20000 30000 40000 50000 60000 t – Time – 12µs/div, Fast–Settling Mode Digital Input Code Figure 17. Figure 18. 9 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. HALF-SCALE SETTLING TIME (Large Signal) FULL-SCALE SETTLING TIME (Large Signal) 3.5 2.5 2.0 VDD = VREF =5V Output Loaded With 2 kΩ and 200 pF to GND 1.5 1.0 0.5 3.0 VOUT – Output Voltage – V VOUT – Output Voltage – V 3.0 2.5 2.0 VDD = VREF = 2.7 V Output Loaded With 2 kΩ and 200 pF to GND 1.5 1.0 0.5 0.0 0.0 t – Time – 12µs/div, Fast–Settling Mode t – Time – 12µs/div, Fast–Settling Mode Figure 19. Figure 20. HALF-SCALE SETTLING TIME SIGNAL-TO-NOISE vsOUTPUT OUTPUT FREQUENCY SIGNAL-TO-NOISERATIO RATIO vs FREQUENCY 1.50 96 VDD = 5V 94 1.00 SNR (dB) VOUT – Output Voltage – V 98 VDD = VREF = 2.7 V Output Loaded With 2 kΩ and 200 pF to GND 0.50 92 VDD = 2.7V 90 88 VDD = VREF -1dB FSR Digital Input, FS = 52ksps Measurement Bandwidth = 20kHz 86 0.00 84 t – Time – 12µs/div, Fast–Settling Mode 0 500 1k 1.5k 2k 2.5k 3k 3.5k 4k 4.5k Output Frequency (Hz), Fast-Settling Mode Figure 21. Figure 22. TOTAL HARMONIC DISTORTION vs OUTPUT FREQUENCY OUTPUT FREQUENCY TOTAL HARMONIC DISTORTION vs OUTPUT FREQUENCY 0 0 VDD = VREF = 5V FS = 52ksps, - 1dB FSR Digital Input Measurement Bandwidth = 20kHz - 10 - 20 - 20 - 30 - 40 THD (dB) THD (dB) - 30 THD - 50 - 60 - 40 THD - 50 - 60 - 70 - 70 - 80 - 80 3rd Harmonic - 90 - 90 2nd Harmonic 0 500 1k 1.5k 2nd Harmonic 3rd Harmonic - 100 - 100 2k 2.5k 3k 3.5k Output Frequency (Hz), Fast-Settling Mode Figure 23. 10 VDD = VREF = 2.7V FS = 52ksps, - 1dB FSR Digital Input Measurement Bandwidth = 20kHz - 10 4k 0 500 1k 1.5k 2k 2.5k 3k Output Frequency (Hz), Fast - Settling Mode Figure 24. 3.5k 4k DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 TYPICAL CHARACTERISTICS (continued) At TA = +25°C, unless otherwise noted. Small-Signal Settling Time 5mV/div Trigger Signal Time (2µs/div) Figure 25. FULL-SCALE SETTLING TIME (Small-Signal-Negative Going Step) Output Voltage Output Voltage FULL-SCALE SETTLING TIME (Small-Signal-Positive Going Step) Small-Signal Settling Time 5mV/div Trigger Signal Time (2µs/div) Figure 26. 11 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION D/A SECTION The architecture of the DAC8571 consists of a string DAC followed by an output buffer amplifier. Figure 27 shows a block diagram of the DAC architecture. Reference Voltage V(SENSE) DAC Register Ref+ Resistor String Ref- _ + VOUT GND Figure 27. DAC8571 Architecture The input coding to the DAC8571 is unsigned binary, which gives the ideal output voltage as: V OUT VREF D 65536 (1) where D = decimal equivalent of the binary code that is loaded to the DAC register; it can range from 0 to 65535. RESISTOR STRING The resistor string section is shown in Figure 28. It is simply a divide-by-two 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 it is a string of resistors, it is assured monotonic. VREF R R To Output Amplifier R R GND Figure 28. Resistor String. 12 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) Output Amplifier The output buffer is a gain-of-2 noninverting amplifier capable of generating rail-to-rail voltages at its output, which gives an output range of 0 V to VDD. It is capable of driving a load of 2 kΩ in parallel with 1000 pF to GND. The source and sink capabilities (fast settling) of the output amplifier can be seen in the typical curves. The slew rate is 1 V/µs with a full-scale settling time of 10 µs with the output loaded. The feedback and gain setting resistors of the amplifier are in the order of 50 kΩ. Their absolute value can be off significantly, but they are matched to within 0.1%. The inverting input of the output amplifier is brought out to the VSENSE pin, through the feedback resistor. This allows for better accuracy in critical applications by tying the VSENSE point and the amplifier output together directly at the load. Other signal conditioning circuitry may also be connected between these points for specific applications including current sourcing. I2C Interface The DAC8571 uses the I2C interface (see I2C-Bus Specification Version 2.1, January 2000, Philips Semiconductor) to receive and transmit digital data. I2C is a 2-wire serial interface that allows multiple devices on the same bus to communicate with each other. The serial bus consists of the serial data (SDA) and serial clock (SCL) lines. Connections to the SDA and SCL lines of the bus are made through open drain IO pins of each device on the bus. Since the devices that connect to the bus have open drain outputs, the bus should include pullup structures. When the bus is not active, both SCL and SDA lines are pulled high by these pullup devices. The DAC8571 supports the I2C serial bus and data transmission protocol, in all three defined modes: standard (100 Kbps), fast (400 kBps), and high speed (3.4 Mbps). I2C specification states that the device that controls the message is called a master, and the devices that are controlled by the master are slaves. The master device generates the SCL signal. A master device also generates special timing conditions (start condition, repeated start condition, and stop condition) on the bus to indicate the start or stop of a data transfer. Device addressing is also done by the master. The master device on an I2C bus is usually a microcontroller or a digital signal processor (DSP). The DAC8571 on the other hand, operates as a slave device on the I2C bus. A slave device acknowledges master’s commands and upon master’s control, either receives or transmits data. I2C specification states that a device that sends data onto the bus is defined as a transmitter, and a device receiving data from the bus is defined as a receiver. DAC8571 normally operates as a slave receiver. A master device writes to DAC8571, a slave receiver. However, if a master device inquires DAC8571 internal register data, DAC8571, operates as a slave transmitter. In this case, the master device reads from the DAC8571, a slave transmitter. According to I2C terminology, read and write are with respect to the master device. Other than specific timing signals, I2C interface works with serial bytes. At the end of each byte, a 9th clock cycle is used to generate/detect an acknowledge signal. An acknowledge is when the SDA line is pulled low during the high period of 9th clock cycle. A not-acknowledge is when SDA line is left high during the high period of the 9th clock cycle. SDA SCL Data Line Stable; Data Valid Change of Data Allowed Figure 29. Valid Data 13 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) 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 30. 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 9 ACK Sr or P Clock Line Held Low While Interrupts are Serviced STOP or Repeated START Condition Figure 31. Bus Protocol 14 3-8 www.ti.com DAC8571 SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) Master Writing to a Slave Receiver (Standard/Fast Modes) I2C protocol starts when the bus is idle, that is, when SDA and SCL lines are stable high. The master then pulls the SDA line low while SCL is still high indicating that serial data transfer has started. This is called a start condition, and can only be asserted by the master. After the start condition, the master generates the serial clock pulses and puts out an address byte, ADDRESS<7:0>. While generating the bit stream, the master ensures the timing for valid data. For each valid I2C bit, SDA line should remain stable during the entire high period of the SCL line. The address byte consists of 7 address bits (1001100, assuming A0=0) and a direction bit (R/W=0). After sending the address byte, the master generates a 9th SCL pulse and monitors the state of the SDA line during the high period of this 9th clock cycle. The SDA line being pulled low by a receiver during the high period of 9th clock cycle is called an acknowledge signal. If the master receives an acknowledge signal, it knows that a DAC8571 successfully matched the address the master sent. Upon the receipt of this acknowledge, the master knows that the communication link with a DAC8571 has been established and more data could be sent. The master continues by sending a control byte C<7:0>, which sets DAC8571’s operation mode. After sending the control byte, the master expects an acknowledge signal. Upon receipt of the acknowledge, the master sends a most significant byte M<7:0> that represents the eight most significant bits of DAC8571’s 16-bit digital-to-analog conversion data. Upon receipt of the M<7:0>, DAC8571 sends an acknowledge. After receiving the acknowledge, the master sends a least significant byte L<7:0> that represents the eight least significant bits of DAC8571’s 16-bit conversion data. After receiving the L<7:0>, the DAC8571 sends an acknowledge. At the falling edge of the acknowledge signal following the L<0>, DAC8571 performs a digital to analog conversion. For further DAC updates, the master can keep repeating M<7:0> and L<7:0> sequences, expecting an acknowledge after each byte. After the required number of digital-to-analog conversions is complete, the master can break the communication link with DAC8571 by pulling the SDA line from low to high while SCL line is high. This is called a stop condition. A stop condition brings the bus back to idle (SDA and SCL both high). A stop condition indicates that communication with DAC8571 has ended. All devices on the bus including DAC8571 then await a new start condition followed by a matching address byte. DAC8571 stays at its current state upon receipt of a stop condition. Table 1 demonstrates the sequence of events that should occur while a master transmitter is writing to DAC8571. 15 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) Table 1. Master Transmitter Writing to Slave Receiver (DAC8571) Standard/Fast Mode Write Sequence - Data Input Transmitter MSB 6 5 4 1 0 0 1 Master Master 0 0 Load 1 LSB Comment 1 A0 0 R/W Write addressing (LSB=0) Brcsel 0 PD0 Control byte (PD0=0) D10 D9 D8 Writing dataword, high byte D2 D1 D0 Writing dataword, low byte Begin sequence Load 0 0 DAC8571 Acknowledges D15 D14 D13 D7 D6 D5 D12 DAC8571 Master 1 DAC8571 Acknowledges DAC8571 Master 2 Start DAC8571 Master 3 D11 DAC8571 Acknowledges D4 DAC8571 D3 DAC8571 Acknowledges Stop or Repeated Start (1) (2) Master Done Standard/Fast Mode Write Sequence-Power Down Input Transmitter MSB 6 5 4 Master Master 1 0 0 1 DAC8571 Master 0 0 Load 1 PD1 PD2 PD3 DAC8571 Master (1) (2) (3) (4) 16 1 LSB Comment Begin sequence 1 A0 0 R/W Write addressing (LSB=0) Load 0 0 Brcsel 0 PD0 Control byte (PD0=1) 0 0 0 Writing dataword, high byte 0 0 0 Writing dataword, low byte DAC8571 Acknowledges DAC8571 Master 2 DAC8571 Acknowledges DAC8571 Master 3 Start 0 0 DAC8571 Acknowledges 0 0 0 0 0 DAC8571 Acknowledges Stop or Repeated Start (3) (4) Done High byte, low byte sequence can repeat. Use repeated start to secure bus operation and loop back to the stage of write addressing for next Write. High byte, low byte sequence can repeat. Use repeated start to secure bus operation and loop back to the stage of write addressing for next Write. DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) Master Reading From a Slave Transmitter (Standard/Fast Modes) I2C protocol starts when the bus is idle, that is, when SDA and SCL lines are stable high. The master then pulls the SDA line low while SCL is still high indicating that serial data transfer has started. This is called a start condition, and can only be asserted by the master. After the start condition, the master generates the serial clock pulses and puts out an address byte, ADDRESS<7:0>. While generating the bit stream, the master ensures the timing for valid data. For each valid I2C bit, SDA line should remain stable during the entire high period of the SCL line. The address byte consists of seven address bits (1001100, assuming A0=0) and a direction bit (R/W=1). After sending the address byte, the master generates a 9th SCL pulse and monitors the state of the SDA line during the high period of this 9th clock cycle (master leaves the SDA line high). The SDA line being pulled low by a receiver during the high period of 9th clock cycle is called an acknowledge signal. If the master receives an acknowledge signal, it knows that a DAC8571 successfully matched the address the master sent. Since the R/W bit in the address byte was set, master also knows that DAC8571 is ready to transmit data. Upon the receipt of this acknowledge, the master knows that the communication link with a DAC8571 has been established and more data could be received. The master continues by sending eight clock cycles during which DAC8571 transmits a most significant byte, M<7:0>. If the master detects all bits of the M<7:0> as valid data, it sends an acknowledge signal in the 9th cycle. DAC8571 detects this acknowledge signal and prepares to send more data. Upon the receipt of eight clock cycles from the master, DAC8571 transmits the least significant byte L<7:0>. If the master detects all bits of the L<7:0> as valid data, it sends an acknowledge signal to DAC8571 during the 9th clock cycle. DAC8571 detects this acknowledge signal and prepares to send more data. Upon the receipt of 8 more clock cycles from the master, DAC8571 transmits the control byte C<7:0>. During the 9th clock cycle, the master transmits a not-acknowledge signal to DAC8571 and terminates the sequence with a stop condition, by pulling the SDA line from low to high while clock is high. M<7:0> and L<7:0> data could be either DAC data or could be the data stored in the temporary register. Bits in the C<7:0> reveal this information. Table 2 demonstrates the sequence of events that should occur while a master receiver is reading from DAC8571. Table 2. Master Receiver Reads From Slave Transmitter (DAC8571) Standard/Fast Mode Read Sequence-Data Transmit Transmitter MSB 6 5 4 Master Master 1 0 0 D15 D14 D13 DAC8571 DAC8571 1 LSB 1 Comment Begin sequence 1 A0 0 R/W Read addressing (R/W = 1) D12 D11 D10 D9 D8 High byte D2 D1 D0 Low byte C2 C1 C0 Master Acknowledges D7 D6 D5 Master DAC8571 2 DAC8571 Acknowledges Master DAC8571 3 Start D4 D3 Master Acknowledges C7 C6 C5 C4 C3 Master Master Not Acknowledges Master Stop or Repeated Start Control byte Master signal end of read Done Master Writing to a Slave Receiver (High-Speed Mode) All devices must start operation in standard/fast mode and switch to high-speed mode using a well defined protocol. This is required because high-speed mode requires the on chip filter settings of each I2C device (for SDA and SCL lines) to be switched to support 3.4 Mbps operation. A stop condition always ends the high speed mode and puts all devices back to standard/fast mode. 17 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) I2C protocol starts when the bus is idle, that is, when SDA and SCL lines are stable high. The master then pulls the SDA line low while SCL is still high indicating that serial data transfer has started. This is called a start condition, and can only be asserted by the master. After the start condition, the master device puts out the high-speed master code 0000 1xxx. No device is allowed to acknowledge the master code, but the devices are required to switch their internal settings to support 3.4 Mbps operation upon the receipt of this code. After the not-acknowledge signal, the master is allowed to operate at high speed. Now at much higher speed, the master generates a repeated start condition. After the start condition, master generates the serial clock pulses and puts out an address byte, ADDRESS<7:0>. While generating the bit stream, the master ensures the timing for valid data. For each valid I2C bit, SDA line should remain stable during the entire high period of the SCL line. The address byte consists of seven address bits and a direction bit (R/W=0). After sending the address byte, the master generates a 9th SCL pulse and monitors the state of the SDA line during the high period of this 9th clock cycle (master leaves the SDA line high). The SDA line being pulled low by the receiver during the high period of 9th clock cycle is called an acknowledge signal. If the master receives an acknowledge signal, it knows that a DAC8571 successfully matched the address the master sent. Upon the receipt of this acknowledge, the master knows that the high-speed communication link with a DAC8571 has been established and more data could be sent. The master continues by sending a control byte, C<7:0>, which sets DAC8571 operation mode. After sending the control byte, master expects an acknowledge. Upon the receipt of an acknowledge, the master sends a most significant byte, M<7:0> that represents the eight most significant bits of DAC8571’s 16-bit digital-to-analog conversion data. Upon the receipt of the M<7:0>, DAC8571 sends an acknowledge. After receiving the acknowledge, the master sends a least significant byte, L<7:0>, that represents the eight least significant bits of DAC8571’s 16-bit conversion data. After receiving the L<7:0>, the DAC8571 sends an acknowledge. At the falling edge of the acknowledge signal following the L<0>, DAC8571 performs a digital to analog conversion, depending on the operational mode. For further DAC updates, the master can keep repeating M<7:0> and L<7:0> sequences, expecting an acknowledge after each byte. After the required number of digital to analog conversions is complete, the master can break the communication link with DAC8571 by pulling the SDA line from low to high while SCL line is high. This is called a stop condition. A stop condition brings the bus back to idle (SDA and SCL both high). A stop condition indicates that communication with a device (DAC8571) has ended. All devices on the bus including DAC8571 then await a new start condition followed by a matching address byte. DAC8571 stays at its current state upon the receipt of a stop condition. A stop condition during the high-speed mode also indicates the end of the high-speed mode. Table 3 demonstrates the sequence of events that should occur while a master transmitter is writing to DAC8571 in I2C high-speed mode. Table 3. Master Transmitter Writes to Slave Receiver in High-Speed Mode HS Mode Write Sequence-Data Input Transmitter MSB 6 5 4 Master Master 0 0 0 0 0 0 0 Load 1 Master (1) (2) 18 Begin sequence (1) 1 X X X HS mode master code No device may acknowledge HS master code 1 1 A0 0 R/W Write addressing (LSB = 0) Load 0 0 Brcsel 0 PD0 Control byte (PD0=0) D10 D9 D8 Writing dataword, high byte D2 D1 D0 Writing dataword, low byte DAC8571 Acknowledges D15 D14 D13 D7 D6 D5 DAC8571 DAC8571 0 Comment DAC8571 Acknowledges DAC8571 Master LSB Repeated Start 1 DAC8571 Master 1 Not Acknowledge Master Master 2 Start NONE Master 3 D12 D11 DAC8571 Acknowledges D4 D3 DAC8571 Acknowledges Stop or Repeated Start (2) Done High-byte, low-byte sequences can repeat Use repeated start to secure bus operation and loop back to the stage of write addressing for next Write. DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) Master Receiver Reading From a Slave Transmitter (High-Speed Mode) I2C protocol starts when the bus is idle, that is, when SDA and SCL lines are stable high. The master then pulls the SDA line low while SCL is still high indicating that serial data transfer has started. This is called a start condition, and can only be asserted by the master. After the start condition, the master device puts out the high-speed master code 0000 1xxx. No device is allowed to acknowledge the master code, but the devices are required to switch their internal settings to support 3.4 Mbps operation upon the receipt of this code. After the not-acknowledge signal, the master is allowed to operate at high speed. Now at much higher speed, the master generates a repeated start condition. After the start condition, the master generates the serial clock pulses and puts out an address byte, ADDRESS<7:0>. While generating the bit stream, the master ensures the timing for valid data. For each valid I2C bit, SDA line should remain stable during the entire high period of the SCL line. The address byte consists of seven address bits and a direction bit (R/W=1). After sending the address byte, the master generates a 9th SCL pulse and monitors the state of the SDA line during the high period of this 9th clock cycle (master leaves the SDA line high). The SDA line being pulled low by the receiver during the high period of 9th clock cycle is called an acknowledge signal. If the master receives an acknowledge signal, it knows that a DAC8571 successfully matched the address the master sent. Since the R/W bit in the address byte was set, master also knows that DAC8571 is ready to transmit data. Upon the receipt of this acknowledge, the master knows that the communication link with a DAC8571 has been established and more data could be received. The master continues by sending eight clock cycles during which DAC8571 transmits an M<7:0>. If the master detects all bits of the M<7:0> as valid data, it sends an acknowledge signal in the 9th cycle. DAC8571 detects this acknowledge signal and prepares to send more data. Upon the receipt of eight more clock cycles from the master, DAC8571 transmits L<7:0>. If the master detects all bits of the L<7:0> as valid data, it sends an acknowledge signal to DAC8571 during the 9th clock cycle. DAC8571 detects this acknowledge signal and prepares to send more data. Upon the receipt of eight more clock cycles from the master, DAC8571 transmits the control byte, C<7:0>. In the 9th clock cycle the master transmits a not-acknowledge signal to DAC8571 and terminates the sequence with a stop condition, by pulling the SDA line from low to high while clock is high. M<7:0> and L<7:0> data could be either DAC data or could be the data stored in the temporary register. Bits in the C<7:0> reveal this information. A stop condition during the high-speed mode also indicates the end of the high-speed mode. Table 4 demonstrates the sequence of events that should occur while a master receiver is reading from DAC8571 in I2C high-speed mode. Table 4. Master Receiver Reads Data From Slave Transmitter in High-Speed Mode HS Mode Read Sequence-Data Transmit Transmitter MSB 6 5 4 Master Master 0 0 0 NONE 0 0 D15 D14 D13 Master Master (1) 0 1 X X X Comment Begin sequence HS Mode master code No device may acknowledge HS master code 1 1 A0 0 R/W Read addressing (R/W=1) D12 D11 D10 D9 D8 High byte D2 D1 D0 Low byte C2 C1 C0 Control byte Master Acknowledges D7 D6 D5 Master DAC8571 LSB DAC8571 Acknowledges Master DAC8571 1 Repeated Start 1 DAC8571 DAC8571 2 Not Acknowledge Master Master 3 Start D4 D3 Master Acknowledges C7 C6 C5 C4 C3 Master Not Acknowledges Stop or Repeated Start (1) Master signal end of read Done Use repeated start to secure bus operation and loop back to the stage of write addressing for next Write. 19 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) DAC8571 Update Sequence DAC8571 requires a start condition, a valid I2C address, a control byte, an MS byte and an LS byte for an update. The control byte sets the operational mode of the DAC8571. After the receipt of the control byte, DAC8571 expects an MS byte and an LS byte. After the receipt of each byte, DAC8571 acknowledges by pulling the SDA line low. At the falling edge of the acknowledge signal that follows the LS byte, DAC8571 performs an update. After the first update, further data can be sent as MS byte and LS byte sequences and DAC8571 keeps updating at the falling edge of the acknowledge signal that follows each LS byte. The bits of the last control byte determine the type of update being performed. Thus, for the first update, DAC8571 requires a start condition, a valid I2C address, a control byte, an MS byte and an LS byte. For all consecutive updates, DAC8571 needs an MS byte and an LS byte. Using the I2C high-speed mode, the clock running a 3.4 MHz, each 16-bit DAC update can be done within 18-clock cycles (MS byte, acknowledge bit, LS byte, acknowledge bit), at 188.88 KSPS. Using the fast mode, clock running at 400 kHz, maximum DAC update rate is limited to 22.22 KSPS. DAC8571 Address Byte MSB 1 LSB 0 0 1 1 A0 0 R/W The address byte is the first byte received following a START condition from the master device. The first five bits (MSBs) of the slave address are factory preset to 10011. The next bit of the address byte is the device select bit A0, followed by a fixed 0 and the read/write direction bit R/W. In order for DAC8571 to respond, the 7-bit address should be 10011A00, where the state of the A0 bit matches the state of the A0 pin. A maximum of two DAC8571 devices with the same preset code can therefore be connected on the same bus at one time. The A0 Address inputs can be permanently connected to VDD or digital ground, or can be actively driven by TTL or CMOS logic levels. The device address is set by the state of these pins upon power up of the DAC8571. The last bit of the address byte (R/W) defines the direction of the data flow. When set to a 1, a read operation is selected (master device reads from DAC8571); when set to a 0, a write operation is selected (master device writes to DAC8571). Following the START condition, the DAC8571 monitors the SDA bus, checking the device address being transmitted. Upon receiving the 10011A00 code, and the R/W bit, the DAC8571 outputs an acknowledge signal on the SDA line. Broadcast addressing is also supported by DAC8571. Broadcast addressing can be used for synchronously updating or powering down multiple DAC8571 devices on the same bus. DAC8571 is designed to work with other members of DAC857x, DAC757x families to support multichannel synchronous update. When broadcast addressing is used, DAC8571 responds regardless of the state of the A0 pin. Broadcast address is only valid for write operation and cannot be used for read operation. Broadcast address is as follows. MSB 1 LSB 0 0 1 0 0 0 0 Control Byte After transmitting an acknowledge pulse following a valid address, DAC8571 expects a control byte C<7:0>. Control byte functionality is shown in Table 5. The first two MSBs C<7> and C<6> of the control byte must be zeroes for DAC8571 to update. If these two bits are not assigned to zero, DAC8571 ignores all update commands, but still generates an acknowledge signal. C<5> and C<4> are used for setting the update mode. Some of these modes are designed to support multichannel synchronous operation between multiple devices. 20 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) • C<5>=0, C<4>=0: Store I2C data. The contents of MS byte and LS byte data (or power-down information) are stored into the temporary register. This mode does not change the DAC output. C<5>=0, C<4>=1: Update DAC with I2C data. Most common mode. The contents of MS byte and LS byte data (or power-down information) are stored into the temporary data register and into the DAC register. This mode changes the DAC output with the contents of I2C MS byte and LS byte data. C<5>=1, C<4>=0: Update with previously stored data. The contents of MS byte and LS byte data (or power-down information) are ignored. The DAC is updated with the contents of the data previously stored in the temporary register. This mode changes the DAC output. C<5>=1, C<4>=1: Broadcast update, If C<2>=0, DAC is updated with the contents of its temporary register. If C<2>=1, DAC is updated with I2C MS byte and LS byte data. C<7> and C<6> do not have to be zeroes in order for DAC8571 to update. This mode is intended to help DAC8571 work with other DAC857x and DAC757x devices for multichannel synchronous update applications. • • • C<3> should always be zero. C<2> is utilized only when C<5>=C<4>=1. Otherwise, C<2> must be assigned to zero. C<1> should always be zero. C<0> should be zero during normal DAC operation. C<0>=1 is a power-down flag. If C<0>=1, M<7>, M<6>, and M<5> indicate a powerdown operation as shown in Table 6. Table 5. Control Byte Functionality C<7> C<6> C<5> C<4> C<3> 0 0 0 0 0 0 0 0 Data 0 0 0 0 0 0 0 1 See Table 6 0 0 0 1 0 0 0 0 Data 0 0 0 1 0 0 0 1 See Table 6 0 0 1 0 0 0 0 0 x Update DAC with temporary register data or power down x Load all DACs, all devices with temporary register data Load all DACs, all devices with data Load1 Load0 C<2> C<1> Brcsel C<0> M<7> M<6> M<5> PD0 MSB MSB-1 MSB-2...LSB DAC8571 FUNCTION Write temporary register with data Write temporary register with power down command Write temporary register and load DAC with data Power down DAC Broadcast Commands x x 1 1 x 0 x x x x 1 1 x 1 x 0 Data x x 1 1 x 1 x 1 See Table 6 Power down all DACs, all devices Most Significant Byte Most Significant Byte M<7:0> consists of 8 most significant bits of D/A conversion data. When C<0>=1. M<7>, M<6>, M<5> indicate a powerdown operation as shown in Table 6. Least Significant Byte Least Significant Byte L<7:0> consists of the 8 least significant bits of D/A conversion data. DAC8571 updates at the falling edge of the acknowledge signal that follows the L<0> bit. Data Transmit and Read-Back I2C bus can be noisy and data integrity and can be a problem in a system of many I2C devices. To enable I2C system verification, DAC8571 provides read back capability for the user. During read back operation, the contents of the control byte, MS byte and the LS byte can be sent back to the master device using the I2C bus. This read-back function is also useful if a device on the I2C bus inquires DAC8571 data. 21 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) For read-back operation, the master device sends the I2C address and sets the R/W bit. DAC8571 acknowledges. Then, upon the receipt of clock pulses from the master, DAC8571 sends the MS byte. If the master acknowledges, DAC8571 sends the LS byte. If the master acknowledges, DAC8571 sends the control byte. This sequence is interrupted by the master sending a not acknowledge signal. Depending on the contents of the control byte transmitted by the DAC8571, the MS byte and LS byte information (transmitted by the DAC8571) is interpreted as follows: C<5> C<4> C<2> 0 0 0 MS and LS bytes represent temporary register data 0 1 0 MS and LS bytes represent temporary and DAC register data 1 0 0 MS and LS bytes represent I2C data that is discarded 1 1 0 MS and LS bytes represent I2C data that is discarded 1 1 1 MS and LS bytes represent temporary and DAC register data EXAMPLES (A0 TIED TO GND, VDD = 5 V) EXAMPLE 1: Write 1/4 scale to DAC8571 ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0001 0000 M<7...0> ACK 0100 0000 L<7...0> ACK 0000 0000 Previous output voltage is valid ACK STOP Vout = 1.25 V EXAMPLE 2: Switch DAC8571 to fast settling mode ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0001 0001 M<7...0> ACK 0010 0000 L<7...0> ACK 0000 0000 Previous output voltage is valid ACK STOP Vout = 0 V EXAMPLE 3: Switch DAC8571 back to low power mode ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0001 0001 M<7...0> ACK 0000 0000 L<7...0> ACK 0000 0000 Previous output voltage is valid ACK STOP Vout = 0 V EXAMPLE 4: Power-down DAC8571 with Hi-Z output ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0001 0001 M<7...0> ACK 1100 0000 L<7...0> ACK 0000 0000 Previous output voltage is valid ACK STOP Vout = Hi-Z EXAMPLE 5: Power-down DAC8571 with 1K output impedance to ground ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0001 0001 M<7...0> ACK 0100 0000 L<7...0> ACK 0000 0000 Previous output voltage is valid ACK STOP Vout = 0 V EXAMPLE 6: Power-down DAC8571 with 100K output impedance to ground ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0001 0001 M<7...0> ACK 1000 0000 L<7...0> ACK 0000 0000 Previous output voltage is valid ACK STOP Vout = 0 V EXAMPLE 7: Store full scale data in temporary register ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0000 0000 M<7...0> ACK 1111 1111 L<7...0> ACK 1111 1111 ACK STOP Previous output voltage is valid EXAMPLE 8: Update DAC8571 with the data previously stored in the temporary register ADDRESS <7...0> START 1001 1000 C<7...0> ACK 0010 0000 M<7...0> ACK XXXX XXXX L<7...0> ACK XXXX XXXX Previous output voltage is valid 22 STOP New Vout valid EXAMPLE 9: Broadcast a powerdown command to all DAC8571s on the I2C bus ADDRESS <7...0> ACK C<7...0> M<7...0> L<7...0> DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) EXAMPLE 9: Broadcast a powerdown command to all DAC8571s on the I2C bus START 1001 0000 ACK 0011 0101 ACK 1100 0000 ACK 0000 0000 Previous output voltage is valid ACK STOP Vout = Hi-Z EXAMPLE 10: Broadcast update. All DAC8571s on the I2C bus update synchronously with the contents of their temporary registers ADDRESS <7...0> START 1001 0000 C<7...0> ACK 0011 0000 M<7...0> ACK L<7...0> XXXX XXXX ACK XXXX XXXX Previous output voltage is valid ACK STOP New Vout valid EXAMPLE 11: Read back DAC8571 internal data. V denotes valid logic. ADDRESS<7...0> START 1001 1001 ACK M<7...0> MASTER L<7...0> MASTER VVVV VVVV ACK VVVV VVVV ACK C<7...0> MASTER VVVV VVVV NOT ACK STOP EXAMPLE 12: Ramp generation in high speed mode (up to code 7 is shown) HS Master Code START 0000 1000 ADDRESS NOT ACK REPEATED START 1001 1000 C<7...0> ACK 0001 0000 ACK Previous Vout voltage valid MSB<7...0> 0000 0000 LSB<7...0> ACK 0000 0000 Previous Vout voltage valid MSB<7...0> 0000 0000 MSB<7...0> ACK 0000 0010 ACK LSB<7...0> ACK 0000 0100 0000 0000 ACK 0000 0011 Vout = 3 ×76 µV 0000 0000 LSB<7...0> ACK 0000 0101 Vout = 4 ×76 µV MSB<7...0> LSB<7...0> ACK 0000 0110 Vout = 5 ×76 µV 0000 0000 Vout = 6 ×76 µV ACK Vout = 5 ×76 µV MSB<7...0> ACK ACK Vout = 3 ×76 µV MSB<7...0> ACK ACK LSB<7...0> Vout = 2 ×76 µV MSB<7...0> 0000 0000 0000 0001 Vout = 76 µV MSB<7...0> Vout = 76 µV 0000 0000 ACK Vout = 0 V LSB<7...0> ACK 0000 0000 LSB<7...0> LSB<7...0> ACK 0000 0111 ACK Vout = 7 ×76 µV Power-On Reset The DAC8571 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 0V; 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 input is brought high before the power is applied. Power-Down Modes The DAC8571 contains five separate power settings. These modes are programmable when C<0>=1. When C<0>=1, M<7>, M<6>, and M<5> bits represent power setting control bits, and M<4...0> and L<7...0> are assigned to zeroes. Power setting of DAC8571 is updated at the falling edge of the acknowledge signal that follows the least significant byte. To set the power consumption of the device, following I2C sequence is used. Start_condition -> Valid_address (1001 1000) -> ack C<7:0> (0001 0001) -> ack M<7:0> ( vvv0 0000) -> ack L<7:0> (0000 0000) -> ack Stop_condition 23 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) Table 6. Power Settings for the DAC8571 (C<0>=1) M<7> M<6> M<5> Operating Mode 0 0 0 Low power mode, default 0 0 1 Fast settling mode 0 1 X PWD. 1kΩ to GND 1 0 X PWD. 100 kΩ to GND 1 1 X PWD. Output Hi-Z After power-up, the device works in low power mode with its normal power consumption of 170 µA at 5 V. At fast settling mode, device consumes 250 µA nominally, but settles in 10 µs. For the three 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 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 it is left open-circuit (high impedance). The output stage is illustrated in Figure 32. A power on reset starts the DAC8571 in the low power mode. Low power mode and fast-settling mode settings stay unchanged during DAC8571 data updates, unless they are specifically overwritten as explained in Table 6. On the other hand, each new data sequence requiring a DAC update brings the DAC8571 out of the three power-down conditions. DAC8571 power settings can be stored in the temporary register, just like data (use C<7:0> = 0000 0001). This allows simultaneous powerdown capability for multichannel applications. VSense Amplifier _ Resistor String DAC VOUT + Powerdown Circuitry Resistor Network Figure 32. 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 Characteristics section for additional information.) CURRENT CONSUMPTION In the low power mode, the DAC8571 typically consumes 170 µA at VDD = 5 V and 150 µA at VDD = 3 V including reference current consumption. Fast settling mode adds 80 µA of current consumption, but ensures 10-µs settling. 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. 24 www.ti.com DAC8571 SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) DRIVING RESISTIVE AND CAPACITIVE LOADS The DAC8571 output stage is capable of driving loads of up to 1000 pF while remaining stable. Within the offset and gain error margins, the DAC8571 can operate rail-to-rail when driving a capacitive load. Resistive loads of 2 kΩ can be driven by the DAC8571 while achieving a very good load regulation. Load regulation error increases when the DAC output voltage is close to supply rails. 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. The reference voltage applied to the DAC8571 may be reduced below the supply voltage applied to VDD in order to eliminate this condition if good linearity is a requirement at full scale (under resistive loading conditions). AC PERFORMANCE DAC8571 can achieve typical ac performance of 96-dB signal-to-noise ratio (SNR) and 65-dB total harmonic distortion (THD), making the DAC8571 a solid choice for applications requiring low SNR at output frequencies at or below 4 kHz. OUTPUT VOLTAGE STABILITY The DAC8571 exhibits excellent temperature stability of 5 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. Good power supply rejection ratio (PSRR) performance reduces supply noise present on VDD from appearing at the outputs to well below 10 µV. Combined with good dc noise performance and true 16-bit differential linearity, the DAC8571 becomes a perfect choice for closed-loop control applications. SETTLING TIME AND OUTPUT GLITCH PERFORMANCE Settling time to within the 16-bit accurate range of the DAC8571 is achievable within 10 µs for a full-scale code change at the input. Worst case settling times between consecutive code changes is typically less than 2 µs, therefore, the update rate is limited by the I2C interface for digital input signals changing code-to-code. For full-scale output swings, the output stage of each DAC8571 channel typically exhibits less than 100-mV 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 Nx4096 code boundary. Due to internal segmentation of the DAC8571, code-to-code glitches occur at each crossing of an Nx4096 code boundary. These glitches can approach 100 mVs for N = 15, but settle out within ~2 µs. USING REF02 AS A POWER SUPPLY FOR DAC8571 Due to the extremely low supply current required by the DAC8571, a possible configuration is to use a REF02 5-V precision voltage reference to supply the required voltage to the DAC8571’s supply input as well as the reference input, as shown in Figure 33. 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 DAC8571. If the REF02 is used, the current it needs to supply to the DAC8571 is 160-µA typical and 225-µ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 given DAC output) is: 25 DAC8571 www.ti.com SLAS373A – DECEMBER 2002 – REVISED JULY 2003 THEORY OF OPERATION (continued) 15 V REF02 2-Wire l2C Interface A0 SCL SDA 5V VDD, Vref DAC8571 VOUT = 0 V to 5 V Figure 33. REF02 as a Power Supply 160 A 5 V 1.16 mA 5 k (2) The load regulation of the REF02 is typically 0.005%/mA, which results in an error of 290 µV for a 1.16-mA current drawn. This corresponds to a 3.82 LSB error for a 0-V to 5-V output range. LAYOUT A precision analog component requires careful layout, adequate bypassing, and clean, well-regulated power supplies. The power applied to VDD and VREF should be well regulated and low noise. Switching power supplies and dc/dc converters often has 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 easily couples into the DAC output voltage through various paths between the power connections and analog output. As with the GND connection, VDD is connected to a +5-V 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, the 1-µF to 10-µF, and 0.1-µF bypass capacitors are 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 lowpass filter the 5-V supply, removing the high frequency noise. 26 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 Amplifiers Applications 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 2003, Texas Instruments Incorporated