MAXIM DS1841T+

Rev 0; 11/07
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
The DS1841 is a 7-bit, logarithmic, nonvolatile (NV) digital resistor that features an on-chip temperature sensor
and associated analog-to-digital converter (ADC). The
integrated temperature sensor indexes a 72-byte NV
lookup table (LUT) encompassing a temperature range
from -40°C to +100°C. The LUT output can drive the
resistor directly or be added to an NV initial-value register (IVR) to drive the resistor. This flexible LUT-based
architecture allows the DS1841 to provide a temperature-compensated resistor output with arbitrary slope.
Programming is accomplished by an I2C-compatible
interface, which can operate at speeds of up to 400kHz.
Features
♦ 22kΩ to 3.7kΩ Adjustable Logarithmic Resistor
with a 3.6kΩ Fixed Resistor
♦ 128 Wiper Tap Points
♦ On-Chip Temperature Sensor and ADC
♦ 72-Byte Lookup Table (LUT)
♦ I2C-Compatible Serial Interface
♦ Address Pins Allow Up to Four DS1841s to Share
the Same I2C Bus
♦ Digital Supply of 2.7V to 5.5V
♦ -40°C to +100°C Operating Range
♦ 3mm x 3mm, 10-Pin TDFN Package
Applications
Optical Transceivers
Ordering Information
Linear and Nonlinear Compensation
PART
Instrumentation and Industrial Controls
Mechanical Potentiometer Replacement
TEMP RANGE
PIN-PACKAGE
DS1841T+
-40°C to +100°C
10 TDFN
DS1841T+T&R
-40°C to +100°C
10 TDFN
+Denotes a lead-free package.
T&R = Tape and reel.
Registers and Modes are capitalized for clarity.
Pin Configuration
Typical Operating Circuit
TOP VIEW
3.3V
4.7kΩ
4.7kΩ
SCL
N.C.
RH
10
9
8
RW RGND
7
6
VAPD
VOUT
VCC
SDA
SCL
0.1μF
GND
DC-DC
CONVERTER
DS1841
FB
DS1841
A1
A0
APD BIAS CONTROL APPLICATION
*EP
RH
RW
1
2
3
4
5
SDA
GND
VCC
A1
A0
100pF
RGND
TDFN
3.0mm × 3.0mm × 0.8mm
*EXPOSED PAD
________________________________________________________________ Maxim Integrated Products
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642,
or visit Maxim’s website at www.maxim-ic.com.
1
DS1841
General Description
DS1841
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
ABSOLUTE MAXIMUM RATINGS
Voltage Range on SDA, SCL, and
VCC Relative to GND .........................................-0.5V to +6.0V
Voltage Range on RH, RW, A0, and
A1 Relative to GND ................................-0.5V to (VCC + 0.5V)
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
RW Current............................................................................3mA
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
SYMBOL
MAX
UNITS
+2.7
+5.5
V
VIH
0.7 x
VCC
VCC
+ 0.3
V
VIL
-0.3
0.3 x
VCC
V
VRES
-0.3
VCC
+ 0.5
V
2
mA
MAX
UNITS
+1
μA
350
μA
0.4
V
10
pF
Supply Voltage
VCC
Input Logic 1
(SCL, SDA, A0, A1)
Input Logic 0
(SCL, SDA, A0, A1)
Resistor Inputs (RW, RH)
Wiper Current
CONDITIONS
(Note 1)
MIN
TYP
IWIPER
DC ELECTRICAL CHARACTERISTICS
(VCC = +2.7V to +5.5V, TA = -40°C to +100°C, unless otherwise noted.)
PARAMETER
SYMBOL
CONDITIONS
Input Leakage
(SDA, SCL, A0, A1)
IL
VCC Supply Current
ICC2
(Note 2)
Low-Level Output Voltage (SDA)
VOL
3mA sink current
CI/O
Power-On Recall Voltage
VPOR
(Note 3)
Power-Up Recall Delay
tD
(Note 4)
Series Resistance
RS
RMIN
End-to-End Resistance
(GND to RW)
RTOTAL
RTOTAL Tolerance
Temp Coefficient
RH, RW Capacitance
2
TCV
0
5
1.6
(Note 5)
TA = +25°C
CPOT
TYP
-1
I/O Capacitance
Minimum Resistance
(GND to RW)
MIN
WR set to 40h
2.6
V
5
ms
3.6
k
370
22
k
-20
+20
%
±250
ppm/°C
10
pF
_______________________________________________________________________________________
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
(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)
tFRAME
MAX
UNITS
±5
°C
16
ms
ANALOG VOLTAGE MONITORING CHARACTERISTICS
(VCC = +2.7V to +5.5V, TA = -40°C to +100°C, unless otherwise noted.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
Supply Resolution
LSB
Full-scale voltage of 6.5536V
25.6
Input/Supply Accuracy
ACC
At factory setting
0.25
Update Rate (Temperature and
Supply Conversion Time)
MAX
mV
1.0
16
tFRAME
UNITS
% FS
(Full
Scale)
ms
I2C AC ELECTRICAL CHARACTERISTICS (See Figure 3)
(VCC = +2.7V to +5.5V, TA = -40°C to +100°C, timing referenced to VIL(MAX) and VIH(MIN).)
PARAMETER
SYMBOL
CONDITIONS
MAX
UNITS
400
kHz
f SCL
Bus Free Time Between STOP
and START Conditions
tBUF
1.3
μs
Hold Time (Repeated) START
Conditions
tHD:STA
0.6
μs
tLOW
1.3
μs
High Period of SCL
0
TYP
SCL Clock Frequency
Low Period of SCL
(Note 6)
MIN
tHIGH
0.6
tHD:DAT
0
Data Setup Time
t SU:DAT
100
ns
START Setup Time
t SU:STA
0.6
μs
Data Hold Time
μs
0.9
μs
SDA and SCL Rise Time
tR
(Note 7)
20 +
0.1CB
300
ns
SDA and SCL Fall Time
tF
(Note 7)
20 +
0.1CB
300
ns
STOP Setup Time
t SU:STO
SDA and SCL Capacitive
Loading
CB
0.6
(Note 7)
μs
400
pF
_______________________________________________________________________________________
3
DS1841
TEMPERATURE SENSOR CHARACTERISTICS
DS1841
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
I2C AC ELECTRICAL CHARACTERISTICS (See Figure 3) (continued)
(VCC = +2.7V to +5.5V, TA = -40°C to +100°C, timing referenced to VIL(MAX) and VIH(MIN).)
PARAMETER
SYMBOL
CONDITIONS
MIN
MAX
UNITS
10
20
ms
tW
A0, A1 Setup Time
t SU:A
Before START
0.6
μs
A0, A1 Hold Time
tHD:A
After STOP
0.6
μs
Input Capacitance on
A0, A1, SDA, or SCL
CI
Startup Time
t ST
(Note 8)
TYP
EEPROM Write Time
5
10
pF
2
ms
MAX
UNITS
NONVOLATILE MEMORY CHARACTERISTICS
(VCC = +2.7V to +5.5V)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
EEPROM Write Cycles
TA = +85°C
50,000
Writes
EEPROM Write Cycles
TA = +25°C (Note 9)
200,000
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 and SDA = VCC, RW and RH floating with Update Mode bit = 1.
Note 3: This is the minimum VCC voltage that causes NV memory to be recalled.
Note 4: This is the time from VCC > VPOR until initial memory recall is complete.
Note 5: Guaranteed by design.
Note 6: I2C interface timing shown is for Fast-Mode (400kHz) operation. This device is also backward-compatible with I2CStandard Mode timing.
Note 7: CB—total capacitance of one bus line in picofarads.
Note 8: EEPROM write time begins after a STOP condition occurs.
Note 9: Guaranteed by characterization.
4
_______________________________________________________________________________________
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
UPDATE MODE BIT = 0
100
50
LUT MODE AND LUT ADDER MODE
UPDATE MODE BIT = 1
150
UPDATE MODE BIT = 0
100
3.5
4.0
4.5
5.0
UPDATE MODE BIT = 0
100
SDA
SDA==SCL
VCC==VCC
5V
RGND,
RH, RH,
RH,RW
RWARE
AREFLOATING
FLOATING
0
0
3.0
150
SDA
SDA
= SCL
= SCL
= V=CC
VCC
= 5V
RGND,
RH, RH,
RH,RW
RWARE
AREFLOATING
FLOATING
0
5.5
-40
-20
0
20
40
60
80
0
100
200
300
TEMPERATURE (°C)
SCL FREQUENCY (kHz)
WIPER RESISTANCE (RW)
vs. SETTING
WIPER CURRENT
vs. WIPER SETTING
RW TO RGND RESISTANCE
vs. SUPPLY VOLTAGE
WIPER CURRENT (mA)
20
15
10
RGND = 0V
RW OPEN
FORCE 1.25V ON RH AND
MEASURE CURRENT
1.2
0.8
0.4
5
40
POR OCCURS
RESISTANCE AT RW (kΩ)
SDA = SCL = VCC = 5V
30
10
CONVERSIONS COMPLETE
LUT VALUE LOADED TO WR
0
25
50
75
SETTING (DEC)
100
125
IVR IS LOADED
20
VCC = 5V
VCC
SDA AND SCL REFERENCED TO 5V
0
400
DS1841 toc06
1.6
DS1841 toc04
25
0
100
SUPPLY VOLTAGE (V)
DS1841 toc05
2.5
LUT MODE AND LUT ADDER MODE
UPDATE MODE BIT = 1
50
50
SDA = SCL = VCC
VCC
RGND,
RH,RW
RWARE
AREFLOATING
FLOATING
RH, RH,
WIPER RESISTANCE (kΩ)
200
SUPPLY CURRENT (mA)
LUT MODE AND LUT ADDER MODE
UPDATE MODE BIT = 1
250
DS1841 toc02
200
SUPPLY CURRENT (mA)
200
SUPPLY CURRENT (mA)
250
DS1841 toc01
250
150
SUPPLY CURRENT
vs. SCL FREQUENCY
SUPPLY CURRENT
vs. TEMPERATURE
DS1841 toc03
SUPPLY CURRENT
vs. SUPPLY VOLTAGE
0
0
25
50
75
WIPE SETTING (DEC)
100
125
0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5
SUPPLY VOLTAGE (V)
_______________________________________________________________________________________
5
DS1841
Typical Operating Characteristics
(VCC = +2.7V to +5.5V, TA = +25°C, unless otherwise noted.)
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
DS1841
Pin Description
PIN
NAME
1
SDA
I2C Serial Data. Input/output for I2C data.
2
GND
Ground
3
VCC
Power Supply
4
A1
5
A0
Address Select Inputs. Determines I2C slave address. Device address is 01010A1 A0X (see the
Slave Address Byte and Address Pins sections for more details).
6
RGND
7
RW
Wiper Terminal
8
RH
Terminal with Fixed Resistor Added in Series with Digital Resistor
No Connection
9
N.C.
10
SCL
—
EP
FUNCTION
Low Terminal of Resistor. Must be connected to GND.
I2C Serial Clock. Input for I2C clock.
Exposed Paddle. Must be connected to ground.
Detailed Description
The DS1841 operates in one of two modes: LUT Mode
and LUT Adder Mode. In LUT Mode and LUT Adder
Mode, the resistor’s wiper position is controlled as a
function of the temperature measured by the DS1841’s
internal temperature sensor. The difference between
the two LUT modes is the way the resistor’s wiper position is calculated. Detailed descriptions of these two
modes, as well as additional features of the DS1841,
are discussed in subsequent sections.
Digital Resistor Description
The DS1841’s resistor consists of 128 resistive steps
between RW and RGND with a series resistor, R S ,
between RH and RW. The wiper position and the output
seen on RW are decoded based on the value in the
wiper register (WR). The step size of each position is
optimized to produce a linear response when used in
the feedback network of a DC-DC converter.
6
Mode Selection
The DS1841 mode of operation is determined by the
Update Mode bit (Control Register 1, address 03h, bit 0)
and the Adder Mode bit (Control Register 1, address
03h, bit 1). Table 1 illustrates how the two control bits
are used to select the operating mode. When shipped
from the factory, the DS1841 is programmed with the
Update Mode and Adder Mode bits set to 1, hence configuring the DS1841 in LUT Adder Mode. See Appendix
A for a detailed table of the control logic bit functions.
Table 1. Operating Modes
UPDATE MODE
BIT
ADDER MODE BIT
1
0
LUT Mode
1
LUT Adder Mode
(Default)
1
_______________________________________________________________________________________
MODE
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
in the IVR is added to the values stored in the LUT. The
dashed line/arrow shown in the LUT Drive Mode Block
Diagram is not active in LUT Mode. When in LUT Mode,
on power-up the IVR value is recalled into the WR. This
value remains there until completion of the first temperature conversion following power-up. The temperature
is measured every tFRAME. The temperature value is
used to calculate an index that points to the corresponding value in the LUT. This index is referred to as
the LUT Address Register (LUTAR) and is located at
address 08h. The value stored in the LUT at the location pointed to by LUTAR is called LUTVAL, and this
value is stored as the WR value (WR) at address 09h
when Update Mode bit = 1. The process then repeats
itself, continuously updating the wiper setting in a
closed-loop fashion. In this mode the 72-byte LUT is
populated with wiper settings for each two-degree temperature window. Valid wiper settings are 00h to 7Fh
(the MSB is ignored). Table 3 shows the memory
addresses of the LUT as well as the corresponding
temperature range for each byte in the LUT.
LUT Mode
LUT Mode is selected by setting the Update Mode bit
(Control Register 1, address 03h, bit 0) to a 1 and the
Adder Mode bit (Control Register 1, address 03h, bit 1)
to a 0. An overview of the DS1841 in this mode is illustrated in the LUT Mode and LUT Adder Mode Block
Diagram. The memory map for the LUT Mode and the
LUT Adder Mode is shown in Table 2. The major difference between the two LUT modes is whether the value
Table 2. LUT Mode and LUT Adder Mode Memory Map
REGISTER
NAME
ADDRESS
(HEX)
VOLATILE/NV
FACTORY/POWER-UP
DEFAULT
IVR
Initial Value Register
00h
NV (Shadowed)
00h
CR0
Control Register 0
02h
Volatile
00h
CR1
Control Register 1
03h
NV (Shadowed)
03h
LUTAR
LUT Address Register
08h
Volatile
00h
WR
LUT Value Register
09h*
Volatile
00h
CR2
Control Register 2
0Ah
Volatile
00h
TEMP
Temperature Result
0Ch
Volatile (Read Only)
N/A
VOLTAGE
Supply Voltage Result
0Eh
Volatile
N/A
LUT
Temperature Lookup
Registers
80h–C7h
NV
00h
*In LUT Mode and LUT Adder Mode, WR is accessed through memory address 09h, while IVR remains at memory address 00h.
_______________________________________________________________________________________
7
DS1841
LUT Adder Mode (Default)
LUT Adder Mode is selected by setting the Update
Mode bit to 1 and the Adder Mode bit to 1. This mode
operates similar to LUT Mode with one major difference
(see the LUT Mode and LUT Adder Mode Block
Diagram). The WR is loaded with the sum of the values
of LUTVAL (the value pointed to by the address stored
in LUTAR) 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. WR resistance values clamp at 00h and 7Fh (the MSB is ignored).
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
DS1841
LUT Mode and LUT Adder Mode Block Diagram (Update Mode Bit = 1)
VCC
A0
CONTROL
I 2C
INTERFACE
DATA
A1
TEMP
SENSOR
TEMP
0Ch
ADC
VCC
VOLTAGE
VCC (V)
0Eh
LUT
ADDRESS
REGISTER
72-BYTE
LOOKUP
TABLE
(LUTAR)
(LUT)
08h
80h–C7h
WIPER
REGISTER
LUTVAL
∑
LUTVAL
OR
LUTVAL+IVR
(WR)
09h*
RGND
POS 7Fh
1 OF 128 MULTIPLEXERS
SCL
SDA
INITIAL VALUE REGISTER (IVR)
00h*
ON POWER-UP
CONTROL
LOGIC/
REGISTERS
IVR
ONLY WHEN IN
LUT ADDER MODE
GND
POS 00h
RS
RW
RH
*NOTE THAT WHEN IN LUT OR LUT ADDER MODE, WR IS ACCESSED THROUGH 09h WHILE IVR REMAINS AT 00h.
LUT
The DS1841 monitors the internal temperature by
repeatedly polling the sensor’s result with update rate
tFRAME. During each cycle, the DS1841 reads the internal temperature, and, based on that temperature,
points to the corresponding LUT address. Every two
degrees of temperature will convert into one temperature address slot. See Table 3 for a list of temperatures
and their corresponding LUT addresses.
The LUT features one-degree hysteresis to prevent
chattering if the measured temperature falls on the
boundary between two windows (see Figure 1).
Temperature Conversion and Supply
Voltage Monitoring
Temperature Conversion
The DS1841 features an internal 8-bit temperature sensor that can drive the LUT and provide a measurement
of the ambient temperature over I2C by reading the
value stored in address 0Ch. The sensor is functional
over the entire operating temperature range and is
stored in signed two’s complement format with a resolution of 1°C/bit. See Table 2, Register 0Ch description for
the temperature sensor’s bit weights. 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.
Table 3. LUT Registers and Temperature Ranges
TEMPERATURE VALUE FOR GIVEN
TEMPERATURE (HEX)
CORRESPONDING LUT ADDRESS
(HEX)
-40 or less
D8
80
-39 to -38
D9 to DA
81
-37 to -36
DB to DC
82
-35 to -34
DD to DE
83
—
—
—
+95 to +96
5F to 60
C4
+97 to +98
61 to 62
C5
+99 to +100
63 to 64
C6
+101 or more
65
C7
TEMPERATURE (°C)
8
_______________________________________________________________________________________
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
DECREASING
TEMPERATURE
MEMORY LOCATION
LUT34
LUT33
LUT32
INCREASING
TEMPERATURE
LUT31
LUT30
1°C HYSTERESIS
WINDOW
19
21
23
25
19
27
TEMPERATURE (°C)
Figure 1. LUT Hysteresis
Supply Current (ICC)
The DS1841 has two supply current levels of power supply consumption. First, active current during I2C communications while in the LUT-Driven Mode is the “worst
case” supply current, ICC. All functionality including I2C
communication is operating simultaneously. Second,
active current without I2C while in the LUT-Driven Mode
is quantified by the supply current, ICC2. SDA and SCL
are held statically in the high logic level.
Slave Address Byte and Address Pins
LSB
MSB
0
1
0
1
0
SLAVE ADDRESS*
A1
A0
R/W
READ/WRITE BIT
*THE SLAVE ADDRESS IS DETERMINED BY ADDRESS PINS A0, A1.
Figure 2. Slave Address Byte
The slave address byte consists of a 7-bit slave
address plus a R/W bit (see Figure 2). The DS1841’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
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 DS1841’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.
_______________________________________________________________________________________
9
DS1841
Supply Voltage Monitoring
The DS1841 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.
DS1841
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
Memory Description
The DS1841’s internal memory consists of both volatile
and NV registers that are organized into eight byte
rows. Three control registers as well as specialized
data registers are used to control the wiper and drive
the LUT.
Register Descriptions
Register 00h: Initial Value Register (IVR)
FACTORY DEFAULT (IVR)
MEMORY TYPE
MEMORY TYPE
00h
NV
Volatile
00h
IVR
Bit 7
Bit 0
If SEE bit = 0, an I2C READ retrieves the IVR value and an I2C WRITE sets the wiper position in volatile memory and
updates IVR in NV memory with this new value. If SEE bit = 1, an I2C READ retrieves the WR value and an I2C WRITE
sets the wiper position (volatile) and the IVR value is not modified. During power-up, IVR’s value is used to set the wiper
position.
Register 02h: Control Register 0 (CR0)
FACTORY DEFAULT
MEMORY TYPE
SEE
02h
Reserved
00h
Volatile
Reserved
Reserved
Reserved
Reserved
Reserved
Bit 7
Bit 7
Bits 6 to 0
Reserved
Bit 0
SEE Controls IVR and WR functionality, as well as the memory type for Control Register 1.
0 = (Default) Issuing an I2C READ of the value in address 00h retrieves the IVR value. Issuing an I2C
WRITE to address 00h sets both the wiper’s position (volatile) and the IVR value (nonvolatile) to the
same value. Writes to Control Register 1 (03h) are stored in shadowed SRAM and EEPROM.
1 = Issuing an I2C READ of the value in address 00h retrieves the WR value. Issuing an I2C WRITE to
address 00h only sets the wiper’s position (volatile). The IVR value is not modified. Writes to Control
Register 1 (03h) are stored in shadowed SRAM only.
Reserved.
Control Register 0 determines how the wiper position values (volatile and NV versions) are set, as well as how writes to
Control Register 1 are stored.
The IVR 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 an EEPROM byte (the IVR portion). The operation of the
register is controlled by the Shadow EEPROM (SEE) bit in Control Register 0, address 02h, bit 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). 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. The SEE bit is volatile and its
power-up default state is 0.
10
______________________________________________________________________________________
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
FACTORY DEFAULT
MEMORY TYPE
03h
Reserved
Bit 7
Bits 7 to 2
Bit 1
Bit 0
Reserved
00h
Shadowed NV
Reserved
Reserved
Reserved
Reserved
Adder Mode
Update Mode
Bit 0
Reserved.
Adder Mode This bit is valid only if the Update Mode bit = 1.
0 = (Default) The LUTVAL or IVR value is directly loaded to WR though the mux.
1 = The LUTVAL is summed with the IVR value and is directly loaded to WR though the mux.
Update Mode
0 = (Default) CR0 is enabled. During power-up the IVR value is loaded into the WR to set the wiper
position. Updates to Temperature Result (0Ch) and Supply Voltage Result (0Eh) are halted.
1 = The WR is controlled directly by I2C communication though registers 08h or 09h, or the WR is
controlled by the temperature-compensation/LUT circuitry. If temperature compensation is enabled, one
of the 72 temperature slots is selected (by the LUTAR) and this slot value is copied into the LUTVAL,
which in turn sets the WR. Updates to Temperature Result (0Ch) and Supply Voltage Result (0Eh) are
enabled.
Control Register 1 controls how the wiper position is determined. The SEE bit controls whether the values of this register
are stored in EEPROM or in Shadowed SRAM. On power-up, the EEPROM value is recalled to this register, regardless of
the state of SEE.
While the registers other than 00h through 0Ah can be read, they are not updated by the ADC as the ADC is disabled
with the Update Mode bit = 0.
Register 08h: LUT Address Register (LUTAR)
FACTORY DEFAULT
POR DEFAULT
MEMORY TYPE
00h
00h until tFRAME
Volatile
08h
LUTAR
Bit 7
Bit 0
The LUTAR register serves as the index pointer to choose the corresponding temperature slot in the LUT based on the
internal temperature sensor result. The LUTAR can be directly read by acessing address 08h; however, to write an new
value to LUTAR (to control WR manually), the LUTAR Mode bit must be set to a 1.
Register 09h: LUT Value Register (WR*)
FACTORY DEFAULT
MEMORY TYPE
09h
00h
Volatile
WR*
Bit 7
Bit 0
WR serves as an intermediate location, which is populated automatically with the results of the temperature-indexed
lookup. The WR can be directly read by acessing address 09h; however to write an new value to WR (to control it
manually), the wiper access control bit must be set to a 1. WR is an unsigned 7-bit value.
*WR is updated every tFRAME if Update Mode bit = 1. If Update Mode bit = 0, WR holds the value stored in register 00h.
______________________________________________________________________________________
11
DS1841
Register 03h: Control Register 1 (CR1)
DS1841
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
Register 0Ah: Control Register 2 (CR2)
FACTORY DEFAULT
MEMORY TYPE
0Ah
Reserved
00h
Volatile
Reserved
Reserved
Reserved
Reserved
Wiper
Access
Control
LUTAR Mode
Reserved
Bit 7
Bits 7 to 3
Bit 2
Bit 1
Bit 0
Bit 0
Reserved.
Wiper Access Control This bit is valid only in LUT Mode and in LUT Adder Mode.
0 = (Default) WR is loaded with the value from IVR summed with LUTVAL, or just the value of LUTVAL
based on the state of the Adder Mode bit.
1 = The DS1841 is placed in a manual mode, allowing WR (address 09h) to be programmed using I2C
commands.
LUTAR Mode This bit is valid only in LUT Mode and in LUT Adder Mode.
0 = (Default) The LUTAR value, located in at address 08h, is calculated following each temperature
conversion that points to the corresponding location in the LUT.
1 = Automatic updates of LUTAR are disabled, allowing the LUTAR register to be programmed using I2C
commands.
Reserved. This bit must be set to a 0.
Control Register 2 controls how the wiper position is determined.
Register 0Ch: Temperature Result (TEMP)
FACTORY DEFAULT
MEMORY TYPE
0Ch
Sign
Bit 7
None
Volatile
26
25
24
23
22
21
20
Bit 0
This register holds the current temperature result. It is updated every conversion time, tFRAME. 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. This register is only updated when the Update Mode
bit = 1. When the Update Mode bit = 0, no ADC updates are made to this register.
Register 0Eh: Supply Voltage Result (VOLTAGE)
FACTORY DEFAULT
MEMORY TYPE
0Eh
None
Volatile
Supply Voltage
Bit 7
Bit 0
This register holds the current supply voltage result. It is updated every conversion time, tFRAME. See the Supply Voltage
Monitoring section. This register is only updated when the Update Mode bit = 1. When the Update Mode bit = 0, no ADC
updates are made to this register.
12
______________________________________________________________________________________
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
FACTORY DEFAULT
MEMORY TYPE
80h
to
C7h
DS1841
Registers 80h to C7h: Temperature Lookup Register (LUT)
00h
NV
(See Table 3 for settings.)
Bit 7
Bit 0
These registers at location 80h to C7h are NV and serve to temperature compensate RW over the operating temperature
range of the DS1841.
The LUT entries are unsigned 8-bit values if the Adder Mode bit = 0. If the Adder Mode bit = 1, LUT entries are two’s
complement, signed 7-bit values.
I2C Serial Interface Description
I2C Definitions
The following terminology is commonly used to describe
I2C data transfers. (See Figure 3 and I2C AC Electrical
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.
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.
______________________________________________________________________________________
13
DS1841
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
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
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 returns 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 DS1841’s slave address is determined by the state
of the A0 and A1 address pins as shown in Figure 2.
Address pins tied to GND result in a 0 in the corresponding bit position in the slave address. Conversely,
address pins tied to V CC result in a 1 in the corresponding bit positions.
When the R/W bit is 0 (such as in 50h), the master is
indicating that it will write data to the slave. If R/W = 1
(51h in this case), the master is indicating that it wants
to read from the slave.
14
If an incorrect slave address is written, the DS1841
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 DS1841, the potentiometer adjusts to
the new setting once it has acknowledged the new data
that is being written, and the EEPROM is 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.
______________________________________________________________________________________
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
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.
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. During a
single read sequence of multiple bytes, after the last
address counter position of FFh is accessed, the
address counter automatically wraps back to the first
location, 00h. Read operations can continue indefinitely.
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 condi-
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
02h
A) SINGLE-BYTE WRITE
-WRITE CONTROL
REGISTER 0 TO 00h
START 0 1 0 1 0 0 0 0 SLAVE 0 0 0 0 0 0 1 0
ACK
B) SINGLE-BYTE READ
-READ TEMPERATURE
REGISTER
START 0 1 0 1 0 0 0 0 SLAVE 0 0 0 0 1 1 0 0 SLAVE
ACK
ACK
50h
0Ch
50h
C) TWO-BYTE WRITE
- WRITE LUT VALUES FOR
REGISTERS 80h AND 81h
START 0 1 0 1 0 0 0 0
10000 000
START 0 1 0 1 0 0 0 0
SLAVE
ACK
10000 000
SLAVE
ACK
STOP
51h
80h
SLAVE
ACK
50h
D) TWO-BYTE READ
- READ LUT REGISTERS
80h AND 81h
SLAVE 0 0 0 0 0 0 0 0
ACK
REPEATED
START
DATA
0 1 0 1 0 0 0 1 SLAVE
ACK
0100 0 0 0 0
SLAVE
ACK
REPEATED
START
SLAVE
ACK
0101 0 0 0 0
0101 0 0 0 1
SLAVE
ACK
STOP
STOP
DATA
51h
80h
MASTER
NACK
50h
40h
SLAVE
ACK
TEMP
SLAVE
ACK
REG80h
DATA
MASTER
ACK
REG81h
MASTER
ACK
STOP
Figure 4. I2C Communication Examples
______________________________________________________________________________________
15
DS1841
Writing multiple bytes to a slave: I2C write operations
of multiple bytes can also be performed. During a single write sequence, up to 8 bytes in one page can be
written at one time. If more than eight bytes are transmitted in the sequence, then only the last eight transmitted bytes are stored. After the last physical memory
location in a particular page (8-byte page write), the
address counter automatically wraps back to the first
location in the same page for subsequent byte write
operations.
Acknowledge polling: Any time a EEPROM byte is
written, the DS1841 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 does not acknowledge its slave address
because it is busy. It is possible to take advantage of
this phenomenon by repeatedly addressing the
DS1841, which allows communication to continue as
soon as the DS1841 is ready. The alternative to
acknowledge polling is to wait for a maximum period of
tW to elapse before attempting to access the device.
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
DS1841
Temperature-Controlled, NV, I2C,
Logarithmic Resistor
tion, 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 I2C Communication
Examples.
tance, which improves performance, and ceramic
capacitors tend to have adequate high-frequency
response for decoupling applications.
Applications Information
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 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 DS1841,
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 induc-
SDA and SCL Pullup Resistors
Appendix A: Control Bits Logic Table
LUTAR
MODE BIT
WIPER
ACCESS
CONTROL
BIT
ADDER
MODE BIT
UPDATE
MODE BIT
CONTROL OF WR AND REGISTER FUNCTIONALITY
X
X
X
0
IVR is loaded to WR on power-up. Subsequent writes to 00h set the value
of WR.
0
0
0
1
Temperature conversion references the LUT, determining LUTAR value,
the LUTAR determines the LUTVAL value, the unsigned LUTVAL value
is then automatically loaded into WR.
0
0
1
1
Temperature conversion references the LUT, determining LUTAR value,
the LUTAR sets the LUTVAL value, the signed LUTVAL value is then
summed with IVR, and the result is loaded into WR.
X
1
0
1
I2C Write (to 09h): The unsigned value written to WR, register 09h, is
loaded into WR.
X
1
1
1
I2C Write (to 09h): The signed value of LUTVAL is summed with IVR, then
loaded into WR, register 09h.
1
0
0
1
I2C Write (to 08h): LUTAR references LUT address, value at LUT address
location is loaded into LUTVAL, the unsigned LUTVAL value is loaded
into WR.
1
0
1
1
I2C Write (to 08h): LUTAR references LUT address, the signed value at
LUT address location is loaded into LUTVAL, the signed LUTVAL value
is summed with IVR value, and the result is loaded into WR.
Package Information
(For the latest package outline information, go to
www.maxim-ic.com/DallasPackInfo.)
PACKAGE TYPE
DOCUMENT NO.
10 TDFN
21-0137
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
© 2007 Maxim Integrated Products
is a registered trademark of Maxim Integrated Products, Inc.