Si7060 Data Sheet
The Si7060 family of I
2
C temperature sensors features high conversion speed (143 μsec
typical), programmable over or under temperature interrupt, and interrupt polarity with
200 msec (typical) sampling time.
The output works as a comparator, that is, the output pin will go high or low with each
new temperature sample. The output is setup to be open drain to support wire-OR with
multiple sensors or components.
The Si7060 powers up with a nominal temperature threshold of 79.8°C and reset thresh-
old of 75°C, but these values are programmable.
The operation of the Si7060 is similar to industry standard parts, but offers lower power
and in many cases higher accuracy. It is also capable of operating in autonomous sam-
pling mode.
Applications:
•
•
•
•
HVAC/R
Thermostats
White Goods
Computer Equipment
• Asset Tracking
• Battery Protection
• Industrial Controls
FEATURES
• Better than ± 1 °C accuracy
• Better than ± 0.1 °C repeatability
• Wide operating voltage: 1.7 to 5.5 V
• Low power consumption: 500 nA
• Ultra-low power sleep mode: 50 nA
• I2C interface
• Configurable alert output
• 4 factory configurable I
2
C addresses
• Package Options:
• SOT23-5
silabs.com
| Building a more connected world.
This information applies to a product under development. Its characteristics and specifications are subject to change without notice.
Preliminary Rev. 0.1
Si7060 Data Sheet
Functional Description
1. Functional Description
The Si7060 family of I
2
C temperature sensors measure and digitize the local temperature at the device. 4 modes of operation are pos-
sible:
Sleep Mode:
This ultra-low power mode of operation is useful when temperature measurements are made infrequently and the lowest possible pow-
er is desired. In this mode, the part will remain in sleep mode until it receives a command over I
2
C to wake up and make a measure-
ment. After this measurement, the part will go back to sleep.
The sleep bit is the ‘master’ bit. Once this bit is set, the sensor enters its sleep mode regardless of the other register configurations.
Once the part is woken up by I
2
C, all registers are loaded to their default value, except for 0xC6 and 0xC7, which can be saved by the
usestore bit.
How to Configure:
sleep = 1
stop = X
sltimeena = X
Autonomous Sampling Mode:
In this mode of operation, the device will make measurements at a factory set rate of 5 Hz (every 200 ms). By default the part enters
the Autonomous Sampling Mode upon powerup. The sensor wakes up, performs a temperature conversion, updates the output accord-
ingly, and then goes back to sleep.
How to Configure:
sleep = 0
stop = 0
sltimeena = 1 (default state after wake-up)
Active Mode:
In this mode of operation, measurements can be commanded, and the numerical value of the temperature can be read.
How to Configure:
sleep = 0
stop = 0
sltimeena = X
oneburst = 1
The stop bit will be set to 1 once the measurement is complete.
Table 1.1. Summary of Different States
Mode
Sleep
Autonomous
Sleep
1
0
Stop
x
0
Sltimeena
x
1
The output pin is designed to be an open drain output, which allows you to connect multiple devices in parallel to trigger an alert. The
output is driven low once the temperature crosses the operate point, and released once it goes below the release point. The tempera-
ture operate and release points are factory set to 80 °C and 75 °C but these values can be adjusted by setting the bit usestore to 1 and
adjusting the data in registers 0xC6 and 0xC7 as will be described later. It is possible to adjust the output pin polarity so it goes high or
low as temperature increases.
silabs.com
| Building a more connected world.
Preliminary Rev. 0.1 | 2
Si7060 Data Sheet
I2C Interface
2. I2C Interface
The Si7060 complies with “fast” mode I
2
C operation and 7-bit addressing at speeds up to 400 kHz.
The I
2
C address is factory programmed to one of 4 values 0x30, 0x31, 0x32, or 0x33 (0110000b through 0110011b).
At power-up the registers are initialized, as will be described in the register definitions, and then they can be read or written in standard
fashion for I
2
C devices.
The host command for writing an I
2
C register is:
START Address W ACK register ACK data ACK STOP
The host command for reading an I
2
C register is:
START Address W ACK register ACK Sr Address R Data NACK* STOP
*NACK by host
Where:
START
is
SDA
going low with
SCL
high
Sr
is a repeated
START
Address is 0x30 up to 0x33.
0 indicates a write and 1 indicates a read.
ACK
is
SDA
low.
Data is the Read or Write data.
NACK
is
SDA
high.
STOP
is
SDA
going high with
SCL
high.
Writing or Reading of sequential registers can be supported by setting the
arautoinc
bit of register 0xC5 (see register description). In
the case of a read sequence where the
arautoinc
bit has been set, the data can be
ACK
’d to allow reading of sequential registers. For
example, a two byte read of the conversion data in registers 0xC1 and 0XC2 would be:
START Address W ACK 0xC1 ACK Sr Address ACK data ACK* data NACK* STOP
*ACK/NACK by host
To wake a part from sleep mode or to interrupt a measurement loop from idle mode, send the sequence:
START Address W ACK STOP
In this case, if the host continued with a register write, the Si7060 would
NACK
which would be unexpected. Additionally, the following
sequence can be used to wake the part up or to interrupt a measurement loop:
START Address R ACK data NACK* STOP
*NACK by host
In this case, the Si7060 will produce 0xFF for the data. Allow for 10 μsec between the
ACK
of the address and the next
START
for the
Si7060 to wake from sleep. In most cases, this will happen automatically, due to the 400 KHz maximum speed of the I
2
C bus. The
sequence will put the part in idle mode with the stop bit set.
To make a single conversion, having woken the part, set the
oneburst
bit of register 0xC4 to 1 and the
stop
bit to 0. The
stop
bit
resets to 1 by the time the measurement is complete.
To put the part back to sleep after reading the data, set the
stop
bit to 0.
Putting the part to sleep with the
sleep
bit = 0 will result in the mode of operation where the temperature is sampled every 200 msec,
and the output pin will toggle at the temperature threshold points as defined by registers 0xC6 and 0xC7 (assuming the
usestore
bit is
also set)—that is, write 0x08 to 0xC4.
If ultra-low power sleep with no sampling is desired, set the
stop
bit to 0 and the
sleep
bit to 1—that is, write 0x00 or 0x09 (to retain the
settings of 0xC6 and 0xC7) to 0xC4.
silabs.com
| Building a more connected world.
Preliminary Rev. 0.1 | 3
Si7060 Data Sheet
I2C Interface
2.1 Operation at Very Slow I
2
C Bus Speeds
If the Si7060 is put to sleep with the sleep timer enabled, there will be one measurement done prior to sleep with the settings as config-
ured in the wake period (i.e., operate and release points). This measurement starts at the falling edge of
SCL
prior to the
ACK
of the write
that puts the part to sleep (i.e., writing 0x80 to register 0xC4). When the measurement concludes, the output pin will be set high or low
depending on the measurement results, and the part will enter the sleep timer state.
In the sleep timer state,
SDA
will hold state until the next wake (either by host or due to the sleep timer, which is typically 200 msec).
Thus, it is important that the
ACK
concludes prior to entering the sleep state, or
SDA
will hold low until the next wake.
SDA
is released at
the falling edge of
SCL
, at the completion of the
ACK
time. This takes 140 μsec, and, therefore, the I
2
C clock speed must be fast enough
that the time from
SCL
falling prior to
ACK
to
SCL
falling after
ACK
must be less than 140 μsec. Depending on the host timing for this
portion of the I
2
C sequence, this corresponds to an I
2
C speed of greater than 7 KHz.
For very low I
2
C speeds, < 7KHz where this could be an issue, if the sleep timer function is not needed, write the sleep bit of register
0xC4 to put the part to sleep. If the sleep timer is not running, there is no measurement prior to sleep.
SDA
is released at the completion
of the
ACK
, and the part will enter the sleep state without the sleep timer running.
2.2 Measuring Temperature Over I
2
C
The actual temperature of the device can be calculated by reading the
Dspsigm
and
Dspsigl
registers over I
2
C, which correspond to
the most significant and least significant bytes of the temperature measurements respectively. The complete 15b unsigned result is
256
*Dspsigm[6:0]+Dspsigl[7:0]
.
A result of 16384 means the temperature is 55°C. More negative results mean lower temperature, and more positive results mean high-
er temperature. Temperature is calculated from the formula:
T (°C) = 55+ (256*Dspsigm[6:0]+Dspsigl[7:0] -16384)/160
Read the register interface section for more details.
silabs.com
| Building a more connected world.
Preliminary Rev. 0.1 | 4
Si7060 Data Sheet
Register Interface
3. Register Interface
The Si7060 has 9 registers. 0xC0 through 0xC9 not including 0xC3.
7
0xC0
0xC1
0xC2
0xC3
0xC4
0xC5
0xC6
0xC7
0xC8
0xC9
0xE1
0xE2
0xE3
Registers 0xC0 through 0xC2 are read only registers. 0xC0 has the chip and revid information
chipid (RO)
– This ID 0x1 for all Si7060 parts.
revid (RO)
– This ID 0x4 for revision B.
0xC1 and 0xC2 store the result of a temperature conversion.
Dspsigm
– Bits [6:0] are the most significant byte of the last conversion result. The most significant bit is a “fresh” bit, indicating the
register has been updated since last read. Reading the
Dspsigm
register causes the register
Dspsigl
to be loaded with the least signifi-
cant byte of the last conversion result.
Dspsigl
– The least significant byte of the last conversion result. Read
Dspsigm
first to align the bytes. The complete 15b unsigned
result is 256*Dspsigm[6:0]+Dspsigl[7:0].
A result of 16384 means the temperature is 55°C. More negative results mean lower temperature, and more positive results mean high-
er temperature.
Temperature is calculated from the formula:
T (°C) = 55+ (256*Dspsigm[6:0]+Dspsigl[7:0] -16384)/160
This result can go from -47.4 to +157.39 °C. The recommended operating temperatures is -40°C to +125°C; so, the result should never
be out of range, but if operated beyond the ratings of the part, the result will clamp at -47.4 to +157.39 °C (i.e., no underflow or over-
flow).
Oneburst
– Setting this bit initiates a single conversion. Set stop = 0 when setting oneburst = 1. The stop bit will be set to 1 when the
conversion completes.
stop
- Setting this bit causes the control state machine measurement loop to pause after the current measurement burst completes.
Once set, clearing this bit restarts the measurement loop.
sleep
- Setting this bit causes the part to enter sleep mode after the current measurement burst completes. Once set, clearing this bit
restarts the measurement loop.
arautoinc
– enables auto increment of the I
2
C register address pointer. This bit is not retained in sleep mode.
sw_low4temp -
determines the polarity of the output pin. The default setting of
sw_low4temp = 1
means the pin will go low at high
temperature, e.g.
sw_op + hysteresis
.
sw_low4temp = 0
means the pin will go high at low temperature, e.g., sw_op - hysteresis .
otp_addr
otp_data
otp_read
otp_busy
slTimeena
sw_low4temp
0x3
sw_op
sw_hyst
meas(RO)
6
chipid (RO)
Dspsigm
Dspsigl
Do not use
usestore
oneburst
stop
sleep
arautoinc
5
4
3
2
revid (RO)
1
0
silabs.com
| Building a more connected world.
Preliminary Rev. 0.1 | 5