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.
General Description
The DS1859 dual, temperature-controlled, nonvolatile
(NV) variable resistors with three monitors consists of
two 50kΩ or two 20kΩ, 256-position, linear, variable
resistors; three analog monitor inputs (MON1, MON2,
MON3); and a direct-to-digital temperature sensor. The
device provides an ideal method for setting and temperature-compensating bias voltages and currents in
control applications using minimal circuitry. The variable resistor settings are stored in EEPROM memory
and can be accessed over the 2-wire serial bus.
Applications
Optical Transceivers
Optical Transponders
Instrumentation and Industrial Controls
RF Power Amps
Diagnostic Monitoring
Features
♦ SFF-8472 Compatible
♦ Five Monitored Channels (Temperature, V
CC
,
MON1, MON2, MON3)
♦ Three External Analog Inputs (MON1, MON2, MON3)
That Support Internal and External Calibration
♦ Scalable Dynamic Range for External Analog Inputs
♦ Internal Direct-to-Digital Temperature Sensor
♦ Alarm and Warning Flags for All Monitored
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.
Voltage Range on VCCRelative to Ground ...........-0.5V to +6.0V
Voltage Range on Inputs Relative
to Ground* ................................................-0.5V to V
CC
+ 0.5V
Voltage Range on Resistor Inputs Relative
to Ground* ................................................-0.5V to V
CC
+ 0.5V
Current into Resistors............................................................5mA
Operating Temperature Range ...........................-40°C to +95°C
Programming Temperature Range .........................0°C to +70°C
Storage Temperature Range .............................-55°C to +125°C
Soldering Temperature .......................................See IPC/JEDEC
J-STD-020A
RECOMMENDED DC OPERATING CONDITIONS
(TA= -40°C to +95°C, unless otherwise noted.)
DC ELECTRICAL CHARACTERISTICS
(VCC= 2.97V to 5.5V, TA= -40°C to +95°C, unless otherwise noted.)
(VCC= 2.97V to 5.5V, TA= -40°C to +95°C, unless otherwise noted. See Figure 6.)
Note 1: All voltages are referenced to ground.
Note 2: I/O pins of fast-mode devices must not obstruct the SDA and SCL lines if V
CC
is switched off.
Note 3: SDA and SCL are connected to V
CC
and all other input signals are connected to well-defined logic levels.
Note 4: Full Scale is user programmable. The maximum voltage that the MON inputs read is approximately Full Scale, even if the volt-
age on the inputs is greater than Full Scale.
Note 5: This voltage defines the maximum range of the analog-to-digital converter voltage, not the maximum V
CC
voltage.
Note 6: Absolute linearity is the difference of measured value from expected value at DAC position. The expected value is a
straight line from measured minimum position to measured maximum position.
Note 7: Relative linearity is the deviation of an LSB DAC setting change vs. the expected LSB change. The expected LSB change
is the slope of the straight line from measured minimum position to measured maximum position.
Note 8: See the Typical Operating Characteristics.
Note 9: A fast-mode device can be used in a standard-mode system, but the requirement t
SU:DAT
> 250ns must then be met. This
is automatically the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the
LOW period of the SCL signal, it must output the next data bit to the SDA line t
The user can read the registers that monitor the VCC,
MON1, MON2, MON3, and temperature analog signals.
After each signal conversion, a corresponding bit is set
that can be monitored to verify that a conversion has
occurred. The signals also have alarm and warning flags
that notify the user when the signals go above or below
the user-defined value. Interrupts can also be set for
each signal.
The position values of each resistor can be independently programmed. The user can assign a unique
value to each resistor for every 2°C increment over the
-40°C to +102°C range.
Two buffers are provided to convert logic-level inputs
into open-drain outputs. Typically, these buffers are
used to implement transmit (Tx) fault and loss-of-signal
(LOS) functionality. Additionally, OUT1 can be asserted
in the event that one or more of the monitored values
go beyond user-defined limits.
Pin Description
PINBALLNAMEFUNCTION
1B2SDA2-Wire Serial Data I/O Pin. Transfers serial data to and from the device.
2A2SCL2-Wire Serial Clock Input. Clocks data into and out of the device.
3C3OUT1Open-Drain Buffer Output
4A1IN1TTL/CMOS-Compatible Input to Buffer
5B1OUT2Open-Drain Buffer Output
6C2IN2TTL/CMOS-Compatible Input to Buffer
7C1WPEN
8D1GNDGround
9D3MON1External Analog Input
10D4MON2External Analog Input
11C4MON3External Analog Input
12D2L0
13B3H0
14B4L1Low-End Resistor 1 Terminal
15A4H1High-End Resistor 1 Terminal
16A3V
Write Protect Enable. The device is not write protected if WPEN is connected to ground. This pin has
an internal pullup (R
Low-End Resistor 0 Terminal. It is not required that the low-end terminals be connected to a potential
less than the high-end terminals of the corresponding resistor. Voltage applied to any of the resistor
terminals cannot exceed the power-supply voltage, V
High-End Resistor 0 Terminal. It is not required that the high-end terminals be connected to a
potential greater than the low-end terminals of the corresponding resistor. Voltage applied to any of
the resistor terminals cannot exceed the power-supply voltage, V
Each signal (VCC, MON1, MON2, MON3, and temperature) is available as a 16-bit value with 12-bit accuracy
(left-justified) over the serial bus. See Table 1 for signal
scales and Table 2 for signal format. The four LSBs
should be masked when calculating the value.
For the 20kΩ version, the 3 LSBs are internally masked
with 0s.
The signals are updated every frame rate (t
frame
) in a
round-robin fashion.
The comparison of all five signals with the high and low
user-defined values are done automatically. The corresponding flags are set to 1 within a specified time of
the occurrence of an out-of-limit condition.
Calculating Signal Values
The LSB = 100µV for VCC, and the LSB = 38.147µV for
the MON signals when using factory default settings.
To calculate VCC, convert the unsigned 16-bit value to
decimal and multiply by 100µV.
To calculate MON1, MON2, or MON3, convert the
unsigned 16-bit value to decimal and multiply by
38.147µV.
To calculate the temperature, treat the two’s complement value binary number as an unsigned binary number, then convert to decimal and divide by 256. If the
result is greater than or equal to 128, subtract 256 from
the result.
Temperature: high byte: -128°C to +127°C signed; low
byte: 1/256°C.
Table 1. Scales for Monitor Channels at
Factory Setting
Table 2. Signal Comparison
Table 3. Look-up Table Address for
Corresponding Temperature Values
The value of each variable resistor is determined by
a temperature-addressed look-up table, which can
assign a unique value (00h to FFh) to each resistor for
every 2°C increment over the -40°C to +102°C range
(see Table 3). See the Temperature Conversion section
for more information.
The variable resistors can also be used in manual
mode. If the TEN bit equals 0, the resistors are in manual mode and the temperature indexing is disabled. The
user sets the resistors in manual mode by writing to
addresses 82h and 83h in Table 01 to control resistors
0 and 1, respectively.
Memory Description
Main and auxiliary memories can be accessed by two
separate device addresses. The Main Device address
is A2h (or value in Table 01 byte 8Ch, when ADFIX = 1)
and the Auxiliary Device address is A0h. A user option
is provided to respond to one or two device addresses.
This feature can be used to save component count in
SFF applications (Main Device address can be used)
or other applications where both GBIC (Auxiliary
Device address can be used) and monitoring functions
are implemented and two device addresses are needed. The memory blocks are enabled with the corresponding device address. Memory space from 80h and
Table 4. ADEN Address Configuration
Table 5. ADEN and ADFIX Bits
Figure 2. Memory Organization, ADEN = 0
ADEN
(ADDRESS
ENABLE)
02See Figure 2
11 (Main Device only)See Figure 3
NO. OF SEPARATE
DEVICE
ADDRESSES
MAIN DEVICE ENABLE
AUXILIARY DEVICE ENABLE
DEC
95
96
127
128
143
199
ADDITIONAL
INFORMATION
0
0
AUXILIARY
DEVICE
EN
0
60h
7Fh7Fh
TABLE SELECT
MAIN
DEVICE
DECODER
EN
TABLE
SEL
RESERVED
AUXILIARY
ADDRESS
C7h
FFh
5Fh
ADENADFIX
00A0hA2h
01A0h
10N/AA2h
11N/A
EN
EN
EN
80h
MON LOOK-UP
TABLE CONTROL
SEL
80h
R0 LOOK-UP
8Fh
F0h
80h
R1 LOOK-UP
F0h
RESERVED
EN
TABLE
SEL
MAIN ADDRESS
EEPROM
(Table 01, 8Ch)
EEPROM
(Table 01, 8Ch)
TABLE 03TABLE 02TABLE 01
C7h
FFh
MEMORY PARTITION WITH ADEN BIT = 0
Page 12
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
above is accessible only through the Main Device
address. This memory is organized as three tables. The
desired table can be selected by the contents of memory location 7Fh, Main Device. The Auxiliary Device
address has no access to the tables, but the Auxiliary
Device address can be mapped into the Main Device’s
memory space as a fourth table. Device addresses are
programmable with two control bits in EEPROM.
ADEN configures memory access to respond to different device addresses (see Tables 4 and 5).
The default device address for EEPROM-generated
addresses is A2h.
If the ADEN bit is 1, additional 128 bytes of EEPROM
are accessible through the Main Device, selected as
Table 00 (see Figure 3). In this configuration, the
Auxiliary Device is not accessible. APEN controls the
protection of Table 00 regardless of ADEN’s setting.
ADFIX (address fixed) determines whether the Main
Device address is determined by an EEPROM byte
(Table 01, byte 8Ch, when ADFIX = 1). There can be
up to 128 devices sharing a common 2-wire bus, with
each device having its own unique device address.
Note: SRAM defaults are power-on defaults. EEPROM defaults are factory defaults.
Register Map
A description of the registers is below. The registers
are read only (R) or read/write (R/W). The R/W registers
are writable only if write protect has not been asserted
(see the Memory Description section).
Bytes designated as "Reserved" have been set aside
for added functionality in future revisions of this device.
MEMORY LOCATION
(hex)
00 to 7FEEPROMR/W00Standards Data—
EEPROM/SRAMR/W
DEFAULT SETTING
(hex)
MEMORY
LOCATION
(hex)
00 to 01EEPROMR/W00TMPlimhi (MSB to LSB)
02 to 03EEPROMR/W00TMPlimlo (MSB to LSB)
04 to 05EEPROMR/W00TMPwrnhi (MSB to LSB)
EEPROM/
SRAM
R/W
DEFAULT
SETTING
(hex)
NAME OF LOCATIONFUNCTION
NAME OF LOCATIONFUNCTION
Contains upper limit settings for temperature.
If the limit is violated, an alarm flag in Main
Device byte 70h is set.
Contains lower limit settings for temperature. If
the limit is violated, an alarm flag in Main
Device byte 70h is set.
Contains upper limit settings for temperature.
If the limit is violated, a warning flag in Main
Device byte 74h is set.
06 to 07EEPROMR/W00TMPwrnlo (MSB to LSB)
08 to 09EEPROMR/W00VCClimhi (MSB to LSB)
0A to 0BEEPROMR/W00VCClimlo (MSB to LSB)
0C to 0DEEPROMR/W00VCCwrnhi (MSB to LSB)
0E to 0FEEPROMR/W00VCCwrnlo (MSB to LSB)
10 to 11EEPROMR/W00MON1limhi (MSB to LSB)
Contains lower limit settings for temperature. If
the limit is violated, a warning flag in Main
Device byte 74h is set.
Contains upper limit settings for V
limit is violated, an alarm flag in Main Device
byte 70h is set.
Contains lower limit settings for V
limit is violated, an alarm flag in Main Device
byte 70h is set.
Contains upper limit settings for V
limit is violated, a warning flag in Main Device
byte 74h is set.
Contains lower limit settings for V
limit is violated, a warning flag in Main Device
byte 74h is set.
Contains upper limit settings for MON1. If the
limit is violated, an alarm flag in Main Device
byte 70h is set.
CC
CC
CC
CC
. If the
. If the
. If the
. If the
Page 14
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
Contains lower limit settings for MON1. If the
limit is violated, an alarm flag in Main Device
byte 70h is set.
14 to 15EEPROMR/W00
16 to 17EEPROMR/W00
18 to 19EEPROMR/W00MON2limhi (MSB to LSB)
1A to 1BEEPROMR/W00MON2limlo (MSB to LSB)
1C to 1DEEPROMR/W00
1E to 1FEEPROMR/W00
20 to 21EEPROMR/W00MON3limhi (MSB to LSB)
22 to 23EEPROMR/W00MON3limlo (MSB to LSB)
24 to 25EEPROMR/W00
26 to 27EEPROMR/W00
28 to 37EEPROM——Reserved—
38 to 5FEEPROMR/W—Memory—
60 to 61SRAMR—
62 to 63SRAMR—
64 to 65SRAMR—
66 to 67SRAMR—
MON1wrnhi
(MSB to LSB)
MON1wrnlo
(MSB to LSB)
MON2wrnhi
(MSB to LSB)
MON2wrnlo
(MSB to LSB)
MON3wrnhi
(MSB to LSB)
MON3wrnlo
(MSB to LSB)
Measured TMP
(MSB to LSB)
Measured V
(MSB to LSB)
Measured MON1
(MSB to LSB)
Measured MON2
(MSB to LSB)
CC
Contains upper limit settings for MON1. If the
limit is violated, a warning flag in Main Device
byte 74h is set.
Contains lower limit settings for MON1. If the
limit is violated, a warning flag in Main Device
byte 74h is set.
Contains upper limit settings for MON2. If the
limit is violated, an alarm flag in Main Device
byte 70h is set.
Contains lower limit settings for MON2. If the
limit is violated, an alarm flag in Main Device
byte 70h is set.
Contains upper limit settings for MON2. If the
limit is violated, a warning flag in Main Device
byte 74h is set.
Contains lower limit settings for MON2. If the
limit is violated, a warning flag in Main Device
byte 74h is set.
Contains upper limit settings for MON3. If the
limit is violated, an alarm flag in Main Device
byte 71h is set.
Contains lower limit settings for MON3. If the
limit is violated, an alarm flag in Main Device
byte 71h is set.
Contains upper limit settings for MON3. If the
limit is violated, a warning flag in Main Device
byte 75h is set.
Contains lower limit settings for MON3. If the
limit is violated, a warning flag in Main Device
byte 75h is set.
Digitized measured value for temperature.
See Table 1.
Resistor status bit. A high indicates that both
resistors are in high-impedance mode. A low
indicates that both resistors are operating
normally.
Resistor control bit. Setting this bit high
causes both resistors to go into a highimpedance state.
This status bit is high when OUT1 is high,
assuming there is an external pullup resistor
on OUT1.
This status bit is high when OUT2 is high,
assuming there is an external pullup resistor
on OUT2.
0—RXRDYB
6FSRAM——Conversion updates—
Bit 7—R/W0TAU
6—R/W0VCCU
5—R/W0MON1U
This status bit goes high when V
below the POA level.
This bit goes high after a temperature and
address update has occurred for the
corresponding measurement in bytes 60h to
61h. This bit can be written to a 0 by the user
and monitored to verify that a conversion has
occurred.
This bit goes high after a V
occurred for the corresponding measurement
in bytes 62h to 63h. This bit can be written to
a 0 by the user and monitored to verify that a
conversion has occurred.
This bit goes high after a MON1 update has
occurred for the corresponding measurement
in bytes 64h to 65h. This bit can be written to
a 0 by the user and monitored to verify that a
conversion has occurred.
CC
update has
CC
has fallen
Page 16
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
This bit goes high after a MON2 update has
occurred for the corresponding measurement
in bytes 66h to 67h. This bit can be written to
a 0 by the user and monitored to verify that a
conversion has occurred.
This bit goes high after a MON3 update has
occurred for the corresponding measurement
in bytes 68h to 69h. This bit can be written to
a 0 by the user and monitored to verify that a
conversion has occurred.
This alarm flag goes high when the upper limit
of the temperature setting is violated.
This alarm flag goes high when the lower limit
of the temperature setting is violated.
CC
CC
hi
lo
This alarm flag goes high when the upper limit
of the V
This alarm flag goes high when the lower limit
of the V
This alarm flag goes high when the upper limit
of the MON1 setting is violated.
This alarm flag goes high when the lower limit
of the MON1 setting is violated.
This alarm flag goes high when the upper limit
of the MON2 setting is violated.
This alarm flag goes high when the lower limit
of the MON2 setting is violated.
This alarm flag goes high when the upper limit
of the MON3 setting is violated.
This alarm flag goes high when the lower limit
of the MON3 setting is violated.
A mask of all flags located in Table 01 byte
88h determines the value of MINT. MINT is
maskable to 0 if no interrupt is desired by
setting Table 01 byte 88h to 0.
This warning flag goes high when the upper
limit of the temperature setting is violated.
This warning flag goes high when the lower
limit of the temperature setting is violated.
CC
CC
hi
lo
This warning flag goes high when the upper
limit of the V
This warning flag goes high when the lower
limit of the V
This warning flag goes high when the upper
limit of the MON1 setting is violated.
This warning flag goes high when the lower
limit of the MON1 setting is violated.
This warning flag goes high when the upper
limit of the MON2 setting is violated.
This warning flag goes high when the lower
limit of the MON2 setting is violated.
setting is violated.
CC
setting is violated.
CC
Page 18
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
82SRAMR/WFFResistor 0Resistor 0 position values from 00h to FFh.
83SRAMR/WFFResistor 1Resistor 1 position values from 00h to FFh.
84 to 87SRAM——Reserved—
EEPROM/
SRAM
R/W
DEFAULT
SETTING
(hex)
NAME OF
LOCATION
Temperature
index
FUNCTION
If TEN = 0, the resistors can be controlled manually. The
user sets the resistor in manual mode by writing to
addresses 82h and 83h in Table 01 to control resistors 0
and 1, respectively.
AEN = 0 is a test mode setting and provides manual
control of the temperature index (Table 01, address 81h).
This byte is the temperature-calculated index used to
select the address of resistor settings in the look-up
tables (Tables 02 and 03, addresses 80h through C7h).
This byte configures a maskable interrupt, determining
which event asserts a buffer 1 output (MINT set to 1, see
88EEPROMR/WInterrupt enable
Bit 7——1TMP—
6——1V
5——1MON1—
4——1MON2—
3——1MON3—
2——0X—
1——0X—
0——0X—
89EEPROMR/WConfiguration—
Bit 7——0X—
6——0X
CC
register 89h in Table 01). If any combination of
temperature, V
generate an interrupt, the corresponding bits are set to 1.
If interrupt generation is not desired, set all bits to 0.
, MON1, MON2, or MON3 is desired to
CC
—
Page 20
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
The following equation can be used to determine which
resistor position setting, 00h to FFh, should be written in
the LUT to achieve a given resistance at a specific temperature.
α = 3.852357 for the 20kΩ resistor
α = 4.5680475 for the 50kΩ resistor
R = the resistance desired at the output terminal
C = temperature in degrees Celsius
u, v, w, x
1
, x0, y, and z are calculated values found in the
corresponding look-up tables. The variable x from the
equation above is separated into x1(the MSB of x) and x
0
(the LSB of x). Their addresses and LSB values are given
below. Resistor 0 variables are found in Table 1, and
Resistor 1 variables are found in Table 2.
When shipped from the factory, all other memory locations in the LUTs are programmed to FFh.
Table 8. Calibration Constants
Internal Calibration
The DS1859 has two methods for scaling an analog
input to a digital result. The two methods are gain and
offset. Each of the inputs (VCC, MON1, MON2, and
MON3) has a unique register for the gain and the offset
found in Table 01h, 92h to 99h, and A2h to A9h.
To scale the gain and offset of the converter for a specific input, you must first know the relationship between
the analog input and the expected digital result. The
input that would produce a digital result of all zeros is
the null value (normally this input is GND). The input
that would produce a digital result of all ones is the fullscale (FS) value. The FS value is also found by multiplying an all-ones digital answer by the weighted LSB
(e.g., since the digital reading is a 16-bit register, let us
assume that the LSB of the lowest weighted bit is
50µV, then the FS value is 65,535 x 50µV = 3.27675V).
A binary search is used to scale the gain of the converter. This requires forcing two known voltages to the
input pin. It is preferred that one of the forced voltages
is the null input and the other is 90% of FS. Since the
LSB of the least significant bit in the digital reading register is known, the expected digital results are also
known for both inputs (null/LSB = CNT1 and 90%FS/
LSB = CNT2).
The user might not directly force a voltage on the input.
Instead they have a circuit that transforms light, frequency, power, or current to a voltage that is the input
to the DS1859. In this situation, the user does not need
to know the relationship of voltage to expected digital
result but instead knows the relationship of light, frequency, power, or current to the expected digital result.
An explanation of the binary search used to scale the
gain is best served with the following example pseudocode:
/* Assume that the Null input is 0.5V. */
/* In addition, the requirement for LSB is 50µV. */
FS = 65535 x 50E-6; /* 3.27675 */
CNT1 = 0.5 / 50E-6;/* 10000 */
CNT2 = 0.90 x FS / 50E-6;/* 58981.5 */
/* Thus the null input 0.5V and the 90% of FS input is
2.949075V. */
Set the trim-offset-register to zero;
Set Right-Shift register to zero (typically zero.
See Right-Shifting section);
gain_result = 0h;
Clamp = FFF8h/2^(Right_Shift_Register);
For n = 15 down to 0
begin
gain_result = gain_result + 2^n;
Force the 90% FS input (2.949075V);
Meas2 = read the digital result from
the part;
If Meas2 >= Clamp then
gain_result = gain_result – 2^n;
Else
Force the null input (0.5V);
Meas1 = read the digital result from
the part;
if (Meas2 – Meas1) > (CNT2 –
CNT1) then
gain_result = gain_result – 2^n;
end;
Set the gain register to gain_result;
The gain register is now set and the resolution of the
conversion will best match the expected LSB. The next
step is to calibrate the offset of the DS1859. With the
correct gain value written to the gain register, again
force the null input to the pin. Read the digital result
from the part (Meas1). The offset value is equal to the
negative value of Meas1.
The calculated offset is now written to the DS1859 and
the gain and offset scaling is now complete.
Right-Shifting A/D Conversion Result
(Scalable Dynamic Ranging)
The right-shifting method is used to regain some of the
lost ADC range of a calibrated system. If a system is
calibrated such that the maximum expected input
results in a digital output value of less than 7FFFh (1/2
FS), then it is a candidate for using the right-shifting
method.
If the maximum desired digital output is less than 7FFFh,
then the calibrated system is using less than 1/2 of the
ADC’s range. Similarly, if the maximum desired digital
output is less than 1FFFh, then the calibrated system is
only using 1/8 of the ADC’s range. For example, if using
a zero for the right-shift during internal calibration and
the maximum expected input results in a maximum digital output less than 1FFCh, only 1/8 of the ADC’s range is
used. If left like this, the three MS bits of the ADC will
never be used. In this example, a value of 3 for the rightshifting will maximize the ADC range. No resolution is
lost since this is a 12-bit converter that is left justified.
The value can be right-shifted four times without losing
resolution. Table 9 shows when the right-shifting method
can be used.
Memory Protection
Memory access from either device address can be
either read/write or read only. Write protection
is accomplished by a combination of control bits in
EEPROM (APEN and MPEN in configuration register
89h) and a write-protect enable (WPEN) pin. Since the
WPEN pin is often not accessible from outside the module, this scheme effectively allows the module to be
locked by the manufacturer to prevent accidental writes
by the end user.
Separate write protection is provided for the Auxiliary
and Main Device address through distinct bits APEN
and MPEN. APEN and MPEN are bits from configuration register 89h, Table 01. Due to the location, the
APEN and MPEN bits can only be written through the
Table 9. Right Shifting
Meas
Offsetgisterh
⎡
4000
⎢
⎣
1
⎤
XORh_Re=−
4000
[]
⎥
2
⎦
OUTPUT RANGE USED
WITH ZERO RIGHT-SHIFTS
0h .. FFFFh0
0h .. 7FFFh1
0h .. 3FFFh2
0h .. 1FFFh3
0h .. 0FFFh4
NUMBER OF
RIGHT-SHIFTS NEEDED
Page 24
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
Main Device address. The control of write privileges
through the Auxiliary Device address depends on the
value of APEN. Care should be taken with the setting of
MPEN, once set to a 1, assuming WPEN is high.
Access through the Main Device is thereafter denied
unless WPEN is taken to a low level. By this means,
inadvertent end-user write access can be denied.
Main Device address space 60h to 7Fh is SRAM and is
not write protected by APEN, MPEN, or WPEN. For
example, the user may reset flags set by the device.
Note that in single device mode (ADEN bit = 1), APEN
determines the protection level of Table 00, independent of WPEN.
The write-protect operation, for both Main and Auxiliary
Devices, is summarized in Tables 6 and 7.
Temperature Conversion
The direct-to-digital temperature sensor measures temperature through the use of an on-chip temperature
measurement technique with an operating range from
-40°C to +102°C. Temperature conversions are initiated
upon power-up, and the most recent conversion is
stored in memory locations 60h and 61h of the Main
Device, which are updated every t
frame
. Temperature
conversions do not occur during an active read or write
to memory.
The value of each resistor is determined by the temperature-addressed look-up table. The look-up table assigns
a unique value to each resistor for every 2°C increment
with a 1°C hysteresis at a temperature transition over the
operating temperature range (see Figure 4).
Power-Up and Low-Voltage Operation
During power-up, the device is inactive until V
CC
exceeds the digital power-on-reset voltage (POD). At this
voltage, the digital circuitry, which includes the 2-wire
interface, becomes functional. However, EEPROMbacked registers/settings cannot be internally read
(recalled into shadow SRAM) until VCCexceeds the analog power-on-reset voltage (POA), at which time the
remainder of the device becomes fully functional. Once
VCCexceeds POA, the RDYB bit in byte 6Eh of the Main
Device memory is timed to go from a 1 to a 0 and indicates when analog-to-digital conversions begin. If V
CC
ever dips below POA, the RDYB bit reads as a 1 again.
Once a device exceeds POA and the EEPROM is
recalled, the values remain active (recalled) until V
CC
falls
below POD.
For 2-wire device addresses sourced from EEPROM
(ADFIX = 1), the device address defaults to A2h until V
CC
exceeds POA and the EEPROM values are recalled. The
Auxiliary Device (A0h) is always available within this volt-
age window (between POD and the EEPROM recall)
regardless of the programmed state of ADEN.
Furthermore, as the device powers up, the V
CC
lo alarm
flag (bit 4 of 70h in Main Device) defaults to a 1 until the
first VCCanalog-to-digital conversion occurs and sets or
clears the flag accordingly.
2-Wire Operation
Clock and Data Transitions: The SDA pin is normally
pulled high with an external resistor or device. Data on
the SDA pin may only change during SCL-low time
periods. Data changes during SCL-high periods will
indicate a START or STOP condition depending on the
conditions discussed below. See the timing diagrams
in Figures 5 and 6 for further details.
START Condition: A high-to-low transition of SDA with
SCL high is a START condition that must precede any
other command. See the timing diagrams in Figures 5
and 6 for further details.
STOP Condition: A low-to-high transition of SDA with
SCL high is a STOP condition. After a read or write
sequence, the stop command places the DS1859 into a
low-power mode. See the timing diagrams in Figures 5
and 6 for further details.
Acknowledge: All address and data bytes are transmitted through a serial protocol. The DS1859 pulls the
SDA line low during the ninth clock pulse to acknowledge that it has received each word.
Standby Mode: The DS1859 features a low-power
mode that is automatically enabled after power-on,
after a STOP command, and after the completion of all
internal operations.
Device Addressing: The DS1859 must receive an 8-bit
device address following a START condition to enable
a specific device for a read or write operation. The
address is clocked into this part MSB to LSB. The
address byte consists of either A2h or the value in
Table 01 8Ch for the Main Device or A0h for the
Auxiliary Device, then the R/W bit. This byte must
match the address programmed into Table 01 8Ch or
A0h (for the Auxiliary Device). If a device address
match occurs, this part will output a zero for one clock
cycle as an acknowledge and the corresponding block
of memory is enabled (see the Memory Organization
section). If the R/W bit is high, a read operation is initiated. If the R/W is low, a write operation is initiated (see
the Memory Organization section). If the address does
not match, this part returns to a low-power mode.
After receiving a matching address byte with the R/W
bit set low, if there is no write protect, the device goes
into the write mode of operation (see the MemoryOrganization section). The master must transmit an 8bit EEPROM memory address to the device to define
the address where the data is to be written. After the
byte has been received, the DS1859 transmits a zero
for one clock cycle to acknowledge the address has
been received. The master must then transmit an 8-bit
data word to be written into this address. The DS1859
again transmits a zero for one clock cycle to acknowledge the receipt of the data. At this point, the master
must terminate the write operation with a STOP condition. The DS1859 then enters an internally timed write
process twto the EEPROM memory. All inputs are disabled during this byte write cycle.
Page Write
The DS1859 is capable of an 8-byte page write. A page
is any 8-byte block of memory starting with an address
evenly divisible by eight and ending with the starting
address plus seven. For example, addresses 00h
through 07h constitute one page. Other pages would
be addresses 08h through 0Fh, 10h through 17h, 18h
through 1Fh, etc.
A page write is initiated the same way as a byte write,
but the master does not send a STOP condition after
the first byte. Instead, after the slave acknowledges the
data byte has been received, the master can send up
to seven more bytes using the same nine-clock
sequence. The master must terminate the write cycle
with a STOP condition or the data clocked into the
DS1859 will not be latched into permanent memory.
The address counter rolls on a page during a write. The
counter does not count through the entire address
space as during a read. For example, if the starting
address is 06h and 4 bytes are written, the first byte
goes into address 06h. The second goes into address
07h. The third goes into address 00h (not 08h). The
fourth goes into address 01h. If more than 9 bytes or
more are written before a STOP condition is sent, the
first bytes sent are overwritten. Only the last 8 bytes of
data are written to the page.
Acknowledge Polling: Once the internally timed write
has started and the DS1859 inputs are disabled,
acknowledge polling can be initiated. The process
involves transmitting a START condition followed by the
device address. The R/W bit signifies the type of operation that is desired. The read or write sequence will only
be allowed to proceed if the internal write cycle has
completed and the DS1859 responds with a zero.
Read Operations
After receiving a matching address byte with the R/W bit
set high, the device goes into the read mode of operation. There are three read operations: current address
read, random read, and sequential address read.
Current Address Read
The DS1859 has an internal address register that maintains the address used during the last read or write
Figure 5. 2-Wire Data Transfer Protocol
SDA
MSB
SLAVE ADDRESS
SCL
START
CONDITION
12678912893–7
R/W
DIRECTION
BIT
ACKNOWLEDGEMENT
SIGNAL FROM RECEIVER
ACK
REPEATED IF MORE BYTES
ARE TRANSFERRED
ACKNOWLEDGEMENT
SIGNAL FROM RECEIVER
ACK
STOP
CONDITION
OR REPEATED
START
CONDITION
Page 26
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
operation, incremented by one. This data is maintained
as long as VCCis valid. If the most recent address was
the last byte in memory, then the register resets to the
first address.
Once the device address is clocked in and acknowledged by the DS1859 with the R/W bit set to high, the
current address data word is clocked out. The master
does not respond with a zero, but does generate a
STOP condition afterwards.
Single Read
A random read requires a dummy byte write sequence to
load in the data byte address. Once the device and data
address bytes are clocked in by the master and acknowledged by the DS1859, the master must generate another
START condition. The master now initiates a current
address read by sending the device address with the
R/W bit set high. The DS1859 acknowledges the device
address and serially clocks out the data byte.
Sequential Address Read
Sequential reads are initiated by either a current
address read or a random address read. After the master receives the first data byte, the master responds
with an acknowledge. As long as the DS1859 receives
this acknowledge after a byte is read, the master can
clock out additional data words from the DS1859. After
reaching address FFh, it resets to address 00h.
The sequential read operation is terminated when the
master initiates a STOP condition. The master does not
respond with a zero.
The following section provides a detailed description of
the 2-wire theory of operation.
2-Wire Serial-Port Operation
The 2-wire serial-port interface supports a bidirectional
data transmission protocol with device addressing. A
device that sends data on the bus is defined as a transmitter, and a device that receives data as a receiver.
The device that controls the message is called a master. The devices that are controlled by the master are
slaves. The bus must be controlled by a master device
that generates the serial clock (SCL), controls the bus
access, and generates the START and STOP conditions. The DS1859 operates as a slave on the 2-wire
bus. Connections to the bus are made through the
open-drain I/O lines SDA and SCL. The following I/O
terminals control the 2-wire serial port: SDA, SCL.
Timing diagrams for the 2-wire serial port can be found
in Figures 5 and 6. Timing information for the 2-wire
serial port is provided in the AC ElectricalCharacteristics table for 2-wire serial communications.
The following bus protocol has been defined:
◆Data transfer may be initiated only when the bus is
not busy.
◆During data transfer, the data line must remain
stable whenever the clock line is high. Changes in
the data line while the clock line is high will be
interpreted as control signals.
Accordingly, the following bus conditions have been
defined:
Bus not busy: Both data and clock lines remain high.
Start data transfer: A change in the state of the data
line from high to low while the clock is high defines a
START condition.
Stop data transfer: A change in the state of the data
line from low to high while the clock line is high defines
the STOP condition.
Data valid: The state of the data line represents valid
data when, after a START condition, the data line is stable for the duration of the high period of the clock signal.
The data on the line can be changed during the low period of the clock signal. There is one clock pulse per bit of
data. Figures 5 and 6 detail how data transfer is accomplished on the 2-wire bus. Depending on the state of the
R/W bit, two types of data transfer are possible.
Each data transfer is initiated with a START condition
and terminated with a STOP condition. The number of
data bytes transferred between START and STOP conditions is not limited and is determined by the master
device. The information is transferred byte-wise and
each receiver acknowledges with a ninth bit.
Within the bus specifications, a standard mode
(100kHz clock rate) and a fast mode (400kHz clock
rate) are defined. The DS1859 works in both modes.
Acknowledge: Each receiving device, when addressed,
is obliged to generate an acknowledge after the byte
has been received. The master device must generate an
extra clock pulse, which is associated with this acknowledge bit.
A device that acknowledges must pull down the SDA line
during the acknowledge clock pulse in such a way that
the SDA line is a stable low during the high period of the
acknowledge-related clock pulse. Setup and hold times
must be taken into account. A master must signal an end
of data to the slave by not generating an acknowledge bit
on the last byte that has been clocked out of the slave. In
this case, the slave must leave the data line high to
enable the master to generate the STOP condition.
1)Data transfer from a master transmitter to aslave receiver. The first byte transmitted by the
master is the command/control byte. Next follows
a number of data bytes. The slave returns an
acknowledge bit after each received byte.
2)Data transfer from a slave transmitter to a mas-ter receiver. The master transmits the first byte
(the command/control byte) to the slave. The
slave then returns an acknowledge bit. Next follows a number of data bytes transmitted by the
slave to the master. The master returns an
acknowledge bit after all received bytes other
than the last byte. At the end of the last received
byte, a not acknowledge can be returned.
The master device generates all serial clock pulses and
the START and STOP conditions. A transfer is ended with
a STOP condition or with a repeated START condition.
Since a repeated START condition is also the beginning
of the next serial transfer, the bus is not released.
The DS1859 can operate in the following three modes:
1)Slave Receiver Mode: Serial data and clock are
received through SDA and SCL, respectively. After
each byte is received, an acknowledge bit is transmitted. START and STOP conditions are recognized as the beginning and end of a serial transfer.
Address recognition is performed by hardware
after the slave (device) address and direction bit
have been received.
2)Slave Transmitter Mode: The first byte is
received and handled as in the slave receiver
mode. However, in this mode the direction bit
indicates that the transfer direction is reversed.
Serial data is transmitted on SDA by the DS1859,
while the serial clock is input on SCL. START and
STOP conditions are recognized as the beginning
and end of a serial transfer.
3)Slave Address: Command/control byte is the first
byte received following the START condition from
the master device. The command/control byte
consists of 4-bit control code. They are used by
the master device to select which of eight possible devices on the bus is to be accessed. When
reading or writing to the DS1859, the deviceselect bits must match one of two valid device
addresses, 00h or the address registered in Table
01 location 8Ch. The last bit of the command/control byte (R/W) defines the operation to be performed. When set to a ‘1’ a read operation is
selected, and when set to a ‘0’ a write operation is
selected. The slave address can be set by the
EEPROM. Following the START condition, the
DS1859 monitors the SDA bus checking the
device type identifier being transmitted. Upon
receiving the 1010 control code, the appropriate
device address bits, and the read/write bit, the
slave device outputs an acknowledge signal on
the SDA line.
Page 28
DS1859
Dual, Temperature-Controlled Resistors with
Internally Calibrated Monitors
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.
28 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600