ZHCSCD3B April 2014 – August 2014 TMP75C
PRODUCTION DATA.
The TMP75C is a digital temperature sensor optimal for thermal management and thermal protection applications. The TMP75C is two-wire and SMBus interface compatible, and is specified over a temperature range of –55°C to +125°C.
The temperature sensing device for the TMP75C is the chip itself. A bipolar junction transistor (BJT) inside the chip is used in a band-gap configuration to produce a voltage proportional to the chip temperature. The voltage is digitized and converted to a 12-bit temperature result in degrees Celsius, with resolution of 0.0625°C. The package leads provide the primary thermal path because of the lower thermal resistance of the metal. Thus, the temperature result is equivalent to the local temperature of the printed circuit board (PCB) where the sensor is mounted.
The 12-bit digital output from each temperature measurement conversion is stored in the read-only temperature register. Two bytes must be read to obtain the data, as shown in Figure 14. Note that byte 1 is the most significant byte, followed by byte 2, the least significant byte. The temperature result is left-justified with the 12 most significant bits used to indicate the temperature. There is no need to read the second byte if resolution below 1°C is not required. Table 1 summarizes the temperature data format. One LSB equals 0.0625°C. Negative numbers are represented in binary twos complement format.
TEMPERATURE (°C) | DIGITAL OUTPUT | |
---|---|---|
BINARY | HEX | |
128 | 0111 1111 1111 | 7FF |
127.9375 | 0111 1111 1111 | 7FF |
100 | 0110 0100 0000 | 640 |
80 | 0101 0000 0000 | 500 |
75 | 0100 1011 0000 | 4B0 |
50 | 0011 0010 0000 | 320 |
25 | 0001 1001 0000 | 190 |
0.25 | 0000 0000 0100 | 004 |
0 | 0000 0000 0000 | 000 |
–0.25 | 1111 1111 1100 | FFC |
–25 | 1110 0111 0000 | E70 |
–55 | 1100 1001 0000 | C90 |
Table 1 does not supply a full list of all temperatures. Use the following rules to obtain the digital data format for a given temperature, and vice versa.
To convert positive temperatures to a digital data format:
Divide the temperature by the resolution. Then, convert the result to binary code with a 12-bit, left-justified format, and MSB = 0 to denote a positive sign.
Example: (+50°C) / (0.0625°C / LSB) = 800 = 320h = 0011 0010 0000
To convert a positive digital data format to temperature:
Convert the 12-bit, left-justified binary temperature result, with the MSB = 0 to denote a positive sign, to a decimal number. Then, multiply the decimal number by the resolution to obtain the positive temperature.
Example: 0011 0010 0000 = 320h = 800 × (0.0625°C / LSB) = +50°C
To convert negative temperatures to a digital data format:
Divide the absolute value of the temperature by the resolution, and convert the result to binary code with a 12-bit, left-justified format. Then, generate the twos complement of the result by complementing the binary number and adding one. Denote a negative number with MSB = 1.
Example: (|–25°C|) / (0.0625°C / LSB) = 400 = 190h = 0001 1001 0000
Two's complement format: 1110 0110 1111 + 1 = 1110 0111 0000
To convert a negative digital data format to temperature:
Generate the twos compliment of the 12-bit, left-justified binary number of the temperature result (with MSB = 1, denoting negative temperature result) by complementing the binary number and adding one. Convert to decimal number and multiply by the resolution to get the absolute temperature, then multiply by –1 for the negative sign.
Example: 1110 0111 0000 has twos complement of 0001 1001 0000 = 0001 1000 1111 + 1
Convert to temperature: 0001 1001 0000 = 190h = 400; 400 × (0.0625°C / LSB) = 25°C = (|–25°C|); (|–25°C|) × (–1) = –25°C
The temperature limits are stored in the TLOW and THIGH registers (Table 7 and Table 8) in the same format as the temperature result, and their values are compared to the temperature result on every conversion. The outcome of the comparison drives the behavior of the ALERT pin, which can operate as a comparator output or an interrupt, and is set by the TM bit in the Configuration register (Table 6).
In comparator mode (TM = 0, default), the ALERT pin becomes active when the temperature is equal to or exceeds the value in THIGH (fault conditions) for a consecutive number of conversions as set by the FQ bits of the configuration register. ALERT clears when the temperature falls below TLOW for the same consecutive number of conversions. The difference between the two limits acts as a hysteresis on the comparator output, and a fault counter prevents false alerts as a result of environmental noise.
In interrupt mode (TM = 1), the ALERT pin becomes active when the temperature equals or exceeds the value in THIGH for a consecutive number of fault conditions. The ALERT pin remains active until a read operation of any register occurs. After the ALERT pin is cleared, this pin becomes active again only when temperature falls below TLOW for a consecutive number of fault conditions, and remains active until cleared by a read operation of any register. The cycle repeats with the ALERT pin becoming active when the temperature equals or exceeds THIGH, and so on. The ALERT pin is cleared also when the device is placed in shutdown mode (see Shutdown Mode for shutdown mode description). This action also clears the fault counter memory.
The active state of the ALERT pin is set by the POL bit in the configuration register. When POL = 0 (default), the ALERT pin is active low. When POL = 1, the ALERT pin is active high. The operation of the ALERT pin in the various modes is illustrated in Figure 7.
The TMP75C operates as a slave device only on the two-wire bus and SMBus. Connections to the bus are made using the open-drain I/O lines, SDA and SCL. The SDA and SCL pins feature integrated spike-suppression filters and Schmitt triggers to minimize the effects of input spikes and bus noise. The TMP75C supports the transmission protocol for both fast (1 kHz to 400 kHz) and high-speed (1 kHz to 3 MHz) modes. All data bytes are transmitted MSB first.
The device that initiates the transfer is called a master, and the devices 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.
To address a specific device, initiate a start condition by pulling the data line (SDA) from a high to a low logic level while SCL is high. All slaves on the bus shift in the slave address byte; the last bit indicates whether a read or write operation follows. During the ninth clock pulse, the slave being addressed responds to the master by generating an acknowledge bit and pulling SDA low.
Data transfer is then initiated and sent over eight clock pulses followed by an acknowledge bit. During data transfer, SDA must remain stable while SCL is high because any change in SDA while SCL is high is interpreted as a start or stop signal.
After all data have been transferred, the master generates a stop condition indicated by pulling SDA from low to high, while SCL is high.
To communicate with the TMP75C, the master must first communicate with slave devices using a slave address byte. The slave address byte consists of seven address bits, and a direction bit indicating the intent of executing either a read or write operation. The TMP75C features three address pins that allow up to eight devices to be addressed on a single bus. The TMP75C latches the status of the address pins at the start of a communication. Table 2 describes the pin logic levels and the corresponding address values.
DEVICE TWO-WIRE ADDRESS | A2 | A1 | A0 |
---|---|---|---|
1001000 | GND | GND | GND |
1001001 | GND | GND | VS |
1001010 | GND | VS | GND |
1001011 | GND | VS | VS |
1001100 | VS | GND | GND |
1001101 | VS | GND | VS |
1001110 | VS | VS | GND |
1001111 | VS | VS | VS |
Accessing a particular register on the TMP75C is accomplished by writing the appropriate value to the pointer register. The value for the pointer register is the first byte transferred after the slave address byte with the R/W bit low. Every write operation to the TMP75C requires a value for the pointer register (see Figure 9).
When reading from the TMP75C, the last value stored in the pointer register by a write operation is used to determine which register is read by a read operation. To change the register pointer for a read operation, a new value must be written to the pointer register. This action is accomplished by issuing a slave address byte with the R/W bit low, followed by the pointer register byte. No additional data are required. The master can then generate a start condition and send the slave address byte with the R/W bit high to initiate the read command. See Figure 10 for details of this sequence. If repeated reads from the same register are desired, there is no need to continually send the pointer register bytes because the TMP75C stores the pointer register value until it is changed by the next write operation.
Note that register bytes are sent with the most significant byte first, followed by the least significant byte.
The TMP75C can operate as a slave receiver or slave transmitter.
The first byte transmitted by the master is the slave address, with the R/W bit low. The TMP75C then acknowledges reception of a valid address. The next byte transmitted by the master is the pointer register. The TMP75C then acknowledges reception of the pointer register byte. The next byte or bytes are written to the register addressed by the pointer register. The TMP75C acknowledges reception of each data byte. The master can terminate data transfer by generating a start or stop condition.
The first byte transmitted by the master is the slave address, with the R/W bit high. The slave acknowledges reception of a valid slave address. The next byte is transmitted by the slave and is the most significant byte of the register indicated by the pointer register. The master acknowledges reception of the data byte. The next byte transmitted by the slave is the least significant byte. The master acknowledges reception of the data byte. The master can terminate data transfer by generating a not-acknowledge bit on reception of any data byte, or by generating a start or stop condition.
In order for the two-wire bus to operate at frequencies above 400 kHz, the master device must issue an SMBus Hs-mode master code (00001xxx) as the first byte after a start condition to switch the bus to high-speed operation. The TMP75C does not acknowledge this byte, but does switch its input filters on SDA and SCL and its output filters on SDA to operate in Hs-mode, allowing transfers at up to 3 MHz. After the Hs-mode master code has been issued, the master transmits a two-wire slave address to initiate a data-transfer operation. The bus continues to operate in Hs-mode until a stop condition occurs on the bus. Upon receiving the stop condition, the TMP75C switches the input and output filters back to fast-mode operation.
The TMP75C resets the serial interface if SCL or SDA are held low for 22 ms (typ) between a start and stop condition. If the TMP75C is pulled low, it releases the bus and then waits for a start condition. To avoid activating the timeout function, it is necessary to maintain a communication speed of at least 1 kHz for the SCL operating frequency.
The TMP75C is two-wire and SMBus compatible. Figure 8 to Figure 10 describe the various operations on the TMP75C. Parameters for Figure 8 are defined in Table 3. Bus definitions are:
The receiver acknowledges the transfer of data. It is also possible to use the TMP75B for single-byte updates. To update only the MS byte, terminate communication by issuing a start or stop condition on the bus.
A device that acknowledges must pull down the SDA line during the acknowledge clock pulse so that the SDA line is stable low during the high period of the acknowledge clock pulse. Setup and hold times must be taken into account. When a master receives data, the termination of the data transfer can be signaled by the master generating a not-acknowledge (1) on the last byte transmitted by the slave.
SYMBOL | PARAMETER | FAST MODE | HIGH-SPEED MODE | UNIT | |||
---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | ||||
f(SCL) | SCL operating frequency | VS ≥ 1.8 V | 0.001 | 0.4 | 0.001 | 3 | MHz |
VS < 1.8 V | 0.001 | 0.4 | 0.001 | 2.5 | MHz | ||
t(BUF) | Bus free time between stop and start conditions | VS ≥ 1.8 V | 1300 | 160 | ns | ||
VS < 1.8 V | 1300 | 260 | ns | ||||
t(HDSTA) | Hold time after repeated start condition. After this period, the first clock is generated. |
600 | 160 | ns | |||
t(SUSTA) | Repeated start condition setup time | 600 | 160 | ns | |||
t(SUSTO) | Stop condition setup time | 600 | 160 | ns | |||
t(HDDAT) | Data hold time | VS ≥ 1.8 V | 0 | 900 | 0 | 100 | ns |
VS < 1.8 V | 0 | 900 | 0 | 140 | ns | ||
t(SUDAT) | Data setup time | VS ≥ 1.8 V | 100 | 10 | ns | ||
VS < 1.8 V | 100 | 20 | ns | ||||
t(LOW) | SCL clock low period | VS ≥ 1.8 V | 1300 | 190 | ns | ||
VS < 1.8 V | 1300 | 240 | ns | ||||
t(HIGH) | SCL clock high period | 600 | 60 | ns | |||
tR(SDA), tF(SDA) | Data rise and fall time | 300 | 80 | ns | |||
tR(SCL), tF(SCL) | Clock rise and fall time | 300 | 40 | ns | |||
tR | Clock and data rise time for SCLK ≤ 100 kHz | 1000 | ns |
The default mode of the TMP75C is continuous conversion, where the ADC performs continuous temperature conversions and stores each result to the Temperature register, overwriting the result from the previous conversion. The typical conversion rate of TMP75C is 12 Hz, with 80 ms between the start of each consecutive conversion. The TMP75C has a typical conversion time of 27 ms. To achieve its conversion rates, the TMP75C makes a conversion, and then powers down and waits for a delay 53 ms.
After power-up, the TMP75C immediately starts a conversion, as shown in Figure 11. The first result is available after 27 ms (typical). The active quiescent current during conversion is 45 μA (typical at +25°C). The quiescent current during delay is 1 μA (typical at +25°C).
The shutdown mode saves maximum power by shutting down all device circuitry other than the serial interface, and reduces current consumption to typically less than 0.3 μA. Shutdown mode is enabled when the SD bit in the configuration register is set to 1; the device shuts down and terminates a conversion if it is ongoing. When SD is equal to 0, the device operates in continuous-conversion mode. When shutdown mode is enabled, the ALERT pin and fault counter clear in both comparator and interrupt modes. The ALERT pin and the fault counter remain clear until the SD bit is set.
The TMP75C features a one-shot temperature measurement mode. When the device is in continuous conversion (SD = 0), writing a 1 to the OS bit enables shutdown mode, where any write to the one-shot register triggers a single temperature conversion. The device returns to the shutdown state at the completion of the single conversion, and a subsequent write to the one-shot register triggers another single conversion followed by a return to shutdown state. This mode reduces power consumption in the TMP75C when continuous temperature monitoring is not required.
When the device is in complete shutdown (SD = 1), the one-shot mode is not active regardless of the state of the OS bit, and a write to the one-shot register has no effect.
Figure 12 shows the internal register structure of the TMP75C. Use the 8-bit pointer register to address a given data register. The pointer register uses the three LSBs to identify which of the data registers respond to a read or write command. Figure 13 identifies the bits of the pointer register byte.
Table 4 describes the registers available in the TMP75C with their pointer addresses, followed by the description of the bits in each register.
P2 | P1 | P0 | REGISTER |
---|---|---|---|
0 | 0 | 0 | Temperature register (read only, default) |
0 | 0 | 1 | Configuration register (read/write) |
0 | 1 | 0 | TLOW register (read/write) |
0 | 1 | 1 | THIGH register (read/write) |
1 | 0 | 0 | One-Shot register (write only; write any value to start a conversion) |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | P2 | P1 | P0 | ||||
W-0h | W-0h | W-0h | W-0h |
LEGEND: R/W = Read/Write; R = Read only; W = Write only; -n = value after reset |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
T11 | T10 | T9 | T8 | T7 | T6 | T5 | T4 |
R-00h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
T3 | T2 | T1 | T0 | Reserved | |||
R-0h | R-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Name | Description |
---|---|
T11 to T4 | The 8 MSBs of the temperature result (resolution of 1°C) |
T3 to T0 | The 4 LSBs of the temperature result (resolution of 0.0625°C) |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Reserved | OS | FQ | POL | TM | SD | ||
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | |||||||
R-00h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Name | Description |
---|---|
Reserved | Reserved bits Write 0 to these bits on configuration register update. |
OS | One-shot control SD = 0 and OS = 0: Continuous conversion mode (default) SD = 0 and OS = 1: One-shot mode; the device is in shutdown mode but writing any value to the one-shot register initiates a conversion. The device returns to shutdown mode at the end of the conversion. SD = 1 and OS = x: The device is in shutdown mode and the status of the OS bit has no effect. Writing to the one-shot register does not start a conversion. |
FQ | Fault queue to trigger the ALERT pin FQ = 0h: 1 fault (default) FQ = 1h: 2 faults FQ = 2h: 4 faults FQ = 3h: 6 faults |
POL | ALERT polarity control POL = 0: ALERT is active low (default) POL = 1: ALERT is active high |
TM | ALERT thermostat mode control TM = 0: ALERT is in comparator mode (default) TM = 1: ALERT is in interrupt mode |
SD | Shutdown control bit SD = 0: Device is in continuous conversion mode (default) SD = 1: Device is in shutdown mode |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
L11 | L10 | L9 | L8 | L7 | L6 | L5 | L4 |
R/W-4Bh | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
L3 | L2 | L1 | L0 | Reserved | |||
R/W-0h | R-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Name | Description |
---|---|
L11 to L4 | The 8 MSBs of the temperature low limit (resolution of 1°C) |
L3 to L0 | The 4 LSBs of the temperature low limit (resolution of 0.0625°C) |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
H11 | H10 | H9 | H8 | H7 | H6 | H5 | H4 |
R/W-50h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
H3 | H2 | H1 | H0 | Reserved | |||
R/W-0h | R-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Name | Description |
---|---|
H11 to H4 | The 8 MSBs of the temperature high limit (resolution of 1°C) |
H3 to H0 | The 4 LSBs of the temperature high limit (resolution of 0.0625°C) |