Rev 0; 1/06 Dual NV Audio Taper Digital Potentiometer The DS1881 is a dual, nonvolatile (NV) digital potentiometer designed to operate in audio systems that require 5V signal levels. The potentiometer settings can be stored in EEPROM so that they are retained when the power is cycled. The DS1881 has separate supplies for the potentiometers (VCC) and the communication circuitry (VDD). For clickless/popless operation, a zero-crossing detector allows the wiper position to change when there is no voltage across the potentiometer. The device is also designed to minimize crosstalk, and the two digital potentiometers provide 0.5dB channel-to-channel matching to prevent volume differences between channels. Total harmonic distortion (THD) is also minimal as long as the wiper drives a high-impedance load. Two attenuation configuration options provide optimum flexibility for the specific application. Configuration Option 1 provides 63 logarithmic tapered steps (0dB to -62dB, 1dB/step) plus a mute setting. Configuration Option 2 has 32 logarithmic steps plus mute and provides software compatibility with the DS1808. When Configuration Option 2 is used in combination with the 16-pin SO package, the DS1881 is both software and pin compatible with the DS1808 in 5V applications. Applications Notebook and PC Audio Features ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ Dual, Audio Log Taper Potentiometers Low THD+N and Crosstalk 5V Analog Supply (Independent of Digital Supply) 3V to 5V Digital Supply Range Potentiometer Settings Configurable as NV or Volatile Zero-Crossing Detector Eliminates Switching Noise Two User-Configurable Attenuation Options Configuration Option 1: 63 Positions Provide 1dB Attenuation Steps from 0dB to -62dB Plus Mute Configuration Option 2: (Software-Compatible with the DS1808): 33 Positions Plus Mute as Follows Positions 0–12: 1dB per Step for 12 Steps Positions 13–24: 2dB per Step for 12 Steps Positions 25–32: 3dB per Step for 8 Steps I2C*-Compatible Serial Interface Three Address Pins Allow Up to 8 Devices on I2C Bus 45kΩ Potentiometer End-to-End Resistance Industrial Temperature Range (-40°C to +85°C) 16-Pin TSSOP or SO Package Portable Audio Equipment Ordering Information Car Stereo Consumer Audio/Video PART Pin Configuration VERSION PIN(kΩ) PACKAGE -40°C to +85°C 45 16 TSSOP (173 mils) DS1881E-045+T&R -40°C to +85°C 45 16 TSSOP (173 mils) Tape-and-Reel DS1881Z-045+ -40°C to +85°C 45 16 SO (150 mils) DS1881Z-045+T&R -40°C to +85°C 45 16 SO (150 mils) Tape-and-Reel DS1881E-045+ TOP VIEW TEMP RANGE + GND 1 16 VDD A2 2 15 VCC A1 3 14 SCL N.C. 4 DS1881 13 SDA A0 5 12 CE W0 6 11 W1 L0 7 10 H1 H0 8 9 L1 +Denotes lead-free package. TSSOP/SO Typical Operating Circuit appears at end of data sheet. Purchase of I2C components from Maxim Integrated Products, Inc., or one of its sublicensed Associated Companies, conveys a license under the Philips I2C Patent Rights to use these components in an I2C system, provided that the system conforms to the I2C Standard Specification as defined by Philips. ______________________________________________ Maxim Integrated Products For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at 1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com. 1 DS1881 General Description DS1881 Dual NV Audio Taper Digital Potentiometer ABSOLUTE MAXIMUM RATINGS Voltage on VDD, SDA, and SCL Relative to GND .....-0.5V to +6.0V Voltage on A2, A1, A0, and CE Relative to GND .................-0.5V to (VDD + 0.5V), not to exceed +6.0V Voltage on VCC Relative to GND ...........................-0.5V to +6.0V Voltage on H1, H0, W1, W0, L1, and L0 Relative to GND...............................................................-0.5V to +6.0V Maximum Resistor Current .................................................±3mA Operating Temperature Range ...........................-40°C to +85°C Programming Temperature Range .........................0°C to +70°C Storage Temperature Range .............................-55°C to +125°C Soldering Temperature...................See J-STD-020 Specification Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. RECOMMENDED OPERATING CONDITIONS (TA = -40°C to +85°C) PARAMETER SYMBOL CONDITIONS MIN MAX UNITS 5.5 V 4.5 5.5 V 0 5.5 V ±1 mA TYP MAX UNITS Digital Supply Voltage VDD (Notes 1, 2) 2.7 Analog Supply Range VCC (Notes 1, 2) Potentiometer Voltages TYP Wiper Current DC ELECTRICAL CHARACTERISTICS (VDD = +2.7V to +5.5V, VCC = +4.5V to +5.5V, TA = -40°C to +85°C.) PARAMETER SYMBOL CONDITIONS MIN Digital Supply Current IDD (Note 3) 200 250 µA Analog Supply Current ICC (Note 4) 0.9 5 µA Input Logic 0 (CE, SDA, SCL, A0, A1, A2) VIL (Note 5) -0.3 0.3x VDD V Input Logic 1 (CE, SDA, SCL, A0, A1, A2) VIH (Note 5) 0.7 x VDD VDD + 0.3 V Output-Voltage Low (SDA) VOL Input Leakage Current 0.4 IOL = 6mA 0.6 ILI I/O Pin Input Current (SDA) 0.4V < VSDA < (0.9 x VCC) I/O Capacitance CI/O Power-Up Time tPU 2 IOL = 4mA (Note 6) _____________________________________________________________________ V -1 +1 µA -10 +10 µA 10 pF 1 ms Dual NV Audio Taper Digital Potentiometer (VDD = +2.7V to +5.5V, VCC = +4.5V to +5.5V, TA = -40°C to +85°C.) PARAMETER End-to-End Resistance SYMBOL REE CONDITIONS MIN +25°C TYP MAX 45 kΩ End-to-End Resistance Tolerance +25°C Ratiometric Temperature Coefficient (Note 6) 30 ppm/°C End-to-End Resistance Temperature Coefficient (Note 6) 750 ppm/°C Wiper Resistance -20 UNITS 250 Ω dB -0.25 +0.25 dB -0.5 +0.5 dB 160 (Note 7) -0.5 Step Size Deviation from Nominal (Note 7) Interchannel Matching (Note 7) -3dB Cutoff Frequency 10pF load Output Noise (20Hz to 20kHz, grounded input, tap = -6dB) Crosstalk THD+N Mute Position Attenuation Zero-Crossing Detection % +0.5 RW Absolute Attenuation Tolerance +20 80 dB 5 MHz 2.2 µVRMS (1kHz, grounded input, tap = -6dB) -110 dB 1kHz, tap = -6dB, CL = 10pF (Note 8) 0.005 % tZCD 38 50 ms MAX UNITS 400 kHz I2C CHARACTERISTICS (See Figure 4) (VDD = +2.7V to +5.5V, VCC = +4.5V to +5.5V, TA = -40°C to +85°C. Timing referenced to VIL(MAX) and VIH(MIN).) PARAMETER SYMBOL CONDITIONS TYP SCL Clock Frequency fSCL Bus Free Time Between STOP and START Conditions tBUF 1.3 µs tHD:STA 0.6 µs tLOW 1.3 µs Hold Time (Repeated) START Condition Low Period of SCL High Period of SCL (Note 9) MIN 0 tHIGH 0.6 Data Hold Time tHD:DAT 0 Data Setup Time tSU:DAT 100 ns START Setup Time tSU:STA 0.6 µs SDA and SCL Rise Time tR (Note 10) 20 + 0.1CB 300 ns SDA and SCL Fall Time tF (Note 10) 20 + 0.1CB 300 ns STOP Setup Time tSU:STO µs 0.9 0.6 SDA and SCL Capacitive Loading CB (Note 10) EEPROM Write Time tW (Note 11) µs µs 5 400 pF 10 ms _____________________________________________________________________ 3 DS1881 ANALOG POTENTIOMETER CHARACTERISTICS NV MEMORY CHARACTERISTICS (VDD = +2.7V to +5.5V, VCC = +4.5V to +5.5V, TA = 0°C to +70°C.) PARAMETER SYMBOL CONDITIONS Writes MIN +70°C (Note 6) TYP MAX UNITS 50,000 All voltages are referenced to ground. The value of VDD should never exceed VCC, including during power-ups. VCC must be applied before VDD. IDD is specified with SDA = SCL = CE = VDD, resistor pins floating, and digital inputs connected to VDD or GND. ICC is specified with SDA = SCL = CE = VDD, resistor pins floating, and digital inputs connected to VDD or GND, after zerocrossing detection has timed out. Note 5: The DS1881 will not obstruct the SDA and SCL lines if VDD is switched off as long as the voltages applied to these inputs do not violate their minimum and maximum input voltage levels. Note 6: Guaranteed by design. Note 7: Above Position 50, these are typical maximum. Guaranteed by characterization. Note 8: Load is representative of the input of a low-noise audio amp. Note 9: Timing shown is for fast-mode (400kHz) operation. This device is also backward-compatible with I2C standard-mode timing. Note 10: CB—Total capacitance of one bus line in picofarads. Note 11: If zero-crossing detection is enabled, the EEPROM write does not begin until the current zero-crossing detection is complete. Otherwise, EEPROM write begins after a STOP condition occurs. Note 1: Note 2: Note 3: Note 4: Typical Operating Characteristics (VDD = VCC = +5.0V, TA = +25°C.) IDD vs. TEMPERATURE SUPPLY CURRENT (µA) 260 240 220 200 180 160 300 250 200 150 100 140 SDA = VDD 350 50 120 100 4.7 4.9 5.1 VOLTAGE (V) 5.3 5.5 300 250 200 150 100 50 0 4.5 4 SDA = SCL = VDD 350 400 ACTIVE SUPPLY CURRENT (µA) SDA = SCL = VCC DS1881 toc02 DS1881 toc01 280 IDD vs. SCL FREQUENCY 400 DS1881 toc03 IDD vs. VDD 300 SUPPLY CURRENT (µA) DS1881 Dual NV Audio Taper Digital Potentiometer 0 -40 -20 0 20 40 60 80 TEMPERATURE (°C) _____________________________________________________________________ 0 50 100 150 200 250 300 350 400 SCL FREQUENCY (kHz) Dual NV Audio Taper Digital Potentiometer -80.0 -40.0 -60.0 -80.0 -100.0 9 18 27 36 45 54 0 3 6 9 12 15 18 21 24 27 30 33 POTENTIOMETER 1 (CONFIGURATON 2) ATTENUATION vs. SETTING END-TO-END RESISTANCE PERCENT CHANGE FROM +25°C vs. TEMPERATURE -60.0 -80.0 -100.0 40 60 63 PROGRAMMED RESISTANCE (-6dB) 40 MUTE WHILE EEPROM LOADS 0 1 2 3 4 5 POWER-UP VOLTAGE (V) 80 TEMPERATURE (°C) RESISTANCE vs. POWER-DOWN VOLTAGE SUPPLY CURRENT vs. ZERO-CROSSING TIMING 1000 80 DS1881 toc11 100 900 800 700 60 40 PROGRAMMED RESISTANCE (-6dB) 20 54 60 20 20 45 80 RESISTANCE (kΩ) SETTING (DEC) 0 36 HIGH IMPEDANCE 0 -20 27 RESISTANCE vs. POWER-UP VOLTAGE POTENTIOMETER 0 -40 9 12 15 18 21 24 27 30 33 18 100 POTENTIOMETER 1 ICC (µA) 6 9 SETTING (DEC) DS1881 toc10 3 RESISTANCE (kΩ) 0 5.0 4.5 4.0 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0 -0.5 -1.0 -1.5 -2.0 -2.5 0 DS1881 toc08 DS1881 toc07 -40.0 RESISTANCE % CHANGE (FROM +25°C) SETTING (DEC) -20.0 -60.0 -100.0 63 SETTING (DEC) 0 -40.0 -80.0 -100.0 0 ATTENUATION (dB) -20.0 DS1881 toc09 -60.0 0 ATTENUATION (dB) -40.0 POTENTIOMETER 1 (CONFIGURATON 1) ATTENUATION vs. SETTING DS1881 toc05 -20.0 ATTENUATION (dB) -20.0 ATTENUATION (dB) 0 DS1881 toc04 0 POTENTIOMETER 0 (CONFIGURATON 2) ATTENUATION vs. SETTING DS1881 toc06 POTENTIOMETER 0 (CONFIGURATON 1) ATTENUATION vs. SETTING 600 500 ZERO-CROSSING DETECTION ACTIVATED ZERO-CROSSING TIMEOUT OR ZEROCROSSING EVENT 400 300 200 MUTE 100 0 TYPICAL TIMEOUT OF 50ms 0 0 1 2 3 4 5 TIME (ms) POWER-UP VOLTAGE (V) _____________________________________________________________________ 5 DS1881 Typical Operating Characteristics (continued) (VDD = VCC = +5.0V, TA = +25°C.) Typical Operating Characteristics (continued) (VDD = VCC = +5.0V, TA = +25°C.) THD+N vs. FREQUENCY (0dB) CROSSTALK vs. FREQUENCY (-6dB) 0.0016 DS1881 toc13 0 DS1881 toc12 0.0018 -20 CROSSTALK (dB) 0.0014 0.0012 THD+N (%) DS1881 Dual NV Audio Taper Digital Potentiometer 0.0010 0.0008 0.0006 -40 -60 -80 -100 0.0004 -120 0.0002 0 0.01 -140 0.1 1 10 100 0.01 FREQUENCY (kHz) 0.1 1 10 100 FREQUENCY (kHz) Pin Description 6 PIN NAME 1 GND FUNCTION 2 A2 3 A1 4 N.C. 5 A0 I2C Address Input. Inputs A0, A1, and A2 determine the I2C slave address of the device. 6 W0 Wiper Terminal for Potentiometer 0 7 L0 Low Terminal for Potentiometer 0 8 H0 High Terminal for Potentiometer 0 9 L1 Low Terminal for Potentiometer 1 Ground I2C Address Inputs. Inputs A0, A1, and A2 determine the I2C slave address of the device. No Connection 10 H1 High Terminal for Potentiometer 1 11 W1 Wiper Terminal for Potentiometer 1 12 CE Chip Enable. Enables SDA and SCL pins for I2C communication. 13 SDA I2C Serial-Data Open-Drain I/O 14 SCL I2C Serial-Clock Input 15 VCC Analog Voltage Supply 16 VDD Digital Voltage Supply _____________________________________________________________________ Dual NV Audio Taper Digital Potentiometer SDA SCL A2 A1 A0 VDD VCC CONFIGURATION REGISTER I2C INTERFACE CE VCC VDD POTENTIOMETER SETTING REGISTERS GND DS1881 GND POTENTIOMETER 0 VALUE POTENTIOMETER 1 VALUE DECODER H0 H1 W0 W1 ZERO-CROSSING DETECTOR L0 UPDATE ZERO-CROSSING DETECTOR L1 UPDATE _____________________________________________________________________ 7 DS1881 Block Diagram DS1881 Dual NV Audio Taper Digital Potentiometer Detailed Description The DS1881 is a dual-channel, digitally controlled, audio potentiometer. The Block Diagram illustrates the features of the DS1881. The following sections discuss these features in detail. Potentiometer Configurations The DS1881 potentiometers have two possible attenuation configuration options. The Configuration Register section discusses how to change between the two options. Note that both potentiometers are always set to the same option. The factory default for both potentiometers is Option 1 (see Table 1). Option 1 provides 64 positions with 1dB attenuation per step for positions 0 through 62 and mute as position 63. Option 2 (see Table 2) is a 34position configuration. From position 0, the first 12 steps have 1dB attenuation per step, the next 12 have 2dB attenuation per step, and the following 8 steps have 3dB attenuation per step. The last position, position 33, is the mute setting. Zero-Crossing Detection Zero-crossing detection is a user-selectable feature used to help eliminate clicking or popping noises during changes of potentiometer settings. See the Configuration Register section to learn how to enable the zero-crossing detection feature. After the I2C master issues a command to change the wiper position and the DS1881 has responded with an acknowledge (ACK) to the command, the DS1881 has a 50ms window to change the wiper position. The DS1881 constantly monitors the voltage of the high and low terminals of both potentiometers. During the 50ms window, if the zero-crossing detection is enabled, then each potentiometer’s wiper will change position if the high and low terminals of the same potentiometer become equal in potential (i.e., the magnitude of the input signal is zero). If a zero-crossing event does not occur within the 50ms window, then the wiper is allowed to change to the new position regardless of the state of the input signal. When the zero-crossing detection feature is not enabled, the DS1881 will allow wiper movement as soon as the DS1881 has issued the acknowledge to the master-controlling device. 8 Table 1. Configuration Option 1 TAP POSITION ATTENUATION (dB) 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 … … 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 80 _____________________________________________________________________ Dual NV Audio Taper Digital Potentiometer TAP POSITION ATTENUATION (dB) 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 14 14 16 15 18 16 20 17 22 18 24 19 26 20 28 21 30 22 32 23 34 24 36 25 39 26 42 27 45 28 48 29 51 30 54 31 57 32 60 33 80 Command Byte The Command Byte determines both the potentiometer wiper settings and the configuration of both potentiometers. This is done by setting the two MSBs of the Command Byte to one of three values. If 00 is set as the value for the two MSBs, then the wiper setting for Potentiometer 0 is to be programmed. If 01 is set as the value, then the wiper setting of Potentiometer 1 is to be programmed. See the Potentiometer Wiper Setting section for more details about writing the wiper setting. A value of 10 indicates that the Configuration Register is to be programmed. A value of 11 is reserved and is not to be used. See the Configuration Register section for more information. Any values other than the three discussed above will result in no action by the part. See below for the Command Byte structure. Command Byte Structure CONFIGURATION SELECTION MSB REGISTER SETTINGS LSB _____________________________________________________________________ 9 DS1881 Table 2. Configuration Option 2 DS1881 Dual NV Audio Taper Digital Potentiometer Potentiometer Wiper Setting If 00 or 01 are the values of the two MSBs of the Command Byte, then the wiper settings of the potentiometers are to be programmed. The lower 6 LSBs of the Command Byte are then used to store the wiper settings for the selected potentiometer. See below for the potentiometer wiper setting details. POTENTIOMETER WIPER REGISTER Factory Default: XX111111b Memory Type: NV (EEPROM) 10 0 X b7 b6 WIPER SETTING b5 b4 b3 b2 b1 b0 bits 7, 6 Configuration Selection: Selects which potentiometer will be programmed. 00 = Potentiometer 0 will be programmed. 01 = Potentiometer 1 will be programmed. bits 5–0 These bits determine the wiper setting of the selected potentiometer. Available wiper settings are determined by the attenuation option as described in the Configuration Register section. ____________________________________________________________________ Dual NV Audio Taper Digital Potentiometer Register control the NV/volatile wiper setting, the zerocrossing detection feature, and the potentiometer attenuation configuration. CONFIGURATION REGISTER Factory Default: 87h Memory Type: NV (EEPROM) 1 0 X X X V/NV CONTROL ZEROCROSSING POT CONFIG b7 b6 b5 b4 b3 b2 b1 b0 bits 7, 6 bits 5, 4, 3 bit 2 Configuration Selection: When bit 7 is set to a 1 and bit 6 is set to a 0, the following configuration bits can be set and stored in EEPROM. These bits have no function. Volatile/Nonvolatile Potentiometer Register Control Bit: A control bit that sets the potentiometer registers to be either volatile or nonvolatile memory. 0 = Potentiometer registers are set to nonvolatile memory storage. 1 = Potentiometer registers are set to volatile memory storage. On power-up, the potentiometer wipers are in the mute position (default). bit 1 Zero-Crossing Detection Enable Bit: A bit used to enable and disable the zero-crossing functionality. 0 = Zero-crossing detection is disabled. 1 = Zero-crossing detection is enabled (default). bit 0 Potentiometer Position Configuration: A control bit used to select the number of positions both potentiometers have. 0 = Potentiometers have 63 positions and mute. 1 = Potentiometers have 33 positions and mute (default). ____________________________________________________________________ 11 DS1881 Configuration Register If 10 is entered as the value of the two MSBs of the Command Byte, then the Configuration Register is to be modified. The three LSBs of the Configuration I2C Interface for the DS1881 The CE pin serves as a communication enable pin. When active (CE = 0), the inputs SDA and SCL are recognized by the device. If inactive (CE = 1), pins SDA and SCL are disabled, making I 2 C communication impossible. Three pins, A0, A1, A2, serve as slave address inputs. For multidrop configurations, they allow eight such devices to be addressed by the same I2C bus. If the I2C address matches the hardware levels of these bits, the DS1881 is allowed to receive communications from the I2C bus. The I2C slave address byte is shown below. This is the first byte transmitted from the master to the DS1881. The upper nibble value is fixed to 0101. Bit values A2, A1, and A0 are determined by the states of the corresponding pins. The LSB, R/W, determines whether a read or write will be performed. The next byte to be transmitted is the Command Byte (see the Command Byte section for details). SLAVE ADDRESS BYTE 0 1 0 1 A2 A1 A0 R/W MSB LSB Reading Pot Values As shown in Figure 1, the DS1881 provides one read command operation. This operation allows the user to read both Potentiometer Wiper Setting Registers and the Configuration Register. To initiate a read operation, the R/W bit of the slave address byte is set to 1. Communication to read the DS1881 begins with a START condition, which is issued by the master device. The slave address byte sent from the master device follows the START condition. Once a matching slave address byte has been received by the DS1881, the DS1881 responds with an acknowledge. The master can then begin to receive data. The value of the wiper of Potentiometer 0 is the first returned from the DS1881. It is then followed by the value of Potentiometer 1 and then the value of the Configuration Register. Once the 8 bits of the Configuration Register have been sent, the master needs to issue an acknowledge, unless it is the last byte to be read, in which case the master issues a not acknowledge. If desired, the master may stop the communication transfer at this point by issuing the STOP condition after the not acknowledge. However, if the value of the three registers is needed again, the transfer can continue by clocking the 8 bits of the Potentiometer 0 value as described above. READ PROTOCOL 0 LSB 0 POT-0 MSB 0 1 LSB POT-1 MSB R/W = 1 DATA BYTES ARE READ IN THE ORDER SHOWN ABOVE. Figure 1. Read Protocol 12 ____________________________________________________________________ 1 0 LSB CONFIG REG STOP A A A 1 2 1 0 MSB COMMAND BYTE ACK LSB COMMAND BYTE ACK 0 1 0 1 COMMAND BYTE ACK SLAVE ADDRESS BYTE ACK MSB START DS1881 Dual NV Audio Taper Digital Potentiometer Dual NV Audio Taper Digital Potentiometer I2C Definitions Master Device: The master device controls the slave devices on the bus. The master device generates SCL clock pulses, START and STOP conditions. Slave Devices: Slave devices send and receive data at the master’s request. I2C Serial Interface Descriptions I2C interface supports a bidirectional data transmission protocol with device addressing. A device that sends data on the bus is defined as a transmitter, and a device receiving data as a receiver. The device that controls the message is called a master. The devices that are controlled by the master are slaves. The bus must be controlled by a master device that generates the serial clock (SCL), controls the bus access, and generates the START and STOP conditions. The DS1881 operates as a slave on the I2C bus. Connections to the bus are made by the open-drain I/O lines, SDA and SCL. The following I/O terminals control the I2C serial port: CE, SDA, SCL, A0, A1, and A2. A data transfer protocol and a timing diagram are provided in Figures 3 and 4. The following terminology is commonly used to describe I2C data transfers. Bus Idle or Not Busy: Time between STOP and START conditions when both SDA and SCL are inactive and in their logic-high states. When the bus is idle it often initiates a low-power mode for slave devices. START Condition: A START condition is generated by the master to initiate a new data transfer with a slave. Transitioning SDA from high to low while SCL remains high generates a START condition. See the timing diagram for applicable timing. STOP Condition: A STOP condition is generated by the master to end a data transfer with a slave. Transitioning SDA from low to high while SCL remains high generates a STOP condition. See the timing diagram for applicable timing. Repeated START Condition: The master can use a repeated START condition at the end of one data transfer to indicate that it will immediately initiate a new data transfer following the current one. Repeated STARTS are commonly used during read operations to identify a specific memory address to begin a data transfer. A repeated START condition is issued identically to a normal START condition. See the timing diagram for applicable timing. Bit Write: Transitions of SDA must occur during the low state of SCL. The data on SDA must remain valid and unchanged during the entire high pulse of SCL plus the setup and hold-time requirements (see Figure 4). Data is shifted into the device during the rising edge of the SCL. Bit Read: At the end of a write operation, the master must release the SDA bus line for the proper amount of WRITE PROTOCOL 0 0 POT-0 MSB 0 1 LSB POT-1 MSB 1 0 LSB CONFIG REG STOP LSB ACK A A A 0 2 1 0 MSB COMMAND BYTE ACK LSB COMMAND BYTE ACK 0 1 0 1 COMMAND BYTE ACK START MSB SLAVE ADDRESS BYTE R/W = 0 DATA BYTES CAN BE WRITTEN IN ANY ORDER. Figure 2. Write Protocol ____________________________________________________________________ 13 DS1881 Writing Command Byte Values An example of writing to the DS1881 is shown in Figure 2. The DS1881 has one write command that is used to change the Potentiometer Wiper Setting registers and the Configuration Register. All write operations begin with a START from the master, followed by a slave address byte. The R/W bit should be written to 0, which initiates a write command. Once the slave address byte has been issued and the master receives the acknowledge from the DS1881, potentiometer wiper data is transmitted to the DS1881 by the master device. If the potentiometer has been configured to be written in nonvolatile memory (see the Configuration Register section), then the acknowledge needs to be followed with a STOP command. This command is required from the master at the end of data transmission to initiate the EEPROM write. The STOP command is also accepted if the user has configured the pot values to be written in volatile memory, but no EEPROM is written to. DS1881 Dual NV Audio Taper Digital Potentiometer setup time (see Figure 4) before the next rising edge of SCL during a bit read. The device shifts out each bit of data on SDA at the falling edge of the previous SCL pulse and the data bit is valid at the rising edge of the current SCL pulse. Remember that the master generates all SCL clock pulses including when it is reading bits from the slave. receiving data (the master during a read or the slave during a write operation) performs an ACK by transmitting a zero during the 9th bit. A device performs a NACK by transmitting a one during the 9th bit. Timing (Figure 4) for the ACK and NACK is identical to all other bit writes. An ACK is the acknowledgment that the device is properly receiving data. A NACK is used to terminate a read sequence or as an indication that the device is not receiving data. Acknowledgement (ACK and NACK): An Acknowledgement (ACK) or Not Acknowledge (NACK) is always the 9th bit transmitted during a byte transfer. The device SDA MSB SLAVE ADDRESS R/W DIRECTION BIT ACKNOWLEDGEMENT SIGNAL FROM RECEIVER ACKNOWLEDGEMENT SIGNAL FROM RECEIVER SCL 1 2 6 7 8 9 1 2 3–7 8 ACK START CONDITION 9 ACK REPEATED IF MORE BYTES ARE TRANSFERRED STOP CONDITION OR REPEATED START CONDITION Figure 3. Data Transfer Protocol SDA tBUF tHD:STA tLOW tR tSP tF SCL tHD:STA STOP tSU:STA tHIGH tSU:DAT START REPEATED START tHD:DAT NOTE: TIMING IS REFERENCED TO VIL(MAX) AND VIH(MIN). Figure 4. I2C Timing Diagram 14 ____________________________________________________________________ tSU:STO Dual NV Audio Taper Digital Potentiometer I2C Communication Writing a Single Byte to a Slave: The master must generate a START condition, write the slave address byte (R/W = 0), write the byte of data, and generate a STOP condition. The master must read the slave’s acknowledgement during all byte write operations. DETERMINES READ OR WRITE FUNCTION 7-BIT SLAVE ADDRESS 0 1 0 1 A2 A1 A0 MSB R/W LSB A2, A1, AND A0 PIN VALUES Figure 5. DS1881’s Slave Address Byte Writing Multiple Bytes to a Slave: To write multiple bytes to a slave, the master generates a START condition, writes the slave address byte (R/W = 0), writes the desired number of data bytes and generates a STOP condition. The DS1881 is capable of writing both potentiometer wiper settings and the Configuration Register with a single write transaction. Acknowledge Polling: Any time an EEPROM location is written, the DS1881 requires the EEPROM write time (tW) after the STOP condition to write the contents of the byte of data to EEPROM. During the EEPROM write time, the device will not acknowledge its slave address because it is busy. It is possible to take advantage of that phenomenon by repeatedly addressing the DS1881, which allows the next page to be written as soon as the DS1881 is ready to receive the data. The alternative to acknowledge polling is to wait for a maximum period of tW to elapse before attempting to write again to the device. EEPROM Write Cycles: When EEPROM writes occur to the memory, the DS1881 will write to all three EEPROM memory locations, even if only a single byte was modified. Because all three bytes are written, the bytes that were not modified during the write transaction are still subject to a write cycle. This can result in all three bytes being worn out over time by writing a single byte repeatedly. The DS1881’s EEPROM write cycles are specified in the NV Memory Characteristics table. The specification shown is at the worst-case temperature. If zero-crossing detection is enabled, EEPROM write cycles cannot begin until after the zero-crossing detection is complete. Reading a Single Byte from a Slave: To read a single byte from the slave, the master generates a START condition, writes the slave address byte with R/W = 1, reads the data byte with a NACK to indicate the end of the transfer, and generates a STOP condition. When a single byte is read, it will always be the Potentiometer 0 value. Reading Multiple Bytes from a Slave: The read operation can be used to read multiple bytes with a single transfer. When reading bytes from the slave, the master simply ACKs the data byte if it desires to read another byte before terminating the transaction. After the master reads the last byte, it NACKs to indicate the end of the transfer and generates a STOP condition. The first byte read will be the Potentiometer 0 Wiper Setting. The next byte will be the Potentiometer 1 Wiper Setting. The third byte is the Configuration Register byte. If an ACK is issued by the master following the Configuration Register byte, then the DS1881 will send the Potentiometer 0 Wiper Setting again. This round robin reading will occur as long as each byte read is followed by an ACK from the master. ____________________________________________________________________ 15 DS1881 Byte Write: A byte write consists of 8 bits of information transferred from the master to the slave (most significant bit first) plus a 1-bit acknowledgement from the slave to the master. The 8 bits transmitted by the master are done according to the bit write definition and the acknowledgement is read using the bit read definition. Byte Read: A byte read is an 8-bit information transfer from the slave to the master plus a 1-bit ACK or NACK from the master to the slave. The 8 bits of information that are transferred (most significant bit first) from the slave to the master are read by the master using the bit read definition, and the master transmits an ACK using the bit write definition to receive additional data bytes. The master must NACK the last byte read to terminate communication so the slave will return control of SDA to the master. Slave Address Byte: Each slave on the I 2 C bus responds to a slave addressing byte sent immediately following a START condition. The slave address byte (Figure 5) contains the slave address in the most significant 7 bits and the R/W bit in the least significant bit. The DS1881’s slave address is 0101 A2 A1 A0 (binary), where A2, A1, and A0 are the values of the address pins. The address pins allow the device to respond to one of eight possible slave addresses. By writing the correct slave address with R/W = 0, the master indicates it will write data to the slave. If R/W = 1, the master will read data from the slave. If an incorrect slave address is written, the DS1881 will assume the master is communicating with another I2C device and ignore the communications until the next START condition is sent. DS1881 Dual NV Audio Taper Digital Potentiometer Applications Information Power-Supply Decoupling To achieve best results, it is recommended that the power supplies are decoupled with a 0.01µF or a 0.1µF capacitor. Use high-quality, ceramic, surface-mount capacitors, and mount the capacitors as close as possible to the voltage supplies and GND pins to minimize lead inductance. SDA and SCL Pullup Resistors SDA is an open-collector output on the DS1881 that requires a pullup resistor to realize high logic levels. A master using either an open-collector output with a pullup resistor or a push-pull output driver can be utilized for SCL. Pullup resistor values should be chosen to ensure that the rise and fall times listed in the AC Electrical Characteristics table are within specification. Typical Operating Circuit 5V (VDD) 5V (VCC) VDD 4.7kΩ 4.7kΩ DECOUPLING CAPACITOR VCC GND DECOUPLING CAPACITOR SDA HOST µC SCL CE DS1881 H1 W1 L1 A2 AUDIO OUT A1 A0 H0 W0 L0 5V (VCC) AUDIO IN (AC + VCC / 2) 20kΩ VCC / 2 = 2.5V 20kΩ Chip Topology TRANSISTOR COUNT: 52,353 SUBSTRATE CONNECTED TO GROUND Package Information For the latest package outline information, go to www.maxim-ic.com/DallasPackInfo. Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are implied. Maxim reserves the right to change the circuitry and specifications without notice at any time. 16 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 © 2006 Maxim Integrated Products Printed USA is a registered trademark of Maxim Integrated Products, Inc. is a registered trademark of Dallas Semiconductor Corporation. Heaney