SNAS449F February 2008 – May 2017 DAC081C081 , DAC081C085
PRODUCTION DATA.
The DAC081C081 is fabricated on a CMOS process with an architecture that consists of switches and resistor strings that are followed by an output buffer.
For simplicity, a single resistor string is shown in Figure 20. This string consists of 256 equal-valued resistors with a switch at each junction of two resistors, plus a switch to ground. The code loaded into the DAC register determines which switch is closed, connecting the proper node to the amplifier. The input coding is straight binary with an ideal output voltage of Equation 1:
where
D can take on any integer value between 0 and 255. This configuration ensures that the DAC is monotonic.
The output amplifier is rail-to-rail, providing an output voltage range of 0 V to VA when the reference is VA. All amplifiers, even rail-to-rail types, exhibit a loss of linearity as the output approaches the supply rails (0V and VA, in this case). For this reason, linearity is specified over less than the full output range of the DAC. However, if the reference is less than VA, there is only a loss in linearity in the lowest codes. The output capabilities of the amplifier are described in the Electrical Characteristics.
The output amplifiers are capable of driving a load of 2 kΩ in parallel with 1500 pF to ground or to VA. The zero-code and full-scale outputs for given load currents are available in the Electrical Characteristics.
The DAC081C081 uses the supply (VA) as the reference. With that said, VA must be treated as a reference. The Analog output will only be as clean as the reference (VA). It is recommended that the reference be driven by a voltage source with low output impedance.
The DAC081C085 comes with an external reference supply pin (VREF). For the DAC081C085, it is important that VREF be kept as clean as possible.
The Application and Implementation section describes a handful of ways to drive the reference appropriately. Refer to Using References as Power Supplies for details.
The power-on reset circuit controls the output voltage of the DAC during power up. Upon application of power, the DAC register is filled with zeros and the output voltage is 0 Volts. The output remains at 0 V until a valid write sequence is made to the DAC.
When resetting the device, it is crucial that the VA supply be lowered to a maximum of 200 mV before the supply is raised again to power up the device. Dropping the supply to within 200 mV of GND during a reset will ensure the ADC performs as specified.
The broadcast address allows the I2C master to write a single word to multiple DACs simultaneously. Provided that all of the DACs exist on a single I2C bus, every DAC will update when the broadcast address is used to address the bus. This feature allows the master to reset all of the DACs on a shared I2C bus to a specific digital code. For instance, if the master writes a power-down code to the bus with the broadcast address, all of the DACs will power-down simultaneously.
The toutz specification is provided to aid the design of the I2C bus. After the SCL bus is driven low by the I2C master, the SDA bus will be held for a short time by the DAC081C081. This time is referred to as toutz. The following figure illustrates the relationship between the fall of SCL, at the 30% threshold, to the time when the DAC begins to transition the SDA bus. The toutz specification only applies when the DAC is in control of the SDA bus. The DAC is only in control of the bus during an ACK by the DAC081C081 or a data byte read from the DAC (see Figure 25).
The toutz specification is typically 87 ns in standard-fast mode and 38 ns in Hs-Mode.
The DAC081C081 has three power-down modes. In power-down mode, the supply current drops to 0.13 µA at 3 V and 0.15 µA at 5 V (typical). The DAC081C081 is put into power-down mode by writing a one to PD1 and/or PD0. The outputs can be set to high impedance, terminated by 2.5 kΩ to GND, or terminated by 100 kΩ to GND (see Figure 26).
The bias generator, output amplifier, resistor string, and other linear circuitry are all shut down in any of the power-down modes. When the DAC081C081 is powered down, the value written to the DAC register, including the power-down bits, is saved. While the DAC is in power-down, the saved DAC register contents can be read back. When the DAC is brought out of power-down mode, the DAC register contents will be overwritten and VOUT will be updated with the new 8-bit data value.
The time to exit power-down (wake-up time) is typically 0.8 µs at 3 V and 0.5 µs at 5 V.
The I2C-compatible interface operates in all three speed modes. Standard mode (100 kHz) and fast mode (400 kHz) are functionally the same and will be referred to as standard-fast mode in this document. High-speed mode (3.4 MHz) is an extension of standard-fast mode and will be referred to as Hs-mode in this document. The following diagrams describe the timing relationships of the clock (SCL) and data (SDA) signals. Pullup resistors or current sources are required on the SCL and SDA busses to pull them high when they are not being driven low. A logic zero is transmitted by driving the output low. A logic high is transmitted by releasing the output and allowing it to be pulled up externally. The appropriate pullup resistor values will depend upon the total bus capacitance and operating speed.
The I2C interface is bidirectional and allows multiple devices to operate on the same bus. To facilitate this bus configuration, each device has a unique hardware address which is referred to as the slave address. To communicate with a particular device on the bus, the controller (master) sends the slave address and listens for a response from the slave. This response is referred to as an acknowledge bit. If a slave on the bus is addressed correctly, it acknowledges (ACKs) the master by driving the SDA bus low. If the address doesn't match a device's slave address, it not-acknowledges (NACKs) the master by letting SDA be pulled high. ACKs also occur on the bus when data is being transmitted. When the master is writing data, the slave ACKs after every data byte is successfully received. When the master is reading data, the master ACKs after every data byte is received to let the slave know it wants to receive another data byte. When the master wants to stop reading, it NACKs after the last data byte and creates a Stop condition on the bus.
All communication on the bus begins with either a start condition or a repeated start condition. The protocol for starting the bus varies between standard-fast mode and Hs-mode. In standard-fast mode, the master generates a start condition by driving SDA from high to low while SCL is high. In Hs-mode, starting the bus is more complicated. Please refer to High-Speed (Hs) Mode for the full details of a Hs-mode start condition. A repeated start is generated to either address a different device, or switch between read and write modes. The master generates a repeated start condition by driving SDA low while SCL is high. Following the repeated start, the master sends out the slave address and a read/write bit as shown in Figure 22. The bus continues to operate in the same speed mode as before the repeated start condition.
All communication on the bus ends with a stop condition. In either standard-fast mode or Hs-Mode, a stop condition occurs when SDA is pulled from low to high while SCL is high. After a stop condition, the bus remains idle until a master generates a start condition.
Please refer to the Phillips I2C Specification (Version 2.1 Jan, 2000) for a detailed description of the serial interface.
In standard-fast mode, the master generates a start condition by driving SDA from high to low while SCL is high. The start condition is always followed by a 7-bit slave address and a read/write bit. After these eight bits have been transmitted by the master, SDA is released by the master and the DAC081C081 either ACKs or NACKs the address. If the slave address matches, the DAC081C081 ACKs the master. If the address doesn't match, the DAC081C081 NACKs the master.
For a write operation, the master follows the ACK by sending the upper eight data bits to the DAC081C081. Then the DAC081C081 ACKs the transfer by driving SDA low. Next, the lower eight data bits are sent by the master. The DAC081C081 then ACKs the transfer. At this point, the DAC output updates to reflect the contents of the 16-bit DAC register. Next, the master either sends another pair of data bytes, generates a stop condition to end communication, or generates a repeated start condition to communicate with another device on the bus.
For a read operation, the DAC081C081 sends out the upper eight data bits of the DAC register. This is followed by an ACK by the master. Next, the lower eight data bits of the DAC register are sent to the master. The master then produces a NACK by letting SDA be pulled high. The NACK is followed by a master-generated stop condition to end communication on the bus, or a repeated start to communicate with another device on the bus.
For Hs-mode, the sequence of events to begin communication differ slightly from standard-fast mode. Figure 23 describes this in further detail. Initially, the bus begins running in standard-fast mode. The master generates a start condition and sends the 8-bit Hs master code (00001XXX) to the DAC081C081. Next, the DAC081C081 responds with a NACK. Once the SCL line has been pulled to a high level, the master switches to Hs-mode by increasing the bus speed and generating a repeated start condition (driving SDA low while SCL is pulled high). At this point, the master sends the slave address to the DAC081C081, and communication continues as shown above in the "basic operation" diagram (see Figure 22).
When the master generates a repeated start condition while in Hs-mode, the bus stays in Hs-mode awaiting the slave address from the master. The bus continues to run in Hs-mode until a stop condition is generated by the master. When the master generates a stop condition on the bus, the bus must be started in standard-fast mode again before increasing the bus speed and switching to Hs-mode.
The DAC has a seven-bit I2C slave address. For the VSSOP-8 version of the DAC, this address is configured by the ADR0 and ADR1 address selection inputs. For the DAC081C081, the address is configured by the ADR0 address selection input. ADR0 and ADR1 can be grounded, left floating, or tied to VA. If desired, the address selection inputs can be set to VA/2 rather than left floating. The state of these inputs sets the address the DAC responds to on the I2C bus (see Table 3). In addition to the selectable slave address, there is also a broadcast address (1001000) for all DAC081C081s and DAC081C085s on the 2-wire bus. When the bus is addressed by the broadcast address, all the DAC081C081's and DAC081C085's will respond and update synchronously. Figure 24 and Figure 25 describe how the master device should address the DAC through the I2C-compatible interface.
Keep in mind that the address selection inputs (ADR0 and ADR1) are only sampled until the DAC is correctly addressed with a non-broadcast address. At this point, the ADR0 and ADR1 inputs TRI-STATE and the slave address is locked. Changes to ADR0 and ADR1 will not update the selected slave address until the device is power-cycled.
SLAVE ADDRESS
[A6 - A0] |
DAC101C085 (VSSOP-8) | DAC101C081 (SOT & WSON)(1) | Do Not Use(2) | |
---|---|---|---|---|
ADR1 | ADR0 | ADR0 | ||
0001100 | Floating | Floating | Floating | 1000110 |
0001101 | Floating | GND | GND | 1000110 |
0001110 | Floating | VA | VA | 1000111 |
0001000 | GND | Floating | — | 1000100 |
0001001 | GND | GND | — | 1000100 |
0001010 | GND | VA | — | 1000101 |
1001100 | VA | Floating | — | 1100110 |
1001101 | VA | GND | — | 1100110 |
1001110 | VA | VA | — | 1100111 |
1001000 | Broadcast Address | 1100100 |
To write to the DAC, the master addresses the part with the correct slave address (A6-A0) and writes a zero to the read/write bit. If addressed correctly, the DAC returns an ACK to the master. The master then sends out the upper data byte. The DAC responds by sending an ACK to the master. Next, the master sends the lower data byte to the DAC. The DAC responds by sending an ACK again. At this point, the master either sends the upper byte of the next data word to be converted by the DAC, generates a Stop condition to end communication, or generates a repeated start condition to begin communication with another device on the bus. Until generating a stop condition, the master can continuously write the upper and lower data bytes to the DAC register. This allows for a maximum DAC conversion rate of 188.9 kilo-conversions per second in Hs-mode.
To read from the DAC register, the master addresses the part with the correct slave address (A6-A0) and writes a one to the read/write bit. If addressed correctly, the DAC returns an ACK to the master. Next, the DAC sends out the upper data byte. The master responds by sending an ACK to the DAC to indicate that it wants to receive another data byte. Then the DAC sends the lower data byte to the master. Assuming only one 16-bit data word is read, the master sends a NACK after receiving the lower data byte. At this point, the master either generates a stop condition to end communication, or a repeated start condition to begin communication with another device on the bus.
The DAC register, Figure 26, has sixteen bits. The first two bits are always zero. The next two bits determine the mode of operation (normal mode or one of three power-down modes). The final twelve bits of the shift register are the data bits. The data format is straight binary (MSB first, LSB last), with twelve 0's corresponding to an output of 0V and twelve 1's corresponding to a full-scale output of VA – 1 LSB. When writing to the DAC Register, VOUT will update on the rising edge of the ACK following the lower data byte.