SBOS762B November 2016 – June 2017 TMP468
PRODUCTION DATA.
The TMP468 device is a digital temperature sensor that combines a local temperature measurement channel and eight remote-junction temperature measurement channels in VQFN-16 or DSBGA-16 packages. The device has a two-wire-interface that is compatible with I2C or SMBus interfaces and includes four pin-programmable bus address options. The TMP468 is specified over a local device temperature range from –40°C to +125°C. The TMP468 device also contains multiple registers for programming and holding configuration settings, temperature limits, and temperature measurement results. The TMP468 pinout includes THERM and THERM2 outputs that signal overtemperature events based on the settings of temperature limit registers.
The local and remote temperature sensors have a resolution of 13 bits (0.0625°C). Temperature data that result from conversions within the default measurement range are represented in binary form, as shown in the Standard Binary column of Table 1. Negative numbers are represented in two's-complement format. The resolution of the temperature registers extends to 255.9375°C and down to –256°C, but the actual device is limited to ranges as specified in the Electrical Characteristics table to meet the accuracy specifications. The TMP468 device is specified for ambient temperatures ranging from –40°C to +125°C; parameters in the Absolute Maximum Ratings table must be observed to prevent damage to the device.
TEMPERATURE (°C) |
LOCAL OR REMOTE TEMPERATURE REGISTER VALUE (0.0625°C RESOLUTION) |
|
---|---|---|
STANDARD BINARY(1) | ||
BINARY | HEX | |
–64 | 1110 0000 0000 0000 | E0 00 |
–50 | 1110 0111 0000 0000 | E7 00 |
–25 | 1111 0011 1000 0000 | F3 80 |
–0.1250 | 1111 1111 1111 0000 | FF F0 |
–0.0625 | 1111 1111 1111 1000 | FF F8 |
0 | 0000 0000 0000 0000 | 00 00 |
0.0625 | 0000 0000 0000 1000 | 00 08 |
0.1250 | 0000 0000 0001 0000 | 00 10 |
0.1875 | 0000 0000 0001 1000 | 00 18 |
0.2500 | 0000 0000 0010 0000 | 00 20 |
0.3125 | 0000 0000 0010 1000 | 00 28 |
0.3750 | 0000 0000 0011 0000 | 00 30 |
0.4375 | 0000 0000 0011 1000 | 00 38 |
0.5000 | 0000 0000 0100 0000 | 00 40 |
0.5625 | 0000 0000 0100 1000 | 00 48 |
0.6250 | 0000 0000 0101 0000 | 00 50 |
0.6875 | 0000 0000 0101 1000 | 00 58 |
0.7500 | 0000 0000 0110 0000 | 00 60 |
0.8125 | 0000 0000 0110 1000 | 00 68 |
0.8750 | 0000 0000 0111 0000 | 00 70 |
0.9375 | 0000 0000 0111 1000 | 00 78 |
1 | 0000 0000 1000 0000 | 00 80 |
5 | 0000 0010 1000 0000 | 02 80 |
10 | 0000 0101 0000 0000 | 05 00 |
25 | 0000 1100 1000 0000 | 0C 80 |
50 | 0001 1001 0000 0000 | 19 00 |
75 | 0010 0101 1000 0000 | 25 80 |
100 | 0011 0010 0000 0000 | 32 00 |
125 | 0011 1110 1000 0000 | 3E 80 |
127 | 0011 1111 1000 0000 | 3F 80 |
150 | 0100 1011 0000 0000 | 4B 00 |
175 | 0101 0111 1000 0000 | 57 80 |
191 | 0101 1111 1000 0000 | 5F 80 |
Both local and remote temperature data use two bytes for data storage with a two's-complement format for negative numbers. The high byte stores the temperature with 2°C resolution. The second or low byte stores the decimal fraction value of the temperature and allows a higher measurement resolution, as shown in Table 1. The measurement resolution for both the local and the remote channels is 0.0625°C.
Series resistance cancellation automatically eliminates the temperature error caused by the resistance of the routing to the remote transistor or by the resistors of the optional external low-pass filter. A total up to 1-kΩ series resistance can be cancelled by the TMP468 device, which eliminates the need for additional characterization and temperature offset correction. See Figure 8 for details on the effects of series resistance on sensed remote temperature error.
The TMP468 device tolerates differential input capacitance of up to 1000 pF with minimal change in temperature error. The effect of capacitance on the sensed remote temperature error is illustrated in Figure 9.
The TMP468 device can sense a fault at the D+ resulting from an incorrect diode connection. The TMP468 device can also sense an open circuit. Short-circuit conditions return a value of –256°C. The detection circuitry consists of a voltage comparator that trips when the voltage at D+ exceeds (V+) – 0.3 V (typical). The comparator output is continuously checked during a conversion. If a fault is detected, then the RxOP bit in the Remote Channel Status register is set to 1.
When not using the remote sensor with the TMP468 device, the corresponding D+ and D– inputs must be connected together to prevent meaningless fault warnings.
Operation of the THERM (pin B3) and THERM2 (pin C3) interrupt pins are shown in Figure 14.
The hysteresis value is stored in the THERM Hysteresis register and applies to both the THERM and THERM2 interrupts.
The TMP468 shutdown mode enables the user to save maximum power by shutting down all device circuitry other than the serial interface, and reducing current consumption to typically less than 0.3 μA; see Figure 13. Shutdown mode is enabled when the shutdown bit (SD, bit 5) of the Configuration Register is HIGH; the device shuts down immediately once the current conversion is complete. When the SD bit is LOW, the device maintains a continuous-conversion state.
The TMP468 device operates only as a slave device on the two-wire bus (I2C or SMBus). Connections to either 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 TMP468 device supports the transmission protocol for fast (1 kHz to 400 kHz) and high-speed (1 kHz to 2.56 MHz) modes. All data bytes are transmitted MSB first.
While the TMP468 device is unpowered bus traffic on SDA and SCL may continue without any adverse effects to the communication or to the TMP468 device itself. As the TMP468 device is powering up, the device does not load the bus, and as a result the bus traffic may continue undisturbed.
The TMP468 device is compatible with the I2C or SMBus interface. In I2C or SMBus protocol, 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, a start condition is initiated. A start condition is indicated by pulling the data line (SDA) from a high-to-low logic level when SCL is high. All slaves on the bus shift in the slave address byte, with the last bit indicating whether a read or write operation is intended. During the ninth clock pulse, the addressed slave responds to the master by generating an acknowledge (ACK) bit and pulling SDA low.
Data transfer is then initiated and sent over eight clock pulses followed by an acknowledge bit (ACK). During data transfer, SDA must remain stable when SCL is high. A change in SDA when SCL is high is interpreted as a control signal. The TMP468 device has a word register structure (16-bit wide), with data writes always requiring two bytes. Data transfer occurs during the ACK at the end of the second byte.
After all data are transferred, the master generates a stop condition. A stop condition is indicated by pulling SDA from low to high when SCL is high.
The TMP468 device has a two-wire interface that is compatible with the I2C or SMBus interface. Figure 15 through Figure 20 illustrate the timing for various operations on the TMP468 device. The bus definitions are as follows:
To communicate with the TMP468 device, the master must first address 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 a read or write operation. The TMP468 device allows up to four devices to be addressed on a single bus. The assigned device address depends on the ADD pin connection as described in Table 2.
ADD PIN CONNECTION | SLAVE ADDRESS | |
---|---|---|
BINARY | HEX | |
GND | 1001000 | 48 |
V+ | 1001001 | 49 |
SDA | 1001010 | 4A |
SCL | 1001011 | 4B |
Accessing a particular register on the TMP468 device 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 TMP468 device requires a value for the pointer register (see Figure 16).
The TMP468 registers can be accessed with block or single register reads. Block reads are only supported for pointer values 80h to 88h. Registers at 80h through 88h mirror the Remote and Local Temperature registers (00h to 08h). Pointer values 00h to 08h are for single register reads.
When reading from the TMP468 device, 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 which register is read for a read operation, a new value must be written to the pointer register. This transaction 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 17 through Figure 19 for details of this sequence.
If repeated reads from the same register are desired, continually sending the pointer register bytes is not necessary because the TMP468 device retains the pointer register value until the value is changed by the next write operation. The register bytes are sent by the MSB first, followed by the LSB. If only one byte is read (MSB), a consecutive read of TMP468 device results in the MSB being transmitted first. The LSB can only be accessed through two-byte reads.
The master terminates a read operation by issuing a not-acknowledge (NACK) command at the end of the last byte to be read or transmitting a stop condition. For a single-byte operation, the master must leave the SDA line high during the acknowledge time of the first byte that is read from the slave.
The TMP468 register structure has a word (two-byte) length, so every write transaction must have an even number of bytes (MSB and LSB) following the pointer register value (see Figure 16). Data transfers occur during the ACK at the end of the second byte or LSB. If the transaction does not finish, signaled by the ACK at the end of the second byte, then the data is ignored and not loaded into the TMP468 register. Read transactions do not have the same restrictions and may be terminated at the end of the last MSB.
The TMP468 supports block mode reads at address 80h through 88h for temperature results alone. Setting the pointer register to 80h signals to the TMP468 device that a block of more than two bytes must be transmitted before a stop is issued. In this mode, the TMP468 device auto increments the internal pointer. After the 18 bytes of temperature data are transmitted, the internal pointer resets to 80h. If the transmission is terminated before register 88h is read, the pointer increments so a consecutive read (without a pointer set) can access the next register.
The TMP468 device resets the serial interface if either SCL or SDA are held low for 17.5 ms (typical) between a start and stop condition. If the TMP468 device is holding the bus low, the device releases the bus and waits for a start condition. To avoid activating the timeout function, maintain a communication speed of at least 1 kHz for the SCL operating frequency.
For the two-wire bus to operate at frequencies above 1 MHz, the master device must issue a high-speed mode (HS-mode) master code (0000 1xxx) as the first byte after a start condition to switch the bus to high-speed operation. The TMP468 device does not acknowledge the master code byte, but switches the input filters on SDA and SCL and the output filter on SDA to operate in HS-mode, allowing transfers up to 2.56 MHz. After the HS-mode master code is 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 TMP468 device switches the input and output filters back to fast mode.
The TMP468 registers can be software reset by setting bit 15 of the Software Reset register (20h) to 1. This software reset restores the power-on-reset state to all TMP468 registers and aborts any conversion in progress.
All of the configuration and limit registers may be locked for writes (making the registers write-protected), which decreases the chance of software runaway from issuing false changes to these registers. The Lock column in Table 3 identifies which registers may be locked. Lock mode does not effect read operations. To activate the lock mode, Lock Register C4h must be set to 0x5CA6. The lock only remains active while the TMP468 device is powered up. Because the TMP468 device does not contain nonvolatile memory, the settings of the configuration and limit registers are lost once a power cycle occurs regardless if the registers are locked or unlocked.
In lock mode, the TMP468 device ignores a write operation to configuration and limit registers except for Lock Register C4h. The TMP468 device does not acknowledge the data bytes during a write operation to a locked register. To unlock the TMP468 registers, write 0xEB19 to register C4h. The TMP468 device powers up in locked mode, so the registers must be unlocked before the registers accept writes of new data.
PTR | POR | LOCK | TMP468 FUNCTIONAL REGISTER - BIT DESCRIPTION | REGISTER DESCRIPTION | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(HEX) | (HEX) | (Y/N) | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
00 | 0000 | N/A | LT12 | LT11 | LT10 | LT9 | LT8 | LT7 | LT6 | LT5 | LT4 | LT3 | LT2 | LT1 | LT0 | 0(1) | 0 | 0 | Local Temperature |
01 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 1 |
02 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 2 |
03 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 3 |
04 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 4 |
05 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 5 |
06 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 6 |
07 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 7 |
08 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 8 |
20 | 0000 | N/A | RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Software Reset Register |
21 | N/A | N/A | R8TH | R7TH | R6TH | R5TH | R4TH | R3TH | R2TH | R1TH | LTH | 0 | 0 | 0 | 0 | 0 | 0 | 0 | THERM Status |
22 | N/A | N/A | R8TH2 | R7TH2 | R6TH2 | R5TH2 | R4TH2 | R3TH2 | R2TH2 | R1TH2 | LTH2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | THERM2 Status |
23 | N/A | N/A | R8OPN | R7OPN | R6OPN | R5OPN | R4OPN | R3OPN | R2OPN | R1OPN | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Channel OPEN Status |
30 | 0F9C | Y | REN8 | REN7 | REN6 | REN5 | REN4 | REN3 | REN2 | REN1 | LEN | OS | SD | CR2 | CR1 | CR0 | BUSY | 0 | Configuration Register (Enables, OneShot, ShutDown, ConvRate, BUSY) |
38 | 0080 | Y | 0 | HYS11 | HYS10 | HYS9 | HYS8 | HYS7 | HYS6 | HYS5 | HYS4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | THERM Hysteresis |
39 | 7FC0 | Y | LTH1_12 | LTH1_11 | LTH1_10 | LTH1_09 | LTH1_08 | LTH1_07 | LTH1_06 | LTH1_05 | LTH1_04 | LTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Local Temperature THERM Limit |
3A | 7FC0 | Y | LTH2_12 | LTH2_11 | LTH2_10 | LTH2_09 | LTH2_08 | LTH2_07 | LTH2_06 | LTH2_05 | LTH2_04 | LTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Local Temperature THERM2 Limit |
40 | 0000 | Y | ROS12 | ROS12(2) | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote Temperature 1 Offset |
41 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 1 η-Factor Correction |
42 | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 1 THERM Limit |
43 | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 1 THERM2 Limit |
48 | 0000 | Y | ROS12 | ROS12 | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote Temperature 2 Offset |
49 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 2 η-Factor Correction |
4A | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 2 THERM Limit |
4B | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 2 THERM2 Limit |
50 | 0000 | Y | ROS12 | ROS12 | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote Temperature 3 Offset |
51 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 3 η-Factor Correction |
52 | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 3 THERM Limit |
53 | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 3 THERM2 limit |
58 | 0000 | Y | ROS12 | ROS12 | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote temperature 4 Offset |
59 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 4 η-Factor Correction |
5A | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 4 THERM Limit |
5B | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 4 THERM2 Limit |
60 | 0000 | Y | ROS12 | ROS12 | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote Temperature 5 Offset |
61 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 5 η-Factor Correction |
62 | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 5 THERM Limit |
63 | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 5 THERM2 Limit |
68 | 0000 | Y | ROS12 | ROS12 | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote Temperature 6 Offset |
69 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 6 η-Factor Correction |
6A | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 6 THERM Limit |
6B | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 6 THERM2 Limit |
70 | 0000 | Y | ROS12 | ROS12 | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote Temperature 7 Offset |
71 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 7 η-Factor Correction |
72 | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 7 THERM Limit |
73 | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 7 THERM2 Limit |
78 | 0000 | Y | ROS12 | ROS12 | ROS10 | ROS9 | ROS8 | ROS7 | ROS6 | ROS5 | ROS4 | ROS3 | ROS2 | ROS1 | ROS0 | 0 | 0 | 0 | Remote Temperature 8 Offset |
79 | 0000 | Y | RNC7 | RNC6 | RNC5 | RNC4 | RNC3 | RNC2 | RNC1 | RNC0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 8 η-Factor Correction |
7A | 7FC0 | Y | RTH1_12 | RTH1_11 | RTH1_10 | RTH1_09 | RTH1_08 | RTH1_07 | RTH1_06 | RTH1_05 | RTH1_04 | RTH1_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 8 THERM Limit |
7B | 7FC0 | Y | RTH2_12 | RTH2_11 | RTH2_10 | RTH2_09 | RTH2_08 | RTH2_07 | RTH2_06 | RTH2_05 | RTH2_04 | RTH2_03 | 0 | 0 | 0 | 0 | 0 | 0 | Remote Temperature 8 THERM2 Limit |
80 | 0000 | N/A | LT12 | LT11 | LT10 | LT9 | LT8 | LT7 | LT6 | LT5 | LT4 | LT3 | LT2 | LT1 | LT0 | 0 | 0 | 0 | Local Temperature (Block Read Range - Auto Increment Pointer Register) |
81 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 1 (Block Read Range - Auto Increment Pointer Register) |
82 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 2 (Block Read Range - Auto Increment Pointer Register) |
83 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 3 (Block Read Range - Auto Increment Pointer Register) |
84 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 4 (Block Read Range - Auto Increment Pointer Register) |
85 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 5 (Block Read Range - Auto Increment Pointer Register) |
86 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 6 (Block Read Range - Auto Increment Pointer Register) |
87 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 7 (Block Read Range - Auto Increment Pointer Register) |
88 | 0000 | N/A | RT12 | RT11 | RT10 | RT9 | RT8 | RT7 | RT6 | RT5 | RT4 | RT3 | RT2 | RT1 | RT0 | 0 | 0 | 0 | Remote Temperature 8 (Block Read Range - Auto Increment Pointer Register) |
C4 | 8000 | N/A | Write 0x5CA6 to lock registers and 0xEB19 to unlock registers | Lock Register. This locks the registers after initialization. | |||||||||||||||
Read back: locked 0x8000; unlocked 0x0000 | |||||||||||||||||||
FE | 5449 | N/A | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | Manufacturers Identification Register |
FF | 0468 | N/A | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | Device Identification/Revision Register |
The TMP468 device contains multiple registers for holding configuration information, temperature measurement results, and status information. These registers are described in Figure 21 and Table 3.
shows the internal register structure of the TMP468 device. The 8-bit pointer register addresses a given data register. The pointer register identifies which of the data registers must respond to a read or write command on the two-wire bus. This register is set with every write command. A write command must be issued to set the proper value in the pointer register before executing a read command. Table 3 describes the pointer register and the internal structure of the TMP468 registers. The power-on-reset (POR) value of the pointer register is 00h (0000 0000b). Table 3 lists a summary of the pointer values for the different registers. Writing data to unassigned pointer values are ignored and does not affect the operation of the device. Reading an unassigned register returns undefined data and is ACKed.
The TMP468 device has multiple 16-bit registers that hold 13-bit temperature measurement results. The 13 bits of the local temperature sensor result are stored in register 00h. The 13 bits of the eight remote temperature sensor results are stored in registers 01h through 08h. The four assigned LSBs of both the local (LT3:LT0) and remote (RT3:RT0) sensors indicate the temperature value after the decimal point (for example, if the temperature result is 10.0625°C, then the high byte is 0000 0101 and the low byte is 0000 1000). These registers are read-only and are updated by the ADC each time a temperature measurement is complete. Asynchronous reads are supported, so a read operation can occur at any time and results in valid conversion results being transmitted once the first conversion is complete after power up for the channel being accessed. If after power up a read is initiated before a conversion is complete, the read operation results in all zeros (0x0000).
The Software Reset Register allows the user to reset the TMP468 registers through software by setting the reset bit (RST, bit 15) to 1. The power-on-reset value for this register is 0x0000. Resets are ignored when the device is in lock mode, so writing a 1 to the RST bit does not reset any registers.
STATUS REGISTER (READ = 20h, WRITE = 20h, POR = 0x0000) | ||
---|---|---|
BIT NUMBER | BIT NAME | FUNCTION |
15 | RST | 1 software reset device; writing a value of 0 is ignored |
14-0 | 0 | Reserved for future use; always reports 0 |
The THERM Status register reports the state of the THERM limit comparators for local and eight remote temperatures. Table 5 lists the status register bits. The THERM Status register is read-only and is read by accessing pointer address 21h.
THERM STATUS REGISTER (READ = 21h, WRITE = N/A) | ||
---|---|---|
BIT NUMBER | BIT NAME | FUNCTION |
15 | R8TH | 1 when Remote 8 exceeds the THERM limit |
14 | R7TH | 1 when Remote 7 exceeds the THERM limit |
13 | R6TH | 1 when Remote 6 exceeds the THERM limit |
12 | R5TH | 1 when Remote 5 exceeds the THERM limit |
11 | R4TH | 1 when Remote 4 exceeds the THERM limit |
10 | R3TH | 1 when Remote 3 exceeds the THERM limit |
9 | R2TH | 1 when Remote 2 exceeds the THERM limit |
8 | R1TH | 1 when Remote 1 exceeds the THERM limit |
7 | LTH | 1 when Local sensor exceeds the THERM limit |
6:0 | 0 | Reserved for future use; always reports 0. |
The R8TH:R1TH and LTH flags are set when the corresponding temperature exceeds the respective programmed THERM limit (39h, 42h, 4Ah, 52h, 5Ah, 62h, 6Ah, 72h, 7Ah). These flags are reset automatically when the temperature returns below the THERM limit minus the value set in the THERM Hysteresis register (38h). The THERM output goes low in the case of overtemperature on either the local or remote channels, and goes high as soon as the measurements are less than the THERM limit minus the value set in the THERM Hysteresis register. The THERM Hysteresis register (38h) allows hysteresis to be added so that the flag resets and the output goes high when the temperature returns to or goes below the limit value minus the hysteresis value.
The THERM2 Status register reports the state of the THERM2 limit comparators for local and remote 1-8 temperatures. Table 6 lists the status register bits. The THERM2 Status register is read-only and is read by accessing pointer address 22h.
THERM2 STATUS REGISTER (READ = 22h, WRITE = N/A) | ||
---|---|---|
BIT NUMBER | BIT NAME | FUNCTION |
15 | R8TH2 | 1 when Remote 8 exceeds the THERM2 limit |
14 | R7TH2 | 1 when Remote 7 exceeds the THERM2 limit |
13 | R6TH2 | 1 when Remote 6 exceeds the THERM2 limit |
12 | R5TH2 | 1 when Remote 5 exceeds the THERM2 limit |
11 | R4TH2 | 1 when Remote 4 exceeds the THERM2 limit |
10 | R3TH2 | 1 when Remote 3 exceeds the THERM2 limit |
9 | R2TH2 | 1 when Remote 2 exceeds the THERM2 limit |
8 | R1TH2 | 1 when Remote 1 exceeds the THERM2 limit |
7 | LTH2 | 1 when Local Sensor exceeds the THERM2 limit |
6:0 | 0 | Reserved for future use; always reports 0. |
The R8TH2:R1TH2 and LTH2 flags are set when the corresponding temperature exceeds the respective programmed THERM2 limit (3Ah, 43h, 4Bh, 53h, 5Bh, 63h, 6Bh, 73h, 7Bh). These flags are reset automatically when the temperature returns below the THERM2 limit minus the value set in the THERM Hysteresis register (38h). The THERM2 output goes low in the case of overtemperature on either the local or remote channels, and goes high as soon as the measurements are less than the THERM2 limit minus the value set in the THERM Hysteresis register. The THERM Hysteresis register (38h) allows hysteresis to be added so that the flag resets and the output goes high when the temperature returns to or goes below the limit value minus the hysteresis value.
The Remote Channel Open Status register reports the state of the connection of remote channels one through eight. Table 7 lists the status register bits. The Remote Channel Open Status register is read-only and is read by accessing pointer address 23h.
REMOTE CHANNEL OPEN STATUS REGISTER (READ = 23h, WRITE = N/A) | ||
---|---|---|
BIT NUMBER | BIT NAME | FUNCTION |
15 | R8OPEN | 1 when Remote 8 channel is an open circuit |
14 | R7OPEN | 1 when Remote 7 channel is an open circuit |
13 | R6OPEN | 1 when Remote 6 channel is an open circuit |
12 | R5OPEN | 1 when Remote 5 channel is an open circuit |
11 | R4OPEN | 1 when Remote 4 channel is an open circuit |
10 | R3OPEN | 1 when Remote 3 channel is an open circuit |
9 | R2OPEN | 1 when Remote 2 channel is an open circuit |
8 | R1OPEN | 1 when Remote 1 channel is an open circuit |
7:0 | 0 | Reserved for future use; always reports 0. |
The R8OPEN:R1OPEN bits indicate an open-circuit condition on remote sensors eight through one, respectively. The setting of these flags does not directly affect the state of the THERM or THERM2 output pins. Indirectly, the temperature reading(s) may be erroneous and exceed the respective THERM and THERM2 limits, activating the THERM or THERM2 output pins.
The Configuration Register sets the conversion rate, starts one-shot conversion of all enabled channels, enables conversion the temperature channels, controls the shutdown mode and reports when a conversion is in process. The Configuration Register is set by writing to pointer address 30h, and is read from pointer address 30h. Table 8 summarizes the bits of the Configuration Register.
CONFIGURATION REGISTER (READ = 30h, WRITE = 30h, POR = 0x0F9C) | |||
---|---|---|---|
BIT NUMBER | NAME | FUNCTION | POWER-ON-RESET VALUE |
15:8 | REN8:REN1 | 1 = enable respective remote channel 8 through 1 conversions | 1111 1111 |
7 | LEN | 1 = enable local channel conversion | 1 |
6 | OS | 1 = start one-shot conversion on enabled channels | 0 |
5 | SD | 1 = enables device shutdown | 0 |
4:2 | CR2:CR0 | Conversion rate control bits; control conversion rates for all enabled channels from 16 seconds to continuous conversion | 111 |
1 | BUSY | 1 when the ADC is converting (read-only bit ignores writes) | 0 |
0 | Reserved | — | 0 |
The Remote Enable eight through one (REN8:REN1, bits 15:8) bits enable conversions on the respective remote channels. The Local Enable (LEN, bit 7) bit enables conversions of the local temperature channel. If all LEN and REN are set to 1 (default), this enables the ADC to convert the local and all remote temperatures. If the LEN is set to 0, the local temperature conversion is skipped. Similarly if a REN is set to 0, that remote temperature conversion channel is skipped. The TMP468 device steps through each enabled channel in a round-robin fashion in the following order: LOC, REM1, REM2, REM8, LOC, REM1, and so on. All local and remote temperatures are converted by the internal ADC by default after power up. The configuration register LEN and REN bits can be configured to save power by reducing the total ADC conversion time for applications that do not require all of the eight remote and local temperature information. Note writing all zeros to REN8:REN1 and LEN has the same effect as SD = 1 and OS = 0.
The shutdown bit (SD, bit 5) enables or disables the temperature-measurement circuitry. If SD = 0 (default), the TMP468 device converts continuously at the rate set in the conversion rate register. When SD is set to 1, the TMP468 device immediately stops the conversion in progress and instantly enters shutdown mode. When SD is set to 0 again, the TMP468 device resumes continuous conversions starting with the local temperature.
The BUSY bit = 1 if the ADC is making a conversion. This bit is set to 0 if the ADC is not converting.
After the TMP468 device is in shutdown mode, writing a 1 to the one-shot (OS, bit 6) bit starts a single ADC conversion of all the enabled temperature channels. This write operation starts one conversion and comparison cycle on either the eight remote and one local sensor or any combination of sensors, depending on the LEN and REN values in the Configuration Register (read address 30h). The TMP468 device returns to shutdown mode when the cycle is complete. Table 9 details the interaction of the SD, OS, LEN, and REN bits.
WRITE | READ | FUNCTION | ||||
---|---|---|---|---|---|---|
REN[8:1], LEN | OS | SD | REN[8:1], LEN | OS | SD | |
All 0 | — | — | All 0 | 0 | 1 | Shutdown |
At least 1 enabled | — | 0 | Written value | 0 | 0 | Continuous conversion |
At least 1 enabled | 0 | 1 | Written value | 0 | 1 | Shutdown |
At least 1 enabled | 1 | 1 | Written value | 1 | 1 | One-shot conversion |
The conversion rate bits control the rate that the conversions occur (CR2:CR0, bits 4:2). The value of CR2:CR0 bits controls the idle time between conversions but not the conversion time itself, which allows the TMP468 device power dissipation to be balanced with the update rate of the temperature register. Table 10 describes the mapping for CR2:CR0 to the conversion rate or temperature register update rate.
CR2:CR0 | DECIMAL VALUE | FREQUENCY (Hz) | TIME (s) |
---|---|---|---|
000 | 0 | 0.0625 | 16 |
001 | 1 | 0.125 | 8 |
010 | 2 | 0.25 | 4 |
011 | 3 | 0.5 | 2 |
100 | 4 | 1 | 1 |
101 | 5 | 2 | 0.5 |
110 | 6 | 4 | 0.25 |
111 | 7 | Continuous conversion; depends on number of enabled channels; see Table 11 (default). |
NUMBER OF REMOTE CHANNELS ENABLED | CONVERSION TIME (ms) | ||
---|---|---|---|
LOCAL DISABLED | LOCAL ENABLED | ||
0 | 0 | 15.5 | |
1 | 15.8 | 31.3 | |
2 | 31.6 | 47.1 | |
3 | 47.4 | 62.9 | |
4 | 63.2 | 78.7 | |
5 | 79 | 94.5 | |
6 | 94.8 | 110.3 | |
7 | 110.6 | 126.1 | |
8 | 126.4 | 141.9 |
The remaining bits of the configuration register are reserved and must always be set to 0. The POR value for this register is 0x0F9C.
The TMP468 device allows for a different η-factor value to be used for converting remote channel measurements to temperature for each temperature channel. There are eight η-Factor Correction registers assigned: one to each of the remote input channels (addresses 41h, 49h, 51h, 59h, 61h, 69h, 71h and 79h). Each remote channel uses sequential current excitation to extract a differential VBE voltage measurement to determine the temperature of the remote transistor. Equation 1 shows this voltage and temperature.
The value η in Equation 1 is a characteristic of the particular transistor used for the remote channel. The POR value for the TMP468 device is η = 1.008. The value in the η-Factor Correction register can be used to adjust the effective η-factor, according to Equation 2 and Equation 3.
The η-factor correction value must be stored in a two's-complement format, which yields an effective data range from –128 to +127. The POR value for each register is 0000h, which does not affect register values unless a different value is written to the register. The resolution of the η-factor register changes linearly as the code changes and has a range from 0.0004292 to 0.0005476, with an average of 0.0004848.
NADJUST ONLY BITS 15 TO 8 IN THE REGISTER ARE SHOWN | η | ||
---|---|---|---|
BINARY | HEX | DECIMAL | |
0111 1111 | 7F | 127 | 0.950205 |
0000 1010 | 0A | 10 | 1.003195 |
0000 1000 | 08 | 8 | 1.004153 |
0000 0110 | 06 | 6 | 1.005112 |
0000 0100 | 04 | 4 | 1.006073 |
0000 0010 | 02 | 2 | 1.007035 |
0000 0001 | 01 | 1 | 1.007517 |
0000 0000 | 00 | 0 | 1.008 |
1111 1111 | FF | –1 | 1.008483 |
1111 1110 | FE | –2 | 1.008966 |
1111 1100 | FC | –4 | 1.009935 |
1111 1010 | FA | –6 | 1.010905 |
1111 1000 | F8 | –8 | 1.011877 |
1111 0110 | F6 | –10 | 1.012851 |
1000 0000 | 80 | –128 | 1.073829 |
The offset registers allow the TMP468 device to store any system offset compensation value that may result from precision calibration. The value in these registers is added to the remote temperature results upon every conversion. Each of the eight temperature channels have an independent assigned offset register (addresses 40h, 48h, 50h, 58h, 60h, 68h, 70h, and 78h). Combined with the independent η-factor corrections, this function allows for very accurate system calibration over the entire temperature range for each remote channel. The format of these registers is the same as the temperature value registers with a range from +127.9375 to –128. Take care to program this register with sign extension, as values above +127.9375 and below –128 are not supported.
The THERM Hysteresis register (address 38h) sets the value of the hysteresis used by the temperature comparison logic. All temperature reading comparisons have a common hysteresis. Hysteresis prevents oscillations from occurring on the THERM and THERM2 outputs as the measured temperature approaches the comparator threshold (see the THERM Functions section). The resolution of the THERM Hysteresis register is 1°C and ranges from 0°C to 255°C.
Each of the eight remote and the local temperature channels has associated independent THERM and THERM2 Limit registers. There are nine THERM registers (addresses 39h, 42h, 4Ah, 52h, 5Ah, 62h, 6Ah, 72h, and 7Ah) and nine THERM2 registers (addresses 39h, 43h, 4Bh, 53h, 5Bh, 63h, 6Bh, 73h, and 7Bh), 18 registers in total. The resolution of these registers is 0.5°C and ranges from +255.5°C to –255°C. See the THERM Functions section for more information.
Setting a THERM limit to 255.5°C disables the THERM limit comparison for that particular channel and disables the limit flag from being set in the THERM Status register. This prevents the associated channel from activating the THERM output. THERM2 limits, status, and outputs function similarly.
Block reads can be initiated by setting the pointer register to 80h to 87h. The temperature results are mirrored at pointer addresses 80h to 88h; temperature results for all the channels can be read with one read transaction. Setting the pointer register to any address from 80h to 88h signals to the TMP468 device that a block of more than two bytes must be transmitted before a design stop is issued. In block read mode, the TMP468 device auto increments the pointer address. After 88h, the pointer resets to 80h. The master must NACK the last byte read so the TMP468 device can discontinue driving the bus, which allows the master to initiate a stop. In this mode, the pointer continuously loops in the address range from 80h to 88h, so the register may be easily read multiple times. Block read does not disrupt the conversion process.
Register C4h allows the device configuration and limit registers to lock, as shown by the Lock column in Table 3. To lock the registers, write 0x5CA6. To unlock the registers, write 0xEB19. When the lock function is enabled, reading the register yields 0x8000; when unlocked, 0x0000 is transmitted.
The TMP468 device allows the two-wire bus controller to query the device for manufacturer and device identifications (IDs) to enable software identification of the device at the particular two-wire bus address. The manufacturer ID is obtained by reading from pointer address FEh; the device ID is obtained from register FFh. Note that the most significant byte of the Device ID register identifies the TMP468 device revision level. The TMP468 device reads 0x5449 for the manufacturer code and 0x0468 for the device ID code for the first release.