SNIS153D July 2009 – October 2015 LM75B
The LM75 temperature sensor incorporates a band-gap type temperature sensor and 9-bit ADC (Sigma-Delta Analog-to-Digital Converter). The temperature data output of the LM75 is available at all times via the I2C bus. If a conversion is in progress, it will be stopped and restarted after the read. A digital comparator is also incorporated that compares a series of readings, the number of which is user-selectable, to user-programmable setpoint and hysteresis values. The comparator trips the O.S. output line, which is programmable for mode and polarity.
The LM75B contains all the functionality of the LM75C, plus two additional features:
The LM75 is an industry-standard digital temperature sensor with an integrated Sigma-Delta analog-to-digital converter and I2C interface. The LM75 provides 9-bit digital temperature readings with an accuracy of ±2°C from –25°C to 100°C and ±3°C over –55°C to 125°C.
The LM75 operates with a single supply from 2.7 V to 5.5 V. Communication is accomplished over a 2-wire interface which operates up to 400kHz. The LM75 has three address pins, allowing up to eight LM75 devices to operate on the same 2-wire bus. The LM75 has a dedicated over-temperature output (O.S.) with programmable limit and hysteresis. This output has programmable fault tolerance, which allows the user to define the number of consecutive error conditions that must occur before O.S. is activated.
In Comparator mode the O.S. Output behaves like a thermostat. The output becomes active when temperature exceeds the TOS limit, and leaves the active state when the temperature drops below the THYST limit. In this mode the O.S. output can be used to turn a cooling fan on, initiate an emergency system shutdown, or reduce system clock speed. Shutdown mode does not reset O.S. state in a comparator mode.
In Interrupt mode exceeding TOS also makes O.S. active but O.S. will remain active indefinitely until reset by reading any register via the I2C interface. Once O.S. has been activated by crossing TOS, then reset, it can be activated again only by Temperature going below THYST. Again, it will remain active indefinitely until being reset by a read. Placing the LM75 in shutdown mode also resets the O.S. Output.
The LM75B always powers up in a known state. The power up default conditions are:
When the supply voltage is less than about 1.7V, the LM75 is considered powered down. As the supply voltage rises above the nominal 1.7V power up threshold, the internal registers are reset to the power up default values listed above.
If the LM75 is not connected to the I2C bus on power up, it will act as a stand-alone thermostat with the power up default conditions listed above. It is optional, but recommended, to connect the address pins (A2, A1, A0) and the SCL and SDA pins together and to a 10k pull-up resistor to +VS for better noise immunity. Any of these pins may also be tied high separately through a 10k pull-up resistor.
The LM75 operates as a slave on the I2C bus, so the SCL line is an input (no clock is generated by the LM75) and the SDA line is a bi-directional serial data path. According to I2C bus specifications, the LM75 has a 7-bit slave address. The four most significant bits of the slave address are hard wired inside the LM75 and are “1001”. The three least significant bits of the address are assigned to pins A2–A0, and are set by connecting these pins to ground for a low, (0); or to +VS for a high, (1).
Therefore, the complete slave address is:
Temperature data can be read from the Temperature, TOS Set Point, and THYST Set Point registers; and written to the TOS Set Point, and THYST Set Point registers. Temperature data is represented by a 9-bit, two's complement word with an LSB (Least Significant Bit) equal to 0.5°C:
|125°C||0 1111 1010||0FAh|
|25°C||0 0011 0010||032h|
|0.5°C||0 0000 0001||001h|
|0°C||0 0000 0000||000h|
|−0.5°C||1 1111 1111||1FFh|
|−25°C||1 1100 1110||1CEh|
|−55°C||1 1001 0010||192h|
Shutdown mode is enabled by setting the shutdown bit in the Configuration register via the I2C bus. Shutdown mode reduces power supply current significantly. See specified quiescent current specification in the Temperature-to-Digital Converter Characteristics table. In Interrupt mode O.S. is reset if previously set and is undefined in Comparator mode during shutdown. The I2C interface remains active. Activity on the clock and data lines of the I2C bus may slightly increase shutdown mode quiescent current. TOS, THYST, and Configuration registers can be read from and written to in shutdown mode.
For the LM75B, the TIMEOUT feature is turned off in Shutdown Mode.
A fault queue of up to 6 faults is provided to prevent false tripping of O.S. when the LM75 is used in noisy environments. The number of faults set in the queue must occur consecutively to set the O.S. output.
As indicated in the O.S. Output Temperature Response Diagram, Figure 9, the events that trigger O.S. are identical for either Comparator or Interrupt mode. The most important difference is that in Interrupt mode the O.S. will remain set indefinitely once it has been set. To reset O.S. while in Interrupt mode, perform a read from any register in the LM75.
The O.S. output is an open-drain output and does not have an internal pull-up. A “high” level will not be observed on this pin until pull-up current is provided from some external source, typically a pull-up resistor. Choice of resistor value depends on many system factors but, in general, the pull-up resistor should be as large as possible. This will minimize any errors due to internal heating of the LM75. The maximum resistance of the pull up, based on LM75 specification for High Level Output Current, to provide a 2V high level, is 30 kΩ.
The O.S. output can be programmed via the configuration register to be either active low (default mode), or active high. In active low mode the O.S. output goes low when triggered exactly as shown on the O.S. Output Temperature Response Diagram, Figure 9. Active high simply inverts the polarity of the O.S. output.
There are four data registers in the LM75B and LM75C selected by the Pointer register. At power-up the Pointer is set to “000”; the location for the Temperature Register. The Pointer register latches whatever the last location it was set to. In Interrupt Mode, a read from the LM75, or placing the device in shutdown mode, resets the O.S. output. All registers are read and write, except the Temperature register which is a read only.
A write to the LM75 will always include the address byte and the Pointer byte. A write to the Configuration register requires one data byte, and the TOS and THYST registers require two data bytes.
Reading the LM75 can take place either of two ways: If the location latched in the Pointer is correct (most of the time it is expected that the Pointer will point to the Temperature register because it will be the data most frequently read from the LM75), then the read can simply consist of an address byte, followed by retrieving the corresponding number of data bytes. If the Pointer needs to be set, then an address byte, pointer byte, repeat start, and another address byte will accomplish a read.
The first data byte is the most significant byte with most significant bit first, permitting only as much data as necessary to be read to determine temperature condition. For instance, if the first four bits of the temperature data indicates an overtemperature condition, the host processor could immediately take action to remedy the excessive temperatures. At the end of a read, the LM75 can accept either Acknowledge or No Acknowledge from the Master (No Acknowledge is typically used as a signal for the slave that the Master has read its last byte).
An inadvertent 8-bit read from a 16-bit register, with the D7 bit low, can cause the LM75 to stop in a state where the SDA line is held low as shown in Figure 11. This can prevent any further bus communication until at least 9 additional clock cycles have occurred. Alternatively, the master can issue clock cycles until SDA goes high, at which time issuing a “Stop” condition will reset the LM75.
P0-P1: Register Select:
|0||0||0||Temperature (Read only) (Power-up default)|
P3–P7: Must be kept zero.
|MSB||Bit 7||Bit 6||Bit 5||Bit 4||Bit 3||Bit 2||Bit 1||LSB||X||X||X||X||X||X||X|
D0–D6: Undefined. D7–D15: Temperature Data. One LSB = 0.5°C. Two's complement format.
|0||0||0||Fault Queue||O.S. Polarity||Cmp/Int||Shutdown|
Power up default is with all bits “0” (zero).
D0: Shutdown: When set to 1 the LM75 goes to low power shutdown mode.
D1: Comparator/Interrupt mode: 0 is Comparator mode, 1 is Interrupt mode.
D2: O.S. Polarity: 0 is active low, 1 is active high. O.S. is an open-drain output under all conditions.
D3–D4: Fault Queue: Number of faults necessary to detect before setting O.S. output to avoid false tripping due to noise. Faults are determind at the end of a conversion. See specified temperature conversion time in the Temperature-to-Digital Converter Characteristics table.
|D4||D3||Number of Faults|
|0||0||1 (Power-up default)|
D5–D7: These bits are used for production testing and must be kept zero for normal operation.
|MSB||Bit 7||Bit 6||Bit 5||Bit 4||Bit 3||Bit 2||Bit 1||LSB||X||X||X||X||X||X||X|
D0–D6: Undefined D7–D15: THYST Or TOS Trip Temperature Data. Power up default is TOS = 80°C, THYST = 75°C