Rev 0; 1/07 High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table The DS3501 is a 7-bit, nonvolatile (NV) digital potentiometer featuring an output voltage range of up to 15.5V. Programming is accomplished by an I2C-compatible interface, which can operate at speeds of up to 400kHz. External voltages are applied at the RL and RH inputs to define the lowest and highest potentiometer outputs. The DS3501 contains an on-chip temperature sensor and associated analog-to-digital converter (ADC). The ADC output addresses a 36-word NV lookup table (LUT). The LUT output can drive the pot directly or be added to an NV initial-value register (IVR) to drive the pot. This flexible LUT-based architecture allows the DS3501 to provide a temperature-compensated potentiometer output with arbitrary slope. Applications Features ♦ 128 Wiper Tap Points ♦ Full-Scale Resistance: 10kΩ ♦ On-Chip Temperature Sensor and ADC ♦ 36-Byte Lookup Table (LUT) ♦ I2C-Compatible Serial Interface ♦ Address Pins Allow Up to Four DS3501s to Share the Same I2C Bus ♦ Digital Operating Voltage: 2.7V to 5.5V ♦ Analog Operating Voltage: 4.5V to 15.5V ♦ Operating Temperature: -40°C to +100°C ♦ Pin and Software Compatible with ISL95311 (Default Mode) ♦ 10-Pin μSOP Package TFT-LCD VCOM Calibration Ordering Information Linear and Nonlinear Compensation Instrumentation and Industrial Controls PART Mechanical POT Replacement Optical Transceivers Pin Configuration and Typical Operating Circuit appear at end of data sheet. TEMP RANGE PIN-PACKAGE DS3501U+ -40°C to +100°C 10 µSOP DS3501U+T&R -40°C to +100°C 10 µSOP +Denotes a lead-free package. T&R denotes tape-and-reel. Functional Diagram RH 127 SDA VOLATILE WIPER REGISTER SCL 126 125 ∑ NV IVR DS3501 36-BYTE LUT NV MEMORY DECODER LEVEL SHIFTER 2 1 A1 A0 CONTROL CIRCUITRY AND ADDRESS DECODE TEMP SENSOR AND ADC 0 RL RW ______________________________________________ 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 DS3501 General Description DS3501 High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table ABSOLUTE MAXIMUM RATINGS Voltage Range on VCC Relative to GND ...............-0.5V to +6.0V Voltage Range on V+ Relative to GND ..................-0.5V to +17V Voltage Range on SDA, SCL, A0, A1 Relative to GND..........-0.5V to (VCC + 0.5V), not to exceed 6.0V Voltage Range on RH, RL, RW...................................-0.5V to V+ Voltage Range Across RH and RL Pins .....................-0.5V to V+ Operating Temperature Range .........................-40°C to +100°C Programming Temperature Range .........................0°C to +70°C Storage Temperature Range .............................-55°C to +125°C Soldering Temperature .......................................See IPC/JEDEC J-STD-020 Specification Maximum RW Current ...........................................................1mA 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 +100°C) PARAMETER Supply Voltage SYMBOL VCC TYP MAX UNITS (Note 1) +2.7 +5.5 V +4.5 +15.5 V VIH 0.7 x VCC VCC + 0.3 V VIL -0.3 0.3 x VCC V VRES -0.3 V+ + 0.3 V 1 mA MAX UNITS V+ Input Logic 1 (SCL, SDA, A0, A1) Input Logic 0 (SCL, SDA, A0, A1) Wiper Current MIN V+ > VCC V+ Voltage Resistor Inputs (RL, RW, RH) CONDITIONS IWIPER DC ELECTRICAL CHARACTERISTICS (VCC = +2.7V to +5.5V, TA = -40°C to +100°C, unless otherwise noted.) PARAMETER VCC Supply Current Standby Supply Current V+ Bias Current SYMBOL CONDITIONS 2 ICC2 (Note 3) 250 350 µA ISTBY (Note 4) 40 60 µA IV+ IL Low-Level Output Voltage (SDA) VOL +1 µA +1 µA 3mA sink current 0.0 0.4 V 10 pF 1.6 CI/O Power-Up Recall Voltage VPOR (Note 5) tD (Note 6) RW V+ = 15.0V End-to-End Resistance (RH to RL) 2 2.6 V 5 ms 5000 10 TA = +25°C RTOTAL Temp Co. CH, CL, CW Capacitance 5 RTOTAL RTOTAL Tolerance mA -1 I/O Capacitance Wiper Resistance TYP (Note 2) Input Leakage (SDA, SCL, A0, A1) Power-Up Memory Recall Delay MIN ICC (Note 7) CPOT _____________________________________________________________________ -20 Ω kΩ +20 % ±200 ppm 10 pF High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table (VCC = +2.7V to +5.5V, TA = -40°C to +100°C, unless otherwise noted.) PARAMETER SYMBOL CONDITIONS MIN TYP Temperature Error Update Rate (Temperature and Supply Conversion Time) MAX UNITS ±5 °C 16 tFRAME ms ANALOG VOLTAGE MONITORING CHARACTERISTICS (VCC = +2.7V to +5.5V, TA = -40°C to +100°C, unless otherwise noted.) PARAMETER Supply Resolution SYMBOL LSB CONDITIONS Input/Supply Accuracy ACC At factory setting Input Supply Offset VOS (Note 7) Update Rate (Temperature and Supply Conversion Time) MIN Full-scale voltage of 6.5536V TYP MAX 25.6 mV 0.25 1 0 5 16 tFRAME UNITS % FS (Full Scale) LSB ms VOLTAGE-DIVIDER CHARACTERISTICS (VCC = +2.7V to +5.5V, TA = -40°C to +100°C, unless otherwise noted.) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS Integral Nonlinearity INL (Note 8) -1 +1 LSB Differential Nonlinearity DNL (Note 9) -0.5 +0.5 LSB Zero-Scale Error ZSERROR V+ = 4.5V (Note 10) 0 0.5 2 LSB Full-Scale Error FSERROR V+ = 4.5V (Note 11) -2 -0.003 0 LSB Ratiometric Temp Coefficient TCV WR set to 40h ±4 ppm/°C I2C AC ELECTRICAL CHARACTERISTICS (VCC = +2.7V to +5.5V, TA = -40°C to +100°C, timing referenced to VIL(MAX) and VIH(MIN). See Figure 3.) PARAMETER SYMBOL CONDITIONS (Note 12) MIN 0 TYP MAX UNITS 400 kHz SCL Clock Frequency fSCL Bus Free Time Between STOP and START Conditions tBUF 1.3 µs Hold Time (Repeated) START Condition tHD:STA 0.6 µs Low Period of SCL tLOW 1.3 µs High Period of SCL tHIGH 0.6 µs _____________________________________________________________________ 3 DS3501 TEMPERATURE SENSOR CHARACTERISTICS DS3501 High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table I2C AC ELECTRICAL CHARACTERISTICS (continued) (VCC = +2.7V to +5.5V, TA = -40°C to +100°C, timing referenced to VIL(MAX) and VIH(MIN). See Figure 3.) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS 0.9 µs 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 13) 20 + 0.1CB 300 ns SDA and SCL Fall Time tF (Note 13) 20 + 0.1CB 300 ns STOP Setup Time tSU:STO 0.6 µs SDA and SCL Capacitive Loading CB (Note 13) EEPROM Write Time tW (Note 14) 10 Pulse-Width Suppression Time at SDA and SCL Inputs tIN (Note 15) 50 A0, A1 Setup Time tSU:A Before START 0.6 A0, A1 Hold Time tHD:A After STOP 0.6 SDA and SCL Input Buffer Hysteresis 400 pF 20 ms ns µs µs 0.05 x VCC V NONVOLATILE MEMORY CHARACTERISTICS (VCC = +2.7V to +5.5V) PARAMETER EEPROM Write Cycles SYMBOL CONDITIONS MIN TA = +70°C 50,000 TA = +25°C 200,000 TYP MAX UNITS Writes Note 1: All voltages are referenced to ground. Currents entering the IC are specified positive and currents exiting the IC are negative. Note 2: ICC is specified with the following conditions: SCL = 400kHz; SDA pulled up; and RL, RW, RH floating. Note 3: ICC is specified with the following conditions: SCL, SDA pulled up; RL, RW, RH floating; and temperature sensor on. Note 4: ISTBY is specified with SDA = SCL = VCC = 5.5V, resistor pins floating, and CR2 bit 0 = logic-high. Note 5: This is the minimum VCC voltage that causes NV memory to be recalled. Note 6: This is the time from VCC > VPOR until initial memory recall is complete. Note 7: Guaranteed by design. Note 8: Integral nonlinearity is the deviation of a measured resistor setting value from the expected values at each particular resistor setting. Expected value is calculated by connecting a straight line from the measured minimum setting to the measured maximum setting. INL = [V(RW)i - (V(RW)0] / LSB(ideal) - i, for i = 0...127. Note 9: Differential nonlinearity is the deviation of the step-size change between two LSB settings from the expected step size. The expected LSB step size is the slope of the straight line from measured minimum position to measured maximum position. DNL = [V(RW)i+1 - (V(RW)i] / LSB(ideal) - 1, for i = 0...126. Note 10: ZS error = code 0 wiper voltage divided by one LSB(ideal). Note 11: FS error = (code 127 wiper voltage - V+) divided by one LSB (ideal). Note 12: I2C interface timing shown is for fast-mode (400kHz) operation. This device is also backward-compatible with I2C standard mode timing. Note 13: CB—total capacitance of one bus line in picofarads. Note 14: EEPROM write time begins after a STOP condition occurs. Note 15: Pulses narrower than max are suppressed. 4 _____________________________________________________________________ High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table DEFAULT MODE 70 LUT MODE 170 120 DEFAULT MODE 70 V+ = 15.5V, VCC = 5V SDA = SCL = VCC; RH, RL, RW ARE FLOATING 20 -40 -20 0 20 40 60 80 20 4.1 TEMPERATURE (°C) 35 DEFAULT MODE 34 33 32 31 V+ = 15.5V, VCC = 5V SDA = SCL = VCC; RH, RL, RW ARE FLOATING 30 -40 5.5 -20 0 0.25 0 -0.25 -0.50 -0.75 60 80 100 DS3501 toc05 0.75 DIFFERENTIAL NONLINEARITY (LSB) 0.50 40 DIFFERENTIAL NONLINEARITY vs. POTENTIOMETER SETTING DS3501 toc04 0.75 20 TEMPERATURE (°C) SUPPLY VOLTAGE (V) INTEGRAL NONLINEARITY vs. POTENTIOMETER SETTING DS3501 toc03 LUT MODE V+ = 15.5V SDA = SCL = VCC; RL, RH, RW ARE FLOATING 2.7 100 36 STANDBY SUPPLY CURRENT (μA) 220 SUPPLY CURRENT (μA) 120 DS3501 toc02 DS3501 toc01 LUT MODE 170 INTEGRAL NONLINEARITY (LSB) SUPPLY CURRENT (μA) 220 STANDBY SUPPLY CURRENT vs. TEMPERATURE SUPPLY CURRENT vs. SUPPLY VOLTAGE SUPPLY CURRENT vs. TEMPERATURE 0.50 0.25 0 -0.25 -0.50 -0.75 0 16 32 48 64 80 96 112 POTENTIOMETER SETTING (DEC) 0 16 32 48 64 80 96 112 POTENTIOMETER SETTING (DEC) Pin Description NAME PIN SDA 1 DESCRIPTION I2C Serial Data. Input/output for I2C data. GND 2 Ground Terminal VCC 3 Supply Voltage Terminal A1, A0 4, 5 Address Select Inputs. Determines I2C slave address. Slave address is 01010A1A0X. (See the Slave Address Byte and Address Pins section for details). RH 6 High Terminal of Potentiometer RW 7 Wiper Terminal of Potentiometer RL 8 Low Terminal of Potentiometer V+ 9 Wiper Bias Voltage SCL 10 I2C Serial Clock. Input for I2C clock. _____________________________________________________________________ 5 DS3501 Typical Operating Characteristics (TA = +25°C, unless otherwise noted.) High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table DS3501 Block Diagrams V+ VCC RH GND POS 7Fh DS3501 SCL I2C INTERFACE SDA CONTROL LOGIC/ REGISTERS SEE BIT A0 WIPER REGISTER/ INITIAL VALUE REGISTER RW (WR/IVR) A1 00h POS 00h RL Default Mode Block Diagram (Update Mode bit = 0) VCC GND V+ DS3501 I2C INTERFACE ONLY WHEN IN LUT-ADDER MODE SDA CONTROL IVR DATA A0 LUT ADDRESS REGISTER A1 (LUTAR) TEMP SENSOR ADC VCC VOLTAGE TEMP 0Ch 36 BYTE LOOKUP TABLE (LUT) 08h LUTVAL ∑ RH ON POWER-UP CONTROL LOGIC/ REGISTERS SCL INITIAL VALUE REGISTER (IVR) 00h* RW WIPER REGISTER (WR) LUTVAL OR LUTVAL+IVR 09h* 80h-A3h VCC (V) 0Eh *NOTE THAT WHEN IN LUT OR LUT ADDER MODE, WR IS ACCESSED THROUGH 09h (UNLIKE DEFAULT MODE) WHILE IVR REMAINS AT 00h. LUT and LUT Adder Mode Block Diagram (Update Mode bit = 1) 6 POS 7Fh _____________________________________________________________________ POS 00h RL High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table The DS3501 operates in one of three operating modes: Default Mode, LUT Mode, or LUT Adder Mode. In Default Mode, the DS3501 is pin and software compatible with the ISL95311. The potentiometer’s wiper position is controlled by the Wiper Register (WR) and the NV Initial Value Register (IVR) via the I2C interface. In LUT Mode and LUT Adder Mode, the potentiometer’s wiper position is calculated/controlled as a function of the current temperature measured by the DS3501’s internal temperature sensor. The difference between the two LUT modes is the way the potentiometer wiper position is calculated. A detailed description of the three modes as well as additional features of the DS3501 follow below. Digital Potentiometer Output The potentiometer consists of 127 resistors in series connected between the RH and RL pins. Between each resistance and at the two end points, RH and RL, solidstate switches enable RW to be connected within the resistive network. The wiper position and the output on RW are decoded based on the value in WR. If RH, RL, and RW are externally connected in a voltage-divider configuration, then the voltage on RW can be easily calculated using the following equation: VRW = VRL + WR (VRH − VRL ) 127 Temperature Conversion and Supply Voltage Monitoring Temperature Conversion The DS3501 features an internal 8-bit temperature sensor that is capable of driving the LUT and providing a measurement of the ambient temperature over I2C by reading address 0Ch. The sensor is functional over the entire operating temperature range and is in signed two’s complement format with a resolution of 1°C/bit. See below for the temperature sensor’s bit weights. 26 25 24 23 22 Mode Selection The DS3501 mode of operation is determined by two bits located in Control Register 1 (CR1), which is nonvolatile. In particular, the mode is determined by the Update Mode bit (CR1.0) and the Adder Mode bit (CR1.1). Table 1 illustrates how the two control bits are used to select the operating mode. When shipped from the factory, the DS3501 is programmed with the CR1.0 bit = 0, hence configuring the DS3501 in Default Mode. Table 1. DS3501 Operating Modes UPDATE MODE BIT (CR1.0) ADDER MODE BIT (CR1.1) 0 X Default Mode (default) 1 0 LUT Mode 1 1 LUT Adder Mode MODE Default Mode where WR is the wiper position in decimal (0–127). S Supply Voltage Monitoring The DS3501 also features an internal 8-bit supply voltage (VCC) monitor. A value of the supply voltage measurement can be read over I2C at the address 0Eh. To calculate the supply voltage, simply convert the hexadecimal result into decimal and then multiply it by the LSB as shown in the Analog Voltage Monitoring Characteristics electrical table. 21 20 To calculate the temperature, treat the two’s complement binary value as an unsigned binary number, then convert it to decimal. If the result is greater than or equal to 128, subtract 256 from the result. Default Mode of the DS3501 is the simplest mode of the three. As shown in the Default Mode Block Diagram, the potentiometer is controlled by the Wiper Register/ Initial Value Register (WR/IVR). Upon power-up of the DS3501, the value stored in the NV Initial Value Register (IVR) is recalled into the volatile Wiper Register (WR). The wiper can then be changed any time after by writing the desired value to the WR/IVR Register. The WR/IVR Register is located at memory address 00h and is implemented as EEPROM shadowed SRAM. This register can be visualized as an SRAM byte (the WR portion) in parallel with a EEPROM byte (the IVR portion). The operation of the register is controlled by the Shadow EEPROM (SEE) bit, CR0.7. When the SEE bit = 0 (default), data written to memory address 00h by I2C actually gets stored in both SRAM (WR) and EEPROM (IVR). Conversely, when SEE = 1, only the SRAM (WR) is written to the new value. The EEPROM byte (IVR) continues to store the last value written to it when SEE was 0. Reading memory address 00h reads the value stored in WR. As shown in the Default Mode memory map (see Table 2), the SEE bit is volatile and its power-up default state is 0. _____________________________________________________________________ 7 DS3501 Detailed Description DS3501 High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table Table 2. Default Mode Memory Map REGISTER NAME ADDRESS (HEX) VOLATILE/NONVOLATILE FACTORY/POWER-UP DEFAULT WR/IVR Wiper Register/Initial Value 00h* NV (Shadowed) 40h CR0 Control Register 0 02h V 00h CR1 Control Register 1 03h NV (Shadowed) 00h CR2 Control Register 2 0Ah V 00h *In Default Mode, both WR and IVR are accessed through memory location 00h. Refer to the Default Mode section for additional information. Table 3. LUT Mode and LUT Adder Mode Memory Map REGISTER NAME ADDRESS (HEX) VOLATILE/NONVOLATILE FACTORY/POWER-UP DEFAULT IVR Initial Value Register 00h* NV (Shadowed) 40h CR0 Control Register 0 02h V 00h CR1 Control Register 1 03h NV (Shadowed) 00h LUTAR LUT Address Register 08h V N/A WR Wiper Register 09h* V N/A CR2 Control Register 2 0Ah V 00h TEMP Temperature Value 0Ch V (Read-Only) N/A VCC VCC Voltage Value 0Eh V (Read-Only) N/A LUT0 Wiper Value for T ≤ -37°C 80h NV 00h LUT1 Wiper Value for -36°C to -33°C 81h NV 00h LUT2 Wiper Value for -32°C to -29°C 82h NV 00h — — — — — LUT33 Wiper Value for +92°C to +95°C A1h NV 00h LUT34 Wiper Value for +96°C to +99°C A2h NV 00h LUT35 Wiper Value for T ≥ 100°C A3h NV 00h *In LUT Mode and LUT Adder Mode, the WR is accessed through memory address 09h, while IVR remains at memory address 00h. LUT Mode LUT Mode is selected by setting the Update Mode bit (CR1.0) to 1 and the Adder Mode bit (CR1.1) to 0. An overview of the DS3501 in this mode is illustrated in the LUT Mode and LUT Adder Mode Block Diagram. Also, the memory map for LUT Mode and LUT Adder Mode is shown in Table 3. The major difference between the two LUT modes is whether or not the value in the IVR is added to the values stored in the lookup table. The dashed line/arrow shown in the block diagram is not active in LUT mode. When in LUT Mode, on power-up the IVR value is recalled into the WR register. This value will remain there until completion of the first temperature conversion following power-up. The temperature is measured 8 every tFRAME. The temperature value is used to calculate an index that points to the corresponding value in the lookup table. This index is referred to as the LUT Address Register (LUTAR). The value stored in the LUT at the location pointed to by LUTAR is called LUTVAL. The Wiper Register is then automatically loaded with LUTVAL. The process then repeats itself, continuously updating the wiper setting in a closed-loop fashion. In this mode the 36-byte LUT is populated with wiper settings for each four-degree temperature window. Valid wiper settings are 00h to 7Fh. The memory map in Table 3 shows the memory address of the LUT as well as the corresponding temperature range for each byte in the LUT. Also, the LUT features one-degree hysteresis to prevent chattering if the measured temperature _____________________________________________________________________ High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table MEMORY LOCATION DECREASING TEMPERATURE LUT19 LUT Adder Mode LUT18 LUT Adder Mode is selected by setting the Update Mode bit (CR1.0) to 1 and the Adder Mode bit (CR1.1) to 1. This mode operates similar to LUT Mode with one major difference (see the LUT Mode and LUT Adder Mode Block Diagram). The Wiper Register is loaded with the sum of LUTVAL and IVR. Furthermore, in this mode, the values programmed into the LUT are signed two’s complement. This allows convenient positive or negative offsetting of the nominal IVR value. INCREASING TEMPERATURE LUT17 1°C HYSTERESIS WINDOW LUT16 24 28 32 36 40 44 TEMPERATURE (°C) Figure 1. LUT Hysteresis DS3501 Control Registers The DS3501 contains three control registers (CR0, CR1, and CR2) used to configure and control modes and features. Control Register 0 (CR0) POWER-UP DEFAULT 00h MEMORY TYPE Volatile SEE bit7 02h Reserved Reserved Reserved Reserved Reserved Reserved Reserved bit0 bit7 SEE: Controls functionality of shadowed NV registers (such as the WR/IVR register). 0 = Data written to shadowed NV memory is stored in both SRAM and EEPROM (default). 1 = Data written to shadowed NV memory is stored only in SRAM. bit6:0 Reserved Control Register 1 (CR1) FACTORY DEFAULT 00h MEMORY TYPE Shadowed Nonvolatile 03h Reserved Reserved Reserved Reserved Reserved Reserved Adder Mode Update Mode bit7 bit0 bit7:2 Reserved bit1 Adder Mode: This bit is valid only if the Update Mode bit = 1. 0 = Sets the DS3501 to LUT Mode. 1 = Sets the DS3501 to LUT Adder Mode. bit0 Update Mode: 0 = Sets the DS3501 to Default Mode. In this mode the DS3501 is compatible with the ISL95311 (default). 1 = Sets the DS3501 to one of the two LUT-based modes depending on the Adder Mode bit. _____________________________________________________________________ 9 DS3501 LUT20 falls on the boundary between two windows. As the temperature increases, the LUT changes on even temperature values (see Figure 1). Conversely, the LUT changes on odd temperature values when the temperature is decreasing. DS3501 High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table Control Register 2 (CR2) POWER-UP DEFAULT 00h MEMORY TYPE Volatile 0Ah Reserved Reserved Reserved Reserved TEN Reserved AEN Standby bit7 bit0 bit7:3 Reserved bit2 TEN: Temperature Update Enable bar. This bit is valid only in LUT Mode and LUT Adder Mode. 0 = Normal LUT operation. The WR is automatically loaded with LUTVAL+IVR or LUTVAL following each temperature conversion. 1 = Places the potentiometer in manual mode allowing WR (09h) to be written using I2C. bit1 AEN: Address Update Enable bar. This bit is valid only in LUT Mode and LUT Adder Mode. 0 = Normal LUT operation. LUTAR (08h) is calculated following each temperature conversion that points to the corresponding location in the LUT. 1 = Disables automatic updates of LUTAR. This allow the user to directly write to the LUTAR register in order to exercise LUT values and functionality. bit0 Standby: 0 = Normal operating mode. 1 = Standby Mode. Places the DS3501 in a low-power consumption state specified by ISTBY. The I2C interface is still active in this state. Standby Mode and ICC The DS3501 has three specified levels of supply current. Active current during I2C communications while in the LUT-driven mode is specified as ICC, and is the “worst-case” supply current. Active current without I2C communications while in the LUT driven mode is specified as the supply current: ICC2. SDA and SCL are held statically in the high-logic level while the DS3501 continues to function in LUT-driven mode. The third level is specified as standby mode, ISTBY. This is the lowest possible current consumption mode. Standby mode is enabled with CR2.0 = 1. All internal operations are halted including internal temperature sensor results. Consequently, WR’s position will not change, and will remain in the last state that was loaded into WR. I2C will, however, continue to function, and once CR2.0 = 0, the DS3501 will resume normal operation after the first temperature conversion cycle is complete (tFRAME). Slave Address Byte and Address Pins The slave address byte consists of a 7-bit slave address plus a R/W bit (see Figure 2). The DS3501’s slave address is determined by the state of the A0 and A1 address pins. These pins allow up to four devices to reside on the same I2C bus. Address pins tied to GND 10 LSB MSB 0 1 0 1 0 A1 A0 R/W SLAVE ADDRESS* *THE SLAVE ADDRESS IS DETERMINED BY ADDRESS PINS A0, A1. Figure 2. DS3501 Slave Address Byte result in a 0 in the corresponding bit position in the slave address. Conversely, address pins tied to VCC result in a 1 in the corresponding bit positions. For example, the DS3501’s slave address byte is 50h when A0 and A1 pins are grounded. I2C communication is described in detail in the I 2 C Serial Interface Description section. I2C Serial Interface Description I2C Definitions The following terminology is commonly used to describe I2C data transfers. (See Figure 3 and I2C AC Electrical Characteristics table for additional information.) Master device: The master device controls the slave devices on the bus. The master device generates SCL clock pulses and START and STOP conditions. ____________________________________________________________________ High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table DS3501 SDA tBUF tHD:STA tLOW tR tSP tF SCL tHD:STA STOP tSU:STA tHIGH tSU:DAT START REPEATED START tSU:STO tHD:DAT NOTE: TIMING IS REFERENCE TO VIL(MAX) AND VIH(MIN). Figure 3. I2C Timing Diagram Slave devices: Slave devices send and receive data at the master’s request. Bus idle or not busy: Time between STOP and START conditions when both SDA and SCL are inactive and in their logic-high states. 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. 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. 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. 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. 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 setup time 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. Acknowledge (ACK and NACK): An Acknowledge (ACK) or Not Acknowledge (NACK) is always the 9th bit transmitted during a byte transfer. The device receiving data (the master during a read or the slave during a write operation) performs an ACK by transmitting a 0 during the 9th bit. A device performs a NACK by transmitting a 1 during the 9th bit. Timing 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 indicates that the device is not receiving data. 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 acknowledgment from the slave to the master. The 8 bits transmitted by the master are done according to the bit write definition and the acknowledgment 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 above, 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 ter- ____________________________________________________________________ 11 DS3501 High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table minate 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 address byte sent immediately following a START condition. The slave address byte contains the slave address in the most significant 7 bits and the R/W bit in the least significant bit. The slave address byte of the DS3501 is shown in Figure 2. When the R/W bit is 0 (such as in 50h), the master is indicating it will write data to the slave. If R/W = 1 (51h in this case), the master is indicating it wants to read from the slave. If an incorrect slave address is written, the DS3501 assumes the master is communicating with another I2C device and ignores the communication until the next START condition is sent. Memory address: During an I2C write operation, the master must transmit a memory address to identify the memory location where the slave is to store the data. The memory address is always the second byte transmitted during a write operation following the slave address byte. 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 memory address, write the byte of data, and generate a STOP condition. Remember the master must read the slave’s acknowledgment during all byte write operations. When writing to the DS3501, the potentiometer will adjust to the new setting once it has acknowledged the new data that is being written, and the EEPROM (if SEE = 0) will be written following the STOP condition at the end of the write command. To change the setting without changing the EEPROM, terminate the write with a repeated START condition before the next STOP condition occurs. Using a repeated START condition prevents the tW delay required for the EEPROM write cycle to finish. Writing multiple bytes to a slave: To write multiple bytes to a slave in one transaction, the master generates a START condition, writes the slave address byte (R/W = 0), writes the memory address, writes up to 8 data bytes, and generates a STOP condition. The DS3501 is capable of writing 1 to 8 bytes (1 page or row) in a single write transaction. This is internally controlled by an address counter that allows data to be written to consecutive addresses without transmitting a memory address before each data byte is sent. The address counter limits the write to one 8-byte page (one row of the memory map). The first page begins at address 00h and subsequent pages begin at multiples 12 of 8 (08h, 10h, 18h, etc). Attempts to write to additional pages of memory without sending a STOP condition between pages results in the address counter wrapping around to the beginning of the present row. To prevent address wrapping from occurring, the master must send a STOP condition at the end of the page, then wait for the bus-free or EEPROM-write time to elapse. Then the master can generate a new START condition and write the slave address byte (R/W = 0) and the first memory address of the next memory row before continuing to write data. Acknowledge polling: Any time a EEPROM byte is written, the DS3501 requires the EEPROM write time (tW) after the STOP condition to write the contents of the byte 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 this phenomenon by repeatedly addressing the DS3501, which allows communication to continue as soon as the DS3501 is ready. The alternative to acknowledge polling is to wait for a maximum period of tW to elapse before attempting to access the device. EEPROM write cycles: The DS3501’s EEPROM write cycles are specified in the Nonvolatile Memory Characteristics table. The specification shown is at the worst-case temperature (hot) as well as at room temperature. Writing to shadowed EEPROM with SEE = 1 does not count as a EEPROM write. Reading a single byte from a slave: Unlike the write operation that uses the specified memory address byte to define where the data is to be written, the read operation occurs at the present value of the memory address counter. 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. However, since requiring the master to keep track of the memory address counter is impractical, the following method should be used to perform reads from a specified memory location. Manipulating the address counter for reads: A dummy write cycle can be used to force the address counter to a particular value. To do this the master generates a START condition, writes the slave address byte (R/W = 0), writes the memory address where it desires to read, generates a repeated START condition, writes the slave address byte (R/W = 1), reads data with ACK or NACK as applicable, and generates a STOP condition. See Figure 4 for a read example using the repeated START condition to specify the starting memory location. ____________________________________________________________________ High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table DS3501 TYPICAL I2C WRITE TRANSACTION MSB START 0 LSB 1 0 1 SLAVE ADDRESS* 0 A1 A0 R/W MSB SLAVE ACK b7 LSB b6 READ/ WRITE b5 b4 b3 b2 b1 b0 MSB SLAVE ACK b7 LSB b6 b5 b4 REGISTER ADDRESS b3 b2 b1 b0 SLAVE ACK STOP DATA *THE SLAVE ADDRESS IS DETERMINED BY ADDRESS PINS A0 AND A1. EXAMPLE I2C TRANSACTIONS (WHEN A0 AND A1 ARE CONNECTED TO GND). 50h A) SINGLE-BYTE WRITE -WRITE LUTAR REGISTER TO 00h 08h START 0 1 0 1 0 0 0 0 SLAVE 0 0 0 0 1 0 0 0 ACK 50h SLAVE 0 0 0 0 0 0 0 0 ACK 02h START 0 1 0 1 0 0 0 0 SLAVE 0 0 0 0 0 0 1 0 SLAVE ACK ACK C) SINGLE-BYTE WRITE SET TO LUT MODE START 0 1 0 1 0 0 0 0 D) TWO-BYTE WRITE - WRITE 80h AND 81h TO 00h START 0 1 0 1 0 0 0 0 E) TWO-BYTE READ - READ 80h AND 81H START 0 1 0 1 0 0 0 0 REPEATED START CR1 (03h) SLAVE ACK 00000 011 SLAVE ACK 10000 000 SLAVE ACK 10000 000 50h 0 1 0 1 0 0 0 1 SLAVE ACK DATA MASTER NACK STOP 01h SLAVE ACK 0000 0 0 0 1 SLAVE ACK 0000 0 0 0 0 SLAVE ACK REPEATED START 80h 50h STOP 51h B) SINGLE-BYTE READ -READ CR0 REGISTER 50h SLAVE ACK SLAVE ACK STOP 00h 00h SLAVE ACK 0000 0 0 0 0 0101 0 0 0 1 STOP DATA 51h 80h SLAVE ACK SLAVE ACK LUT 0 DATA MASTER ACK LUT 1 MASTER ACK STOP Figure 4. I2C Communication Examples 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 must NACK to indicate the end of the transfer and generates a STOP condition. Applications Information SDA and SCL Pullup Resistors SDA is an I/O with an open-collector output 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 used for SCL. Pullup resistor values should be chosen to ensure that the rise and fall times listed in the I2C AC Electrical Characteristics are within specification. A typical value for the pullup resistors is 4.7kΩ. Power-Supply Decoupling To achieve the best results when using the DS3501, decouple both the power-supply pin and the wiper-bias voltage pin with a 0.01µF or 0.1µF capacitor. Use a high-quality ceramic surface-mount capacitor if possible. Surface-mount components minimize lead inductance, which improves performance, and ceramic capacitors tend to have adequate high-frequency response for decoupling applications. Chip Information TRANSISTOR COUNT: 22,400 SUBSTRATE CONNECTED TO GROUND ____________________________________________________________________ 13 High-Voltage, NV, I2C POT with Temp Sensor and Lookup Table DS3501 Typical Operating Circuit R1 B1 G1 GATE 1 TFT CLCD CSTOR GATE 2 GATE 3 VCOM 2.7V 15.0V VCC V+ SDA I2C RH RW SCL DS3501 A0 A1 RL GND Pin Configuration Package Information For the latest package outline information, go to www.maxim-ic.com/DallasPackInfo. TOP VIEW SDA 1 10 SCL GND 2 9 V+ VCC 3 8 RL A1 4 7 RW A0 5 6 RH DS3501 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. 14 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 © 2007 Maxim Integrated Products is a registered trademark of Maxim Integrated Products, Inc. is a registered trademark of Dallas Semiconductor Corporation. Heaney