3-Channel Digital Potentiometer with Nonvolatile Memory AD5255 FUNCTIONAL BLOCK DIAGRAM 256 BYTES USER EEPROM VDD VSS 32 BYTES RDAC EEPROM GND RDAC0 A0 W0 9-BIT B0 A1_RDAC I2C SERIAL INTERFACE A0_E COMMAND DECODE LOGIC A1_E RS WP DATA CONTROL POWER-ON RESET ADDRESS DECODE LOGIC RDAC1 A1 W1 9-BIT RDAC2 B1 A2 W2 7-BIT B2 DECODE LOGIC 04555-0-001 SDA A0_RDAC RDAC1 REGISTER SCL RDAC2 REGISTER 3 channels Dual 512 position Single 128 position 25 k or 250 k full-scale resistance Low temperature coefficient Potentiometer divider 15 ppm/C Rheostat mode 35 ppm/C Nonvolatile memory retains wiper settings Permanent memory write protection Linear increment/decrement 6 dB increment/decrement I2C-compatible serial interface 2.7 V to 5.5 V single-supply operation 2.25 V to 2.75 V dual-supply operation Power-on reset time 256 bytes general-purpose user EEPROM 11 bytes RDAC user EEPROM GBIC and SFP compliant EEPROM 100-year typical data retention at TA = 55C RDAC0 REGISTER FEATURES Figure 1. APPLICATIONS Mechanical potentiometer replacement RGB LED backlight controls White LED brightness adjustment Programmable gain and offset controls Programmable filters GENERAL DESCRIPTION The AD5255 provides a dual 512 position and a single 128 position digitally controlled variable resistors 1 (VR) in a TSSOP package. This device performs the same electronic adjustment function as a potentiometer, trimmer, or VR. Each VR offers a completely programmable value of resistance between the A terminal and the wiper or the B terminal and the wiper. The fixed A-to-B terminal resistance of 25 k or 250 k has a 1% channel-to-channel matching tolerance and a nominal temperature coefficient of 35 ppm/C. 2 Wiper position programming, EEPROM reading, and EEPROM writing is conducted via the standard 2-wire I2C interface. Previous/default wiper position settings can be stored in memory and refreshed upon system power-up. Additional features of the AD5255 include preprogrammed linear and logarithmic increment/decrement wiper changing. The actual resistor tolerances are stored in EEPROM, so the actual end-to-end resistance is known, which is valuable for calibration in precision applications. The AD5255 is available in a 24-lead TSSOP. All parts are guaranteed to operate over the extended industrial temperature range of -40C to +85C 1 The terms programmable resistor, variable resistor, RDAC, and digital potentiometer are used interchangeably. 2 The terms nonvolatile memory, EEMEM, and EEPROM are used interchangeably. Rev. A Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective owners. One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 www.analog.com Fax: 781.461.3113 (c) 2005 Analog Devices, Inc. All rights reserved. AD5255 TABLE OF CONTENTS Electrical Characteristics ................................................................. 3 Digital Input/Output Configuration........................................ 16 Absolute Maximum Ratings............................................................ 6 Multiple Devices on One Bus ................................................... 16 ESD Caution.................................................................................. 6 Level Shift for Bidirectional Communication ........................ 16 Pin Configuration and Function Descriptions............................. 7 Terminal Voltage Operation Range ......................................... 16 Typical Performance Characteristics ............................................. 8 Power-Up Sequence ................................................................... 17 Interface Descriptions.................................................................... 10 Layout and Power Supply Biasing ............................................ 17 I2C Interface ................................................................................ 10 RDAC Structure.......................................................................... 17 EEPROM Interface..................................................................... 11 Calculating the Programmable Resistance ............................. 17 RDAC I2C Interface.................................................................... 12 Programming the Potentiometer Divider............................... 18 Theory of Operation ...................................................................... 15 Applications..................................................................................... 19 Linear Increment and Decrement Commands ...................... 15 Laser Diode Driver (LDD) Calibration................................... 19 Logarithmic Taper Mode Adjustment (6 dB/step) .............. 15 Outline Dimensions ....................................................................... 20 Using Additional Internal Nonvolatile EEPROM.................. 16 Ordering Guide .......................................................................... 20 REVISION HISTORY 11/05--Rev. 0 to Rev. A Added Figure 2.....................................................................................4 Changes to Figure 3 and Table 4........................................................7 7/04--Revision 0: Initial Version Rev. A | Page 2 of 20 AD5255 ELECTRICAL CHARACTERISTICS Single supply: VDD = 2.7 V to 5.5 V and -40C < TA < +85C, unless otherwise noted. Dual supply: VDD = +2.25 V or +2.75 V, VSS = -2.25 V or -2.75 V, and -40C < TA < +85C, unless otherwise noted. Table 1. Parameter DC CHARACTERISTICS, RHEOSTAT MODE Resistor Differential Nonlinearity 2 Symbol Conditions Min R-DNL RWB, 7-bit channels Typ 1 Max Unit +0.7 5 +2.5 LSB RWB, 9-bit channels -0.7 5 -2.5 RWB, 7-bit channels RWB, 9-bit channels, VDD = 5.5 V RWB, 9-bit channels, VDD = 2.7 V -0.5 -2.0 -4.0 +0.5 +2.0 +4.0 LSB Resistor Integral Nonlinearity2 R-INL R-INL R-INL RAB1/RAB2 RAB/RAB VDD = 5 V, IW = 1 V/RWB VDD = 3 V, IW = 1 V/RWB Ch 1 and 2 RWB, Dx = 0x1FF Dx = 0x3FF -15 +15 LSB LSB LSB ppm/C % % DNL DNL 7-bit channels 9-bit channels -0.5 -2.0 +0.5 +2.0 LSB LSB +0.5 +2.0 LSB LSB ppm/C LSB Zero-Scale Error VWZSE 7-bit channels 9-bit channels Code = half scale 7-bit channels/9-bit channels, code = full scale 7-bit channels/9-bit channels, code = zero scale -0.5 -2.0 Voltage Divider Temperature Coefficent Full-Scale Error INL INL (VW/VW)/T x 107 VWFSE 1/2.0 LSB VDD 85 V pF 95 pF Resistance Temperature Coefficent Wiper Resistance Channel Resistance Matching Nominal Resistor Tolerance DC CHARACTERISTICS, POTENTIOMETER DIVIDER MODE Differential Nonlinearity 3 (RWB/RWB)/T x 107 RW 35 100 250 0.1 150 400 Integral Nonlinearity3 RESISTOR TERMINALS Terminal Voltage Range 4 Capacitance 5 Ax, Bx VA, VB, VW CA,B Capacitance5 Wx CW Common-Mode Leakage Current 5, 6 ICM 15 0/0 -1/-2.75 0/0 VSS f = 1 kHz, measured to GND, code = half scale f = 1 kHz, measured to GND, code = half scale VW = VDD/2 Rev. A | Page 3 of 20 0.01 1 A AD5255 Parameter DIGITAL INPUTS AND OUTPUTS Input Logic High Symbol Conditions Min VIH VDD = 5 V, VSS = 0 V VDD/VSS = +2.7 V/0 V or VDD/VSS = 2.5 V VDD = 5 V, VSS = 0 V VDD/VSS = +2.7 V/0 V or VDD/VSS = 2.5 V RPULL-UP = 2.2 k to VDD = 5 V, VSS = 0 V RPULL-UP = 2.2 k to VDD = 5 V, VSS = 0 V WP = VDD 2.4 2.1 Input Logic Low VIL Output Logic High (SDA) VOH Output Logic Low VOL WP Leakage Current IWP A0 Leakage Current Input Leakage Current (Excluding WPand A0) Input Capacitance5 POWER SUPPLIES Single-Supply Power Range Dual-Supply Power Range IA0 II CI A0 = GND VIN = 0 V or VDD VDD VDD/VSS VSS = 0 V Positive Supply Current Negative Supply Current IDD ISS EEMEM Data Storing Mode Current EEMEM Data Restoring Mode Current Power Dissipation 7 Power Supply Sensitivity5 IDD_STORE IDD_RESTORE PDISS PSS VIH = VDD or VIL = GND, VSS = 0 V VIH = VDD or VIL = GND, VDD = 2.5 V, VSS = -2.5 V VIH = VDD or VIL = GND VIH = VDD or VIL = GND VIH = VDD = 5 V or VIL = GND VDD = 5 V 10% Typ 1 Max Unit V V 0.8 0.6 V V V 4.9 0.4 V 9 A 3 1 A A pF 5.5 2.7 5 15 -15 V V 5 2.7 2.2 5 5 -5 35 2.5 25 0.01 75 0.025 A A mA mA W %/% 1 Typical represents average readings at 25C, VDD = 5 V. Resistor position nonlinearity error, R-INL, is the deviation from an ideal value measured between the maximum resistance and the minimum resistance wiper positions. R-DNL measures the relative step change from ideal between successive tap positions. 3 INL and DNL are measured at VW with the RDAC configured as a potentiometer divider similar to a voltage output DAC. VA = VDD and VB = 0 V. 4 Resistor Terminals A, B, W have no limitations on polarity with respect to each other. 5 Guaranteed by design and not subject to production test. 6 Bandwidth, noise, and settling time are dependent on the terminal resistance value chosen. The lowest R value results in the fastest settling time and highest bandwidth. The highest R value results in the minimum overall power consumption. 7 PDISS is calculated from (IDD x VDD). CMOS logic level inputs result in minimum power dissipation. 2 t8 t6 t2 t9 SCL t2 t4 t3 t8 t7 t10 t5 t9 t1 P S S Figure 2. I2C Timing Diagram Rev. A | Page 4 of 20 P 04555-0-015 SDA AD5255 Single supply: VDD = 3 V to 5.5 V and -40C < TA < +85C, unless otherwise noted. Dual supply: VDD = 2.25 V or 2.75 V, VSS = -2.25 V or -2.75 V, and -40C < TA < + 85C, unless otherwise noted. Table 2. Parameter DYNAMIC CHARACTERISTICS 2, 3 Bandwidth -3 dB Total Harmonic Distortion VW Settling Time Symbol Conditions BW THDW tS VDD/VSS = 2.5 V, RAB = 25 k/250 k VA = 1 V rms, VB = 0 V, f = 1 kHz VA = VDD, VB = 0 V, VW = 0.50% error band, Min Typ 1 Max Unit 125/12 0.05 4/36 kHz % s 14/45 -80 nVHz dB -72 dB code 0x000 to 0x100, RAB = 25 k/250 k Resistor Noise Spectral Density Digital Crosstalk eN_WB CT Analog Crosstalk CAT INTERFACE TIMING CHARACTERISTICS (APPLY TO ALL PARTS) 4, 5 SCL Clock Frequency tBUF Bus Free Time Between Stop and Start tHD;STA Hold Time (Repeated) Start Condition tLOW Low Period of SCL Clock tHIGH High Period of SCL Clock tSU;STA Setup Time for Repeated Start Condition tHD;DAT Data Hold Time tSU;DAT Data Setup Time tR Rise Time of Both SDA and SCL Signals tF Fall Time of Both SDA and SCL Signals tSU;STO Setup Time for Stop Condition EEMEM Data Storing Time EEMEM Data Restoring Time at Power-On EEMEM Data Restoring Time on Restore Command or Reset Operation EEMEM Data Rewritable Time FLASH/EE MEMORY RELIABILITY Endurance 6 Data Retention 7 RAB = 25 k/250 k, TA = 25C VA = VDD, VB = 0 V, measure VW with adjacent RDAC making full-scale change Signal input at A0 and measure output at W1, f = 1 kHz fSCL t1 t2 400 After this period the first clock pulse is generated 1.3 kHz s 600 ns t3 t4 t5 1.3 0.6 600 t6 t7 t8 100 50 900 t9 t10 tEEMEM_STORE tEEMEM_RESTORE1 600 tEEMEM_RESTORE2 tEEMEM_REWRITE 300 ns ns ms s 360 s s 100 1 300 ns ns ns 26 360 540 55C s s ns 100 kcycles years Typical represents average readings at 25C, VDD = 5 V. Guaranteed by design and not subject to production test. All dynamic characteristics use VDD = 5 V. 4 Bandwidth, noise, and settling time are dependent on the terminal resistance value chosen. The lowest R value results in the fastest settling time and highest bandwidth. The highest R value results in the minimum overall power consumption. 5 See the timing diagram for location of measured values. 6 Endurance is qualified to 100,000 cycles as per JEDEC Std. 22 Method A117 and measured at -40C, +25C, and +85C; typical endurance at 25C is 700,000 cycles. 7 Retention lifetime equivalent at junction temperature (TJ) = 55C as per JEDEC Std. 22, Method A117. Retention lifetime based on an activation energy of 0.6 eV derates with junction temperature. 2 3 Rev. A | Page 5 of 20 AD5255 ABSOLUTE MAXIMUM RATINGS Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. TA = 25C, unless otherwise noted. Table 3. Parameter VDD to GND VSS to GND VDD to VSS VA, VB, VW to GND IA, IB, IW Pulsed1 Continuous Digital Inputs and Output Voltage to GND Operating Temperature Range2 Maximum Junction Temperature (TJ max) Storage Temperature Lead Temperature, Soldering Vapor Phase (60 sec) Infrared (15 sec) Thermal Resistance Junction-to-Ambient JA, TSSOP-24 1 2 Rating -0.3 V, +7 V +0.3 V, -7 V 7V VSS - 0.3 V, VDD + 0.3 V 20 mA 2 mA -0.3 V, VDD + 0.3 V -40C to +85C 150C -65C to +150C 215C 220C 143C/W Includes programming of nonvolatile memory. Maximum terminal current is bounded by the maximum current handling of the switches, maximum power dissipation of the package, and maximum applied voltage across any two of the A, B, and W terminals at a given resistance. ESD CAUTION ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000 V readily accumulate on the human body and test equipment and can discharge without detection. Although this product features proprietary ESD protection circuitry, permanent damage may occur on devices subjected to high energy electrostatic discharges. Therefore, proper ESD precautions are recommended to avoid performance degradation or loss of functionality. Rev. A | Page 6 of 20 AD5255 PIN CONFIGURATION AND FUNCTION DESCRIPTIONS A0_EE 1 24 A1_EE A1_RDAC 2 23 TEST0 (NC) A0_RDAC 3 22 TEST1 (NC) RS 4 WP 5 SCL 6 19 VDD SDA 7 18 A0 DGND 8 17 W0 VSS 9 16 B0 A2 10 15 B1 W2 11 14 W1 B2 12 13 A1 21 TEST2 (NC) 20 TEST3 (NC) NC = NO CONNECT 04555-0-034 AD5255 TOP VIEW (Not to Scale) Figure 3. Pin Configuration Table 4. Pin Function Descriptions Pin No. 1 2 3 4 Mnemonic A0_EE A1_RDAC A0_RDAC RS 5 WP 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 SCL SDA DGND VSS A2 W2 B2 A1 W1 B1 B0 W0 A0 VDD TEST3 (NC) TEST2 (NC) TEST1 (NC) TEST0 (NC) A1_EE Description I2C Device Address 0 for EEMEM. I2C Device Address 1 for RDAC. I2C Device Address 0 for RDAC. Resets the scratchpad register with current contents of the EEMEM register. Factory defaults to midscale before any programming. Write Protect. When active low, WP prevents any changes to the present register contents, except that RESET and Command 1 and Command 8 still refresh the RDAC register from EEMEM. Serial Input Register Clock. Shifts in one bit at a time on the positive clock edges. Serial Data Input. Shifts in one bit at a time on the positive clock edges. The MSB is loaded first. Ground. Logic ground reference. Negative Supply. Connect to 0 V for single-supply applications. A terminal of RDAC2. Wiper terminal of RDAC2. B terminal of RDAC2. A terminal of RDAC1. Wiper terminal of RDAC1. B terminal of RDAC1. B terminal of RDAC0. Wiper terminal of RDAC0. A terminal of RDAC0. Positive Power Supply. Test Pin 3. Do not connect. Test Pin 2. Do not connect. Test Pin 1. Do not connect. Test Pin 0. Do not connect. I2C Device Address 1 for EEMEM. Rev. A | Page 7 of 20 AD5255 TYPICAL PERFORMANCE CHARACTERISTICS 1.0 1.0 TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 0.8 0.6 0.4 0.4 0.2 0 -0.2 0.2 0 -0.2 -0.4 -0.4 -0.6 -0.6 -0.8 -0.8 -1.0 -1.0 0 64 128 192 256 320 384 448 512 CODE (DECIMAL) TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 0 64 192 256 320 384 448 512 96 112 128 96 112 128 CODE (DECIMAL) Figure 4. INL--9-Bit RDAC Figure 7. R-DNL--9-Bit RDAC 1.50 0.5 TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 1.25 128 04555-0-005 R-DNL (LSB) 0.6 04555-0-002 INL (LSB) 0.8 TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 0.4 1.00 0.3 0.75 0.2 0.25 INL (LSB) DNL (LSB) 0.50 0 -0.25 0.1 0 -0.1 -0.50 -0.2 -0.75 -0.3 -1.00 0 64 128 192 256 320 384 448 512 CODE (DECIMAL) -0.5 04555-0-003 -1.50 0 16 32 64 80 CODE (DECIMAL) Figure 5. DNL--9-Bit RDAC Figure 8. INL--7-Bit RDAC 1.0 0.5 TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 0.3 0.4 0.2 0.2 0.1 DNL (LSB) 0.6 0 -0.2 0 -0.1 -0.2 -0.6 -0.3 -0.8 -0.4 -1.0 64 128 192 256 320 384 CODE (DECIMAL) 448 512 04555-0-004 -0.4 0 TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 0.4 -0.5 Figure 6. R-INL--9-Bit RDAC 0 16 32 48 64 80 CODE (DECIMAL) Figure 9. DNL--7-Bit RDAC Rev. A | Page 8 of 20 04555-0-007 0.8 R-INL (LSB) 48 04555-0-006 -0.4 -1.25 AD5255 50 0.4 POTENTIOMETER MODE TEMPCO (ppm/C) TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 0.3 R-INL (LSB) 0.2 0.1 0 -0.1 -0.2 -0.3 -0.5 0 16 32 48 64 80 96 112 128 CODE (DECIMAL) 40 35 30 25 20 15 10 5 0 04555-0-008 -0.4 TA = -40C, +85C VDD = 5V VA = VDD VB = 0V 45 0 64 128 192 256 320 384 448 512 CODE (DECIMAL) Figure 10. R-INL--7-Bit RDAC 04555-0-011 0.5 Figure 13. Temperature Coefficient (Potentiometer Mode) 0.5 10 TA = -40C, +25C, +85C SUPERIMPOSED VDD = 5V 0.4 8 IDD: VDD = 5.5V 0.3 0.1 0 -0.1 -0.2 4 2 IDD: VDD = 2.7V 0 -2 -4 -0.3 -6 -0.4 -8 0 16 32 48 64 80 96 112 128 CODE (DECIMAL) -10 -40 04555-0-009 -0.5 IS: VDD = 2.7V, VSS = 2.7V 0 20 40 60 80 100 120 140 TEMPERATURE (C) Figure 14. Supply Current vs. Temperature Figure 11. R-DNL--7-Bit RDAC 50 110 TA = -40C, +85C VDD = 5V VA = VDD VB = 0V 45 40 TA = 25C 100 90 35 80 IDD (mA) 30 25 20 70 60 15 VDD = 5.5V 50 10 VDD = 2.7V 40 5 0 0 64 128 192 256 320 384 448 CODE (DECIMAL) 512 04555-0-010 RHEOSTAT MODE TEMPCO (ppm/C) -20 Figure 12. Temperature Coefficient (Rheostat Mode) 30 1 101 102 103 104 105 106 CLOCK FREQUENCY (Hz) Figure 15. Supply Current vs. Clock Frequency Rev. A | Page 9 of 20 107 04555-0-013 R-DNL (LSB) 0.2 04555-0-012 SUPPLY CURRENT (mA) 6 AD5255 INTERFACE DESCRIPTIONS I2C INTERFACE All control and access to both EEPROM memory and the RDAC registers are conducted via a standard 2-wire I2C interface. Figure 2 shows the timing characteristics of the I2C bus. Figure 16 and Figure 17 illustrate standard transmit and receive bus signals in the I2C interface. These figures use the following legend: From master to slave From slave to master S = Start condition P = Stop condition A = Acknowledge (SDA low) A = Not acknowledge (SDA high) R/W = Read enable at high and write enable at low SLAVE ADDRESS R/W A DATA A DATA A/A P 04555-0-016 S DATA TRANSFERRED (N BYTES + ACKNOWLEDGE) 0 = WRITE Figure 16. I2C--Master Transmitting Data to Slave SLAVE ADDRESS R/W A DATA A DATA A P 04555-0-017 S DATA TRANSFERRED (N BYTES + ACKNOWLEDGE 1 = WRITE Figure 17. I2C--Master Reading Data from Slave SLAVE ADDRESS R/W A READ OR WRITE DATA A/A (N BYTES + ACKNOWLEDGE) S SLAVE ADDRESS REPEATED START R/W A READ OR WRITE DATA (N BYTES + ACKNOWLEDGE) DIRECTION OF TRANSFER MAY CHANGE AT THIS POINT Figure 18. Combined Transmit/Read Rev. A | Page 10 of 20 A/A P 04555-0-018 S AD5255 EEPROM INTERFACE 1 0 1 0 0 A A 1 E 0 E 0 A MEMORY ADDRESS A MEMORY DATA EEPROM SLAVE ADDRESS A MEMORY DATA A/A P 04555-0-019 S (N BYTES + ACKNOWLEDGE) 0 WRITE Figure 19. EEPROM Write 1 0 1 0 0 A A 1 E 0 E 0 A MEMORY DATA A EEPROM SLAVE ADDRESS MEMORY DATA P A 04555-0-020 S (N BYTES + ACKNOWLEDGE) 1 READ Figure 20. EEPROM Current Read SLAVE ADDRESS W A MEMORY ADDRESS A 0 WRITE S SLAVE ADDRESS REPEATED START R 1 READ A MEMORY DATA A/A P (N BYTES + ACKNOWLEDGE) 04555-0-021 S Figure 21. EEPROM Random Read The 256 bytes of EEPROM memory provided in the AD5255 are organized into 16 pages of 16 bytes each. The word size of each memory location is one byte wide. The I2C slave address of the EEPROM is 10100(A1E)(A0E), where A1E and A0E are external pin-programmable address bits. The 2-pin programmable address bits allow a total of four AD5255 devices to be controlled by a single I2C master bus, each having its own EEPROM. An internal 8-bit address counter for the EEPROM is automatically incremented following each read or write operation. For read operations, the address counter is incremented after each byte is read, and the counter rolls over from Address 255 to 0. For write operations, the address counter is incremented after each byte is written. The counter rolls over from the highest address of the current page to the lowest address of the current page. For example, writing two bytes beginning at Address 31 causes the counter to roll back to Address 16 after the first byte is written; then the address increments to 17 after the second byte is written. EEPROM Write Each write operation issued to the EEPROM programs between 1 byte and 16 bytes (1 page) of memory. Figure 19 shows the EEPROM write interface. The number of bytes of data, N, that the user wants to send to the EEPROM is unrestricted. If more than 16 bytes of data are sent in a single write operation, the address counter rolls back to the beginning address, and the previously sent data is overwritten. EEPROM Write-Acknowledge Polling After each write operation, an internal EEPROM write cycle begins. During the EEPROM internal write cycle, the I2C interface of the device is disabled. It is necessary to determine if the internal write cycle is complete and whether the I2C interface is enabled. To do so, execute I2C interface polling by sending a start condition followed by the EEPROM slave address plus the desired R/W bit. If the AD5255 I2C interface responds with an ACK, the write cycle is complete, and the interface is ready to proceed with further operations. Otherwise, the I2C interface must be polled again to determine whether the write cycle has been completed. EEPROM Read The AD5255 EEPROM provides two different read operations, shown in Figure 20 and Figure 21. The number of bytes, N, read from the EEPROM in a single operation is unrestricted. If more than 256 bytes are read, the address counter rolls back to the start address, and data previously read is read again. Figure 20 shows the EEPROM current read operation. This operation does not allow an address location to be specified, and reads data beginning at the current address location stored in the internal address counter. Rev. A | Page 11 of 20 AD5255 EEPROM Write Protection A random read operation is shown in Figure 21. This operation changes the address counter to the specified memory address by performing a dummy write and then performing a read operation beginning at the new address counter location. Setting the WP pin to a logic low protects the EEPROM memory from future write operations. In this mode, EEPROM read operations and RDAC register loading operate normally. RDAC I2C INTERFACE 0 1 0 1 1 A A 1 R 0 R 0 A CMD/ REG EE/ RDAC 0 RDAC SLAVE ADDRESS A A A A A 4 3 2 1 0 A DATA RDAC ADDRESS A DATA A/A P A P 04555-0-022 S (N BYTES + ACKNOWLEDGE) 0 WRITE Figure 22. RDAC Write 0 1 0 1 1 A A 1 R 0 R 1 A RDAC EEPROM OR REGISTER DATA RDAC SLAVE ADDRESS A RDAC EEPROM OR REGISTER DATA 04555-0-023 S (N BYTES + ACKNOWLEDGE) 1 READ Figure 23. RDAC Current Read SLAVE ADDRESS W A RDAC ADDRESS A 0 WRITE S SLAVE ADDRESS R RDAC DATA A (N BYTES + ACKNOWLEDGE) 1 READ REPEATED START A/A Figure 24. RDAC Random Read 0 1 0 1 1 A A 1 R 0 R 0 A CMD/ REG C C C C A A A 3 2 1 0 2 1 0 RDAC SLAVE ADDRESS 0 WRITE 1 CMD Figure 25. RDAC Shortcut Command Table 5. RDAC Register Addresses (CMD/REG = 0, EE/RDAC = 0) A4 0 0 0 0 0 0 A3 0 0 0 0 0 0 1 1 A2 0 0 0 0 1 1 . . . to . . . 1 A1 0 0 1 1 0 0 A0 0 1 0 1 0 1 1 1 RDAC RDAC0 RDAC0 RDAC1 RDAC1 RDAC2 Byte Description (D7)(D6)(D5)(D4)(D3)(D2)(D1)(D0) - RDAC0 8 LSBs (X)(X)(X)(X)(X)(X)(X)(D8) - RDAC0 MSB (D7)(D6)(D5)(D4)(D3)(D2)(D1)(D0) - RDAC1 8 LSBs (X)(X)(X)(X)(X)(X)(X)(D8) - RDAC1 MSB (X)(D6)(D5)(D4)(D3)(D2)(D1)(D0) - RDAC2 7 bits Reserved Rev. A | Page 12 of 20 A P 04555-0-025 S P 04555-0-024 S AD5255 Table 6. RDAC R/W EEPROM Addresses (CMD/REG = 0, EE/RDAC = 1) A4 0 0 0 0 0 0 A3 0 0 0 0 0 0 0 1 A2 0 0 0 0 1 1 . . . to . . . 1 A1 0 0 1 1 0 0 A0 0 1 0 1 0 1 1 1 Byte Description RDAC0 8 LSBs RDAC0 MSB RDAC1 8 LSBs RDAC1 MSB RDAC2 7 bits 11 bytes RDAC User EEPROM Table 7. RDAC Command Table (CMD/REG = 1) C3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 C2 0 0 0 0 1 1 1 1 0 0 0 0 1 . . . to . . . 1 C1 0 0 1 1 0 0 1 1 0 0 1 1 0 C0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 Command Description NOP Restore EEPROM to RDAC 1 Store RDAC to EEPROM 2 Decrement RDAC 6 dB Decrement All RDACs 6 dB Decrement RDAC 1 Step Decrement All RDACs 1 Step Reset; Restore EEPROM to all RDACs2 Increment RDACs 6 dB Increment All RDACs 6 dB Increment RDAC 1 Step Increment All RDAC 1 Step Reserved Command leaves the device in the EEPROM read power state. Issue the NOP command to return the device to the idle state. Command requires acknowledge polling after execution. RDAC Interface Operation Each programmable resistor wiper setting is controlled by specific RDAC registers, as shown in Table 5. Each RDAC register corresponds to an EEPROM memory location, which provides nonvolatile wiper storage functionality. RDAC registers and their corresponding EEPROM memory locations are programmed and read independently from each other. The RDAC register is refreshed by the EEPROM locations either with a hardware reset via Pin 1, or by issuing one of the various RDAC register load commands shown in the Table 7. RDAC Write Setting the wiper position requires an RDAC write operation, shown in Figure 22. RDAC write operations follow a format similar to the EEPROM write interface. The only difference between an RDAC write and an EEPROM write operation is the use of an RDAC address byte in place of the memory address used in the EEPROM write operation. The RDAC address byte is described in detail in Table 5 and Table 6. As with the EEPROM write operation, any RDAC EEPROM (Shortcut Command 2) write operation disables the I2C interface during the internal write cycle. Acknowledge polling, as described in the EEPROM Interface section, is required to determine whether the write cycle is complete. RDAC Read The AD5255 provides two RDAC read operations. The first, shown in Figure 23, reads the contents of the current RDAC address counter. Figure 24 illustrates the second read operation, which allows users to specify which RDAC register to read by first issuing a dummy write command to change the RDAC address pointer, and then proceeding with the RDAC read operation at the new address location. The read-only RDAC EEPROM memory locations can also be read by using the address and bits specified in Table 6. Rev. A | Page 13 of 20 AD5255 RDAC Shortcut Commands Tolerance values are stored in percentage form. Figure 26 shows the format of the tolerance data stored in memory. Each stored tolerance uses two memory locations. The first location stores the integer portion, while the second location stores the decimal portion. Eleven shortcut commands are provided for easy manipulation of RDAC registers and their corresponding EEPROM memory locations. These commands are shown in Table 9. A more detailed discussion about the RDAC shortcut commands can be found in the Theory of Operation section. The resistance tolerance is stored in sign-magnitude format. The MSB of the first memory location designates the sign (0 = +, 1 = -) and the remaining seven LSBs are designated for the integer portion of the tolerance. All eight bits of the second memory location represent the decimal portion of the tolerance value. The interface for issuing an RDAC shortcut command is shown in Figure 25. All shortcut commands require acknowledge polling to determine whether the command has finished executing. RDAC Resistor Tolerance The end-to-end resistance tolerance for each RDAC channel is stored in read-only memory during factory production. This information is read by using the address and bits specified in Table 8. Table 8. Addresses for Reading Tolerance (CMD/REG = 0, EE/RDAC = 1, A4 = 1) A A3 1 1 1 1 1 1 A2 0 0 0 0 1 1 A1 0 0 1 1 0 0 A0 0 1 0 1 0 1 Data Byte Description Sign and 7-Bit Integer Values of RDAC0 Tolerance (Read-Only) 8-Bit Decimal Value of RDAC0 Tolerance (Read-Only) Sign and 7-Bit Integer Values of RDAC1 Tolerance (Read-Only) 8-Bit Decimal Value of RDAC1 Tolerance (Read-Only) Sign and 7-Bit Integer Values of RDAC2 Tolerance (Read-Only) 8-Bit Decimal Value of RDAC2 Tolerance (Read-Only) D7 D6 D5 D4 D3 D2 D1 D0 SIGN 26 25 24 23 22 21 20 SIGN A D7 D6 D5 D4 D3 D2 D1 D0 A 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 04555-0-026 A4 1 1 1 1 1 1 7 BITS FOR INTEGER NUMBER 8 BITS FOR DECIMAL NUMBER Figure 26. Format of Stored Tolerance in Sign Magnitude with Bit Positions Descriptions Unit is in %. Only Data Bytes Shown. Rev. A | Page 14 of 20 AD5255 THEORY OF OPERATION The AD5255 digital potentiometer operates as a true variable resistor. The RDAC register contents determine the resistor wiper position. The RDAC register acts like a scratchpad register, allowing unlimited resistance setting changes. RDAC register contents are changed using the AD5255's serial I2C interface. See the RDAC I2C Interface section for the format of the data-words and commands to program the RDAC registers. Each RDAC register has a corresponding EEPROM memory location, which provides nonvolatile storage of resistor wiper position settings. The AD5255 provides commands to store the RDAC register contents to their respective EEPROM memory locations. During subsequent power-on sequences, the RDAC registers are automatically loaded with the stored values. Saving data from an RDAC register to EEPROM memory takes approximately 25 ms and consumes 35 mA. In addition to moving data between RDAC registers and EEPROM memory, the AD5255 provides other shortcut commands. Table 9. AD5255 Shortcut Commands No. 1 2. 3 4 5 6 7 8 9 10 11 Function Restore EEPROM setting to RDAC1 Store RDAC register contents to EEPROM2 Decrement RDAC 6 dB (shift data bits right) Decrement all RDACs 6 dB (shift all data bits right) Decrement RDAC 1 step Decrement all RDACs 1 step Reset EEPROM setting to RDAC2 Increment RDAC 6 dB (shift data bits left) Increment all RDACs 6 dB (shift all data bits left) Increment RDAC 1 step Increment all RDACs 1 step 1 Command leaves the device in the EEPROM read power state. Issue the NOP command to return the device to the idle state. 2 Command requires acknowledge polling after execution. LINEAR INCREMENT AND DECREMENT COMMANDS The increment and decrement commands (Command 10, Command 11, Command 5, and Command 6) are useful for linear step adjustment applications. These commands simplify microcontroller software coding by allowing the controller to send only an increment or decrement command to the AD5255. The adjustment can be directed to an individual RDAC or to all three RDACs. LOGARITHMIC TAPER MODE ADJUSTMENT (6 dB/STEP) The AD5255 accommodates logarithmic taper adjustment of the RDAC wiper position(s) by shifting the register contents left/right for increment/decrement operations. Command 8, Command 9, Command 3, and Command 4 are used to logarithmically increment or decrement the wiper positions individually or change all three channel settings at the same time. Incrementing the wiper position by +6 dB doubles the RDAC register value, while decrementing by -6 dB halves it. Internally, the AD5255 uses a shift register to shift the bits left and right to achieve a logarithmic increment or decrement. Nonideal 6 dB step adjustment occurs under certain conditions. Table 10 illustrates how the shifting function affects the data bits of an individual RDAC. Each line going down the table represents a successive shift operation. Note: The left-shift commands (Command 10 and Command 11) were modified such that if the data in the RDAC register equals 0 and the data is shifted, the RDAC register is set to Code 1. Similarly, if the data in the RDAC register is greater than or equal to midscale and the data is left shifted, the data in the RDAC register is automatically set to full scale. This makes the left-shift function as close as possible to a logarithmic adjustment. The right-shift commands (Command 3 and Command 4) are ideal only if the LSB is a 0 (ideal logarithmic = no error). If the LSB is 1, the right-shift function generates a linear half LSB error. Table 10. RDAC Register Contents after 6 dB Step Adjustments Left Shift (+6 dB/Step) 0 0000 0000 0 0000 0001 0 0000 0010 0 0000 0100 0 0000 1000 0 0001 0000 0 0010 0000 0 0100 0000 0 1000 0000 1 0000 0000 1 1111 1111 1 1111 1111 Right Shift (-6 dB/Step) 1 1111 1111 0 1111 1111 0 0111 1111 0 0011 1111 0 0001 1111 0 0000 1111 0 0000 0111 0 0000 0011 0 0000 0001 0 0000 0000 0 0000 0000 Actual conformance to a logarithmic curve between the data contents in the RDAC register and the wiper position for each right-shift command (Command 3 and Command 4) execution contains an error only for odd numbers of bits. Even numbers of bits are ideal. Rev. A | Page 15 of 20 AD5255 USING ADDITIONAL INTERNAL NONVOLATILE EEPROM LEVEL SHIFT FOR BIDIRECTIONAL COMMUNICATION The AD5255 contains additional internal user EEPROM for saving constants and other data. The user EEPROM I2C dataword follows the same format as the general-purpose EEPROM memory shown in Figure 19 and Figure 20. User EEPROM memory addresses are shown in Table 6. While most legacy systems operate at one voltage, adding a new component might require a different voltage. When two systems transmit the same signal at two different voltages, use a level shifter to allow the systems to communicate. To support the use of multiple EEPROM modules on a single I2C bus, the AD5255 features two external addressing pins, Pin 21 and Pin 22 (A1_EE and A0_EE), to manually set the address of the EEPROM included with the AD5255. This feature ensures the correct EEPROM memory is accessed when using multiple memory modules on a single I2C bus. For example, a 3.3 V microcontroller (MCU) can be used along with a 5 V digital potentiometer. A level shifter is required to enable bidirectional communication. Figure 29 shows one of many possible techniques to properly level-shift signals between two devices. M1 and M2 are N-channel FETs (2N7002). If VDD falls below 2.5 V, use low threshold N-channel FETs (FDV301N) for M1 and M2. VDD1 = 3.3V All digital inputs are ESD protected. Digital inputs are high impedance and can be driven directly from most digital sources. The RESET digital input pin does not have an internal pull-up resistor. Therefore, the user should place a pull-up resistor from RESET to VDD if the function is not used. The WP pin has an internal pull-down resistor. If not driven by an external source, the AD5255 defaults to a write-protected state. ESD protection of the digital inputs is shown in Figure 27. VDD2 = 5V RP RP RP RP G D S SDA1 SDA2 G M1 SCL1 D S SCL2 M2 3.3V MCU 5V AD5255 VDD 04555-0-029 DIGITAL INPUT/OUTPUT CONFIGURATION Figure 29. Level Shifting for Different Voltage Devices on an I2C Bus TERMINAL VOLTAGE OPERATION RANGE INPUTS The AD5255 positive VDD and negative VSS power supply inputs define the boundary conditions for proper 2-terminal programmable resistance operation. Supply signals on terminals W and B that exceed VDD or VSS are clamped by the internal forwardbiased diodes of the AD5255. 04555-0-027 WP GND Figure 27. Equivalent WP ESD Protection VDD MULTIPLE DEVICES ON ONE BUS Figure 28 shows four AD5255 devices on the same serial bus. Each has a different slave address since the state of their AD0 pin and AD1 pin are different. This allows independent reading and writing to each RDAC within each device. A W 5V VSS RP RP Figure 30. Maximum Terminal Voltages Set by VDD and VSS SDA MASTER SCL VDD VDD SDA SCL AD1 SDA SCL AD1 SDA SCL AD1 SDA SCL AD1 AD0 AD0 AD0 AD0 04555-0-028 VDD 04555-0-030 B The ground pin of the AD5255 is used as a digital ground reference and needs to be tied to the common ground of the PCB. Reference the digital input control signals to the AD5255 ground pin and satisfy the logic levels defined in the Digital Inputs and Outputs parameters in Table 1. Figure 28. Multiple AD5255 Devices on a Single Bus Rev. A | Page 16 of 20 AD5255 Since the ESD protection diodes limit the voltage compliance at the A, B, and W terminals (Figure 30), it is important to power VDD/VSS before applying any voltage to the A, B, and W terminals. Otherwise, the diode is forward-biased such that VDD/VSS are powered unintentionally, which affects the rest of the circuit. The ideal power-up sequence is as follows: GND, VDD, VSS, digital inputs, and VA/VB/VW. The order of powering VA, VB, VW, and the digital inputs is not important as long as they are powered after VDD/VSS. Since the switches are nonideal, there is a 100 wiper resistance, RW. Wiper resistance is a function of supply voltage and temperature; lower supply voltages and higher temperatures result in higher wiper resistances. Consideration of wiper resistance dynamics is important in applications in which accurate prediction of output resistance is required. SWA AX SW(2N-1) LAYOUT AND POWER SUPPLY BIASING RDAC WIPER REGISTER AND DECODER It is always a good practice to use compact, minimum lead length layout design. Make the leads to the input as direct as possible with a minimum conductor length. Make sure the ground paths have low resistance and low inductance. RS RS Similarly, it is also good practice to bypass the power supplies with quality capacitors. Use low equivalent series resistance (ESR) 1 F to 10 F tantalum or electrolytic capacitors at the supplies to minimize any transient disturbance and filter low frequency ripple. Figure 31 illustrates the basic supplybypassing configuration for the AD5255. VDD VDD + C3 10F RS WX SW(1) SW(0) SWB BX Figure 32. Equivalent RDAC Structure C1 0.1F CALCULATING THE PROGRAMMABLE RESISTANCE C2 0.1F VSS The nominal resistance of the RDAC between the A and B terminals is available in 25 k or 250 k. The final two or three digits of the part number determine the nominal resistance value, for example, 25 k = 25 and 250 k = 250. 04555-0-031 VSS DIGITAL CIRCUITRY OMITTED FOR CLARITY AD5255 GND + C4 10F RS = RAB/2N SW(2N-2) 04555-0-032 POWER-UP SEQUENCE Figure 31. Power Supply Bypassing RDAC STRUCTURE The patent pending RDAC contains a string of equal resistor segments, with an array of analog switches. The switches act as the wiper connection. The AD5255 has two RDACs with 512 connection points allowing it to provide better than 0.2% set-ability resolution. The AD5255 also contains a third RDAC with 128-step resolution. Figure 32 shows an equivalent structure of the connections between the two terminals that make up one channel of the RDAC. The SWB switch is always on, while one of the switches, SW(0) to SW(2N - 1), may or may not be on at any given time depending on the resistance position decoded from the data bits in the RDAC register. The following discussion describes the calculation of resistance RWB(D) at different codes of a 25 k part for RDAC0. The 9-bit data-word in the RDAC latch is decoded to select one of the 512 possible settings. The first wiper connection starts at the B terminal for data 0x000. RWB(0) is 100 of the wiper resistance and it is independent of the full-scale resistance. The second connection is the first tap point where RWB(1) becomes 48.8 + 100 = 148.8 for data 0x001. The third connection is the next tap point representing RWB(2) = 97.6 + 100 = 197.6 for data 0x002, and so on. Each LSB data-value increase moves the wiper up the resistor ladder until the last tap point is reached at RWB(511) = 25051 . See Figure 32 for a simplified diagram of the equivalent RDAC circuit. These general equations determine the programmed output resistance between W and B. Rev. A | Page 17 of 20 AD5255 For RDAC0 and RDAC1: RWB (D ) = D x R AB + RW 512 (1) Table 12. RWA(D) at Selected Codes for RAB = 25 k For RDAC2: RWB (D ) = D x R AB + RW 128 (2) where D is the decimal equivalent of the data contained in the RDAC register, and RW is the wiper resistance. The output resistance values in Table 11 are set for the given RDAC latch codes with VDD = 5 V, which applies to RAB = 25 k digital potentiometers. Table 11. RWB at Selected Codes for RWB_FS = 25 k D (Dec) 511 256 1 0 RWB(D) () 25051 12600 148.8 100 Output State Full scale Midscale 1 LSB Zero scale (wiper contact resistance) Note that in the zero-scale condition, a finite wiper resistance of 100 is present. To avoid degradation or possible destruction of the internal switches, care should be taken to limit the current flow between W and B to no more than 20 mA intermittently or 2 mA continuously. Channel-to-channel RWB matching is better than 0.1%. The change in RWB with temperature has a 35 ppm/C temperature coefficient. Like the mechanical potentiometer that the RDAC replaces, the AD5255 parts are totally symmetrical. The resistance between the W wiper and the A terminal also produces a digitally controlled complementary resistance, RWA. When RWA is used, the B terminal can be floating or tied to the wiper. Setting the resistance value for RWA starts at a maximum value of resistance and decreases as the data loaded in the latch is increased in value. The general transfer equations for this operation are as follows. For RDAC0 and RDAC1: RWB (D ) = 512 - D 512 x R AB + RW (3) x R AB + RW (4) For RDAC2: RWB (D ) = 128 - D 128 For example, the following RDAC latch codes set the corresponding output resistance values, which apply to RAB = 25 k digital potentiometers. D (DEC) 511 256 1 0 RWA(D) () 148.8 12600 25051 25100 Output State Full scale Midscale 1 LSB Zero scale The typical distribution of RAB from channel-to-channel is 0.1% within the same package. Device-to-device matching is process lot-dependent, with a worst-case variation of 15%. RAB temperature coefficient is 35 ppm/C. PROGRAMMING THE POTENTIOMETER DIVIDER Voltage Output Operation The digital potentiometer can be configured to generate an output voltage at the wiper terminal that is proportional to the input voltages applied to the A and B terminals. Connecting the A terminal to 5 V and the B terminal to ground produces an output voltage at the wiper that can vary between 0 V to 5 V. Each LSB of voltage is equal to the voltage applied across the A and B terminals divided by the 2N position resolution of the potentiometer divider. Since the AD5255 can operate from dual supplies, the general equations defining the output voltage at VW with respect to ground for any given input voltages applied to the A and B terminals are as follows. For RDAC0 and RDAC1: VW (D ) = D x VAB + VB 512 (5) D x V AB + V B 128 (6) For RDAC2: VW ( D ) = Equation 5 assumes that VW is buffered; therefore, the effect of wiper resistance is nulled. Operation of the digital potentiometer in the divider mode results in more accurate operation over temperature. In this mode, the output voltage is dependent on the ratio of the internal resistors, not on the absolute value; therefore, the drift improves to 15 ppm/C. There is no voltage polarity restriction between the A, B, and W terminals as long as the terminal voltage (VTERM) stays within VSS < VTERM < VDD. Rev. A | Page 18 of 20 AD5255 APPLICATIONS The AD5255 can be used with any laser diode driver. Its high resolution, compact footprint, and superior temperature drift characteristics make it ideal for optical parameter setting. Any changes in the laser threshold current or slope efficiency are, therefore, compensated. As a result, this optical supervisory system minimizes the laser characterization efforts, enabling designers to apply comparable lasers from multiple sources. The ADN2841 is a 2.7 Gbps laser diode driver that uses a unique control algorithm to manage both the laser average power and extinction ratio after initial factory calibration. It stabilizes the laser data transmission by continuously monitoring its optical power and by correcting the variations caused by temperature and the laser degradation over time. In the ADN2841, the IMPD monitors the laser diode current. Through its dual-loop power and extinction ratio control, calibrated by the AD5255, the internal driver controls the bias current IBIAS and consequently the average power. It also regulates the modulation current, IMODP, by changing the modulation current linearly with slope efficiency. Rev. A | Page 19 of 20 VCC VCC ADN2841 AD5255 PSET SDA SCL ERSET ASET Figure 33. Optical Supervisory System 04555-0-033 LASER DIODE DRIVER (LDD) CALIBRATION AD5255 OUTLINE DIMENSIONS 7.90 7.80 7.70 24 13 4.50 4.40 4.30 6.40 BSC 1 12 PIN 1 0.65 BSC 0.15 0.05 0.30 0.19 1.20 MAX SEATING PLANE 0.20 0.09 0.75 0.60 0.45 8 0 0.10 COPLANARITY COMPLIANT TO JEDEC STANDARDS MO-153AD Figure 34. 24-Lead Thin Shrink Small Outline Package [TSSOP] (RU-24) Dimensions shown in millimeters ORDERING GUIDE Model AD5255BRU25 AD5255BRUZ25 1 AD5255BRU25-RL7 AD5255BRU250 AD5255BRUZ2501 AD5255BRU250-RL7 1 Temperature Range -40C to +85C -40C to +85C -40C to +85C -40C to +85C -40C to +85C -40C to +85C Package Description Thin Shrink Small Outline Package Thin Shrink Small Outline Package Thin Shrink Small Outline Package Thin Shrink Small Outline Package Thin Shrink Small Outline Package Thin Shrink Small Outline Package Package Option RU-24 RU-24 RU-24 RU-24 RU-24 RU-24 Ordering Quantity 62 62 1,000 62 62 1,000 RAB (k) 25 25 25 250 250 250 Z = Pb-free part. Purchase of licensed I2C components of Analog Devices or one of its sublicensed Associated Companies conveys a license for the purchaser 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. (c) 2005 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D04555-0-11/05(A) Rev. A | Page 20 of 20