SBOS726A October   2015  – October 2015 TMP107-Q1

PRODUCTION DATA.  

  1. Features
  2. Applications
  3. Description
  4. Revision History
  5. Description (continued)
  6. Pin Configuration and Functions
  7. Specifications
    1. 7.1 Absolute Maximum Ratings
    2. 7.2 ESD Ratings
    3. 7.3 Recommended Operating Conditions
    4. 7.4 Thermal Information
    5. 7.5 Electrical Characteristics
    6. 7.6 Timing Requirements
    7. 7.7 Typical Characteristics
  8. Detailed Description
    1. 8.1 Overview
    2. 8.2 Functional Block Diagram
    3. 8.3 Feature Description
      1. 8.3.1 Digital Temperature Output
      2. 8.3.2 Temperature Limits and Alert
        1. 8.3.2.1 ALERT1, ALERT2, R1, and R2 Pins
      3. 8.3.3 SMAART Wire Communication Interface
        1. 8.3.3.1 Communication Protocol
          1. 8.3.3.1.1 Calibration Phase
          2. 8.3.3.1.2 Command and Address Phase
            1. 8.3.3.1.2.1 Global or Individual (G/nI) Bit
            2. 8.3.3.1.2.2 Read/Write (R/nW) Bit
            3. 8.3.3.1.2.3 Command or Address (C/nA) Bit:
          3. 8.3.3.1.3 Register Pointer Phase
          4. 8.3.3.1.4 Data Phase
        2. 8.3.3.2 SMAART Wire Operations
          1. 8.3.3.2.1 Command Operations
            1. 8.3.3.2.1.1 Address Initialize
            2. 8.3.3.2.1.2 Last Device Poll
            3. 8.3.3.2.1.3 Global Software Reset
          2. 8.3.3.2.2 Address Operations
            1. 8.3.3.2.2.1 Individual Write
            2. 8.3.3.2.2.2 Individual Read
            3. 8.3.3.2.2.3 Global Write
            4. 8.3.3.2.2.4 Global Read
    4. 8.4 Device Functional Modes
      1. 8.4.1 Continuous-Conversion Mode
      2. 8.4.2 Shutdown Mode
      3. 8.4.3 One-Shot Mode
    5. 8.5 Programming
      1. 8.5.1 EEPROM
      2. 8.5.2 EEPROM Operations
        1. 8.5.2.1 EEPROM Unlock
        2. 8.5.2.2 EEPROM Lock
        3. 8.5.2.3 EEPROM Programming
        4. 8.5.2.4 EEPROM Acquire or Read
    6. 8.6 Register Map
      1. 8.6.1 Temperature Register (address = 0h) [reset = 0h]
      2. 8.6.2 Configuration Register (address = 1h) [reset = A000h]
      3. 8.6.3 High Limit 1 Register (address = 2h) [reset = 7FFCh]
      4. 8.6.4 Low Limit 1 Register (address = 3h) [reset = 8000h]
      5. 8.6.5 High Limit 2 Register (address = 4h) [reset = 7FFCh]
      6. 8.6.6 Low Limit 2 Register (address = 5h) [reset = 8000h]
      7. 8.6.7 EEPROM n Register (where n = 1 to 8) (addresses = 6h to Dh) [reset = 0h]
      8. 8.6.8 Die ID Register (address = Fh) [reset = 1107h]
  9. Application and Implementation
    1. 9.1 Application Information
    2. 9.2 Typical Applications
      1. 9.2.1 Connecting Multiple Devices
        1. 9.2.1.1 Design Requirements
        2. 9.2.1.2 Detailed Design Procedure
          1. 9.2.1.2.1 Voltage Drop Effect
          2. 9.2.1.2.2 EEPROM Programming Current
          3. 9.2.1.2.3 Power Savings
          4. 9.2.1.2.4 Accuracy
          5. 9.2.1.2.5 Electromagnetic Interference (EMI)
        3. 9.2.1.3 Application Curves
      2. 9.2.2 Connecting ALERT1 and ALERT2 Pins
      3. 9.2.3 ALERT1 and ALERT2 Pins Used as General-Purpose Output (GPO)
  10. 10Power Supply Recommendations
  11. 11Layout
    1. 11.1 Layout Guidelines
    2. 11.2 Layout Example
  12. 12Device and Documentation Support
    1. 12.1 Documentation Support
      1. 12.1.1 Related Documentation
    2. 12.2 Community Resources
    3. 12.3 Trademarks
    4. 12.4 Electrostatic Discharge Caution
    5. 12.5 Glossary
  13. 13Mechanical, Packaging, and Orderable Information

Package Options

Mechanical Data (Package|Pins)
Thermal pad, mechanical data (Package|Pins)
Orderable Information

8 Detailed Description

8.1 Overview

The TMP107-Q1 is a digital temperature sensor that is optimal for thermal monitoring of large areas over long distances. The robust UART-compatible SMAART wire interface transfers data over a single wire at distances of up to 1000 feet (300 meters) between consecutive devices in the chain, and is capable of communicating in a daisy-chained configuration with up to 32 devices on a single bus.

The TMP107-Q1 supports individual commands to a specific device in the daisy chain, and also supports global commands that allow multiple TMP107-Q1s in the chain to respond to a single command.

8.2 Functional Block Diagram

TMP107-Q1 System_Block_Diagram_sbos716.gif
NOTE: The temperature sensor of the TMP107-Q1 is the silicon chip. Thermal paths run through the package leads. The lower thermal resistance of metal enables the leads to provide the primary thermal path.

8.3 Feature Description

8.3.1 Digital Temperature Output

The 14-bit digital output from each temperature measurement conversion is stored in the temperature register. Read two bytes to obtain the data. Table 1 summarizes the temperature data format. Negative numbers are represented in binary twos complement format. The temperature sensor resolution is 0.015625ºC/LSB.

Table 1. Temperature Data Format

TEMPERATURE (°C) DIGITAL OUTPUT
BINARY HEX
127.984 01 1111 1111 1111 1FFF
100 01 1001 0000 0000 1900
80 01 0100 0000 1000 1408
75 01 0010 1100 0000 12C0
50 00 1100 1000 0000 C80
25 00 0110 0100 0000 640
0.25 00 0000 0001 0000 10
0 00 0000 0000 0000 0
–0.25 11 1111 1111 0000 3FF0
–25 11 1001 1100 0000 39C0
–55 11 0010 0100 0000 3240

Use the following rules to obtain the data 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 14-bit, left-justified format.

    Example: (50°C) / (0.015625°C / LSB) = 3200 = C80h = 00 1100 1000 0000 = C80h

  • To convert a positive digital data format to temperature:
  • Convert the 14-bit, left-justified, binary temperature result to a decimal number. Then, multiply the decimal number by the resolution to obtain the positive temperature.

    Example: 00 1100 1000 0000 = C80h = 3200 × (0.015625°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 14-bit, left-justified format. Then, generate the twos complement of the result by complementing the binary number and adding one.

    Example: (|–25°C|) / (0.015625°C / LSB) = 1600 = 640h = 00 0110 0100 0000

    Twos complement format: 11 1001 1011 1111 + 1 = 11 1001 1100 0000 = 39C0h

  • To convert a negative digital data format to temperature:
  • Generate the twos complement of the 14-bit, left-justified binary number of the temperature result by complementing the binary number and adding one. This number is the binary representation of the absolute value of the temperature. Convert to a decimal number and multiply by the resolution to obtain the absolute temperature, then multiply by –1 for the negative sign.

    Example: 11 1001 1100 0000 has a twos complement of 00 0110 0011 1111 + 1 = 00 0110 0100 0000

    Convert to temperature: 00 0110 0100 0000 = 640h = 1600; 1600 × (0.015625°C / LSB) = 25°C = (|–25°C|); (|–25°C|) × (–1) = –25°C

8.3.2 Temperature Limits and Alert

The TMP107-Q1 has two ALERTx pins (ALERT1 and ALERT2) for under- and overtemperature monitor functions. Both pins have independent, dynamically-programmable limits. At the end of each conversion, the temperature result is compared with the high limit and low limit registers. If the temperature is outside the limit window, the respective ALERTx pin trips. There are two polarity bits that set the active state of the ALERTx pin. The TMP107-Q1 has two flag bits (FHx and FLx) for each alert condition to indicate in which direction the temperature has moved outside of the limit window.

There are two operating modes used for alerts and flags: therm and alert. In therm mode, the ALERTx pins and FHx and FLx flags are outputs of a transparent comparator. In alert mode, the ALERTx pins and FHx and FLx flags are latched interrupts. Select between alert mode or therm mode by using the Tx/Ax (T1/A1 and T2/A2) bits in the configuration register.

In alert mode (Tx/Ax = 0, default), the high and low limits form a temperature window. At the end of a conversion, if the temperature result exceeds the high limit or is less than the low limit, the respective flag (either FHx or FLx) and the ALERTx pin are asserted. If the alert outputs of multiple TMP107-Q1s are connected together, the TMP107-Q1 tripped alerts are still identifiable. To clear the ALERTx pin, issue a global alert clear x command, or read the configuration register as shown in Figure 16. To clear the FHx or FLx flag, read the configuration register. Alert-mode operation is shown in Figure 16.

TMP107-Q1 ai_alertresp_sbos716.gif Figure 16. ALERTx Pin Behavior in Alert Mode (POLx = 0)

In therm mode (Tx/Ax = 1), the high and low limits are used to form an upper-limit threshold detector. If the temperature result exceeds the high limit, the FHx flag and the ALERTx pin are asserted. The FHx flag and the ALERTx pin are then deasserted only after the temperature falls below the low limit. In therm mode, only the FHx flag is active. The FLx flag always reads 0. In therm mode, ALERTx and the flags are asserted and deasserted only at the end of a conversion and cannot be cleared by a configuration register read or global alert clear x command. Figure 17 shows therm-mode operation.

TMP107-Q1 ai_thermresp_sbos716.gif Figure 17. ALERTx Pin Behavior in Therm Mode (POLx = 0)

The limit registers default values are programmed in the EEPROM, and are acquired during power up or reset. The values can be dynamically changed by writing to the register. Disable alert and flag functionality by programming the high limit register to the highest temperature (7FFCh) and the low limit register to the lowest temperature (8000h). When disabled, the alert pins can still be controlled by polarity bits POL1 and POL2 (bit 7 and bit 3, respectively, in the configuration register) so that they work like general-purpose outputs (GPOs).

8.3.2.1 ALERT1, ALERT2, R1, and R2 Pins

ALERT1 and ALERT2 are open-drain output pins that require pullup resistors to operate properly. The TMP107-Q1 contains internal 100-kΩ pullup resistors connected between pins ALERT1 and R1, and pins ALERT2 and R2. To use the internal pullup resistors, connect pins R1 and R2 to V+, or to a voltage suitable for use with pullup resistors in the system. If external pullup resistors are used, float pins R1 and R2.

8.3.3 SMAART Wire Communication Interface

The TMP107-Q1 uses a TI proprietary, one-wire, UART-compatible, bidirectional, communication protocol called SMAART wire. It is a true one-wire communication protocol where the host can communicate with multiple daisy-chained TMP107-Q1 devices. The host device can be an off-the-shelf UART transceiver, or a microcontroller in which communication is performed by bit banging of the GPIO pins. When bit banging, follow the communication protocol format and specified parameters. All TMP107-Q1 devices have the default device addresses set to 0h.

After the devices are assembled in a daisy-chain configuration per the application requirements, the host must send the address-initialize command. This command initializes the daisy-chain so that all of the devices in the chain are assigned a unique incremental address respective to their position from the host controller (see the Address Initialize section for more information). The generated device addresses are stored in the internal EEPROM memory of each TMP107-Q1 in the chain. After the address initialization process is completed, the TMP107-Q1 devices restore their addresses from their respective EEPROM memories upon reset events.

After the daisy-chain is initialized with the address-initialize command operation, the host device can perform individual read and write operations to any device in the daisy chain by directly addressing that device. The host can also perform global read, global write, or global software reset operations on all devices in the daisy chain.

The inactive state of the bus is logic high. Every communication operation in the SMAART wire protocol consists of multiple 10-bit words. Each word is transferred least significant bit (LSB) first, with a start bit that is logic low in the beginning, a stop bit that is logic high in the end, and 8-bit data located between the start and stop bits. Each phase consists of one or more words that are transferred least significant word first. By using a start bit and stop bit for each word, the TMP107-Q1 devices can detect the start of every word and maintain synchronous communication. SMAART wire protocol communication is divided into two categories: address operations and command operations. Address operations are used to perform individual and multiple device read and write operations. Command operations are address initialize, last device polling, and global software reset operations.

Figure 18 shows the top-level phase sequences for the two types of operation. Detailed descriptions with timing diagrams are provided.

TMP107-Q1 addr_cmd_ops_sbos716.gif Figure 18. Address and Command Operations

8.3.3.1 Communication Protocol

Only the host initiates communication. Before communication begins, all the daisy-chained devices are in transparent mode. In this mode, all the host operations are sequentially transferred to all the devices in the chain. The devices in the chain cannot communicate with each other with the exception of the address initialize command. After initialization, the devices in the chain are in one of the following four modes:

  • wait for a command from the host (default mode)
  • transmit the device data back to the host
  • transmit the commands from the host to the subsequent device in the chain
  • transmit the data from the subsequent device back to the host

8.3.3.1.1 Calibration Phase

The calibration phase is the first phase of every communication, and consists of the host sending 10-bits, as shown in Figure 19. Pull the line low in the beginning to notify each device that the host is initiating communication. Next, the host transmits calibration sequence 55h at the desired communication baud rate. The connected devices receive this calibration byte and calculate the baud rate to communicate with the host. This calibration byte is sent at the beginning of every operation; therefore, each address or command operation can be performed at a different baud rate.

TMP107-Q1 cal_phase_sbos716.gif Figure 19. Calibration Phase

8.3.3.1.2 Command and Address Phase

The second phase of every communication is the command and address phase. The values of the bits in this phase determine the format and structure of subsequent phases in the communication operation. Table 2 lists the command and address phase values.

Table 2. Command and Address Phase Values

COMMAND AND ADDRESS OPERATIONS COMMAND AND ADDRESS PHASE VALUES HEX VALUE
0 1 2 3 4 5 6 7
G/nI (LSB) R/nW C/nA AC0 AC1 AC2 AC3 AC4 (MSB)
Address initialize 1 0 1 0 1 0 0 1 95
Last device poll 1 1 1 0 1 0 1 0 57
Global software reset 1 0 1 1 1 0 1 0 5D
Global alert clear 1 1 0 1 0 1 1 0 1 B5
Global alert clear 2 1 0 1 0 1 1 1 0 75
Global read 1 1 0 A0 A1 A2 A3 A4 Varies based on A0-A4
Global write 1 0 0 A0 A1 A2 A3 A4 Varies based on A0-A4
Individual read 0 1 0 A0 A1 A2 A3 A4 Varies based on A0-A4
Individual write 0 0 0 A0 A1 A2 A3 A4 Varies based on A0-A4

8.3.3.1.2.1 Global or Individual (G/nI) Bit

The G/nI bit indicates if the communication is a global operation (intended for more than one device) or individual (intended for only one device).

All command operations are global; therefore, for command operations, always set the G/nI bit to 1.

For read and write address operations to multiple devices in the daisy chain simultaneously, set this bit to 1. To access an individual device, set the G/nI bit to 0.

During global operation, the host sets the address portion of the command to the maximum address required to perform the communication. For example, to perform a write to the high-limit register of all devices between addresses 1h to 5h in the daisy chain, set the G/nI bit to 1 and the address field to 5h. For individual accesses, set the address field to the desired device address.

8.3.3.1.2.2 Read/Write (R/nW) Bit

The R/nW bit indicates whether the operation is read or write to the TMP107-Q1 device.

8.3.3.1.2.3 Command or Address (C/nA) Bit:

The C/nA bit indicates whether the current communication is a command operation or address operation. The C/nA bit = 1 indicates a command operation. The codes for specific commands in the TMP107-Q1 are listed in Table 2. Codes other than those listed in Table 2 are reserved for factory use only.

The C/nA bit = 0 indicates an address operation. The five bits following the C/nA bit (A4 to A0) are the address bits of the device or devices that the host intends to communicate with in the chain, as shown in Figure 20.

TMP107-Q1 cmnd_addr_phase_sbos716.gif Figure 20. Command and Address Phase

8.3.3.1.3 Register Pointer Phase

The register pointer phase is provided only if the communication is an address operation. This phase of the communication shows the register pointer of the device that the host in going to write to or read from. The pointer byte has special identification code bits, as shown in Figure 21.

TMP107-Q1 reg_pointer_phase_sbos725.gif Figure 21. Register Pointer Phase

8.3.3.1.4 Data Phase

The data phase is the last phase of communication. Every register location consists of two words of data. Therefore, this last phase of communication consists of at least two bytes of data with the least significant byte sent first, followed by the most significant byte.

For a write operation, the host sends data to the device or devices at the specified register pointer location.

For a read operation, the specified device or devices respond back with the data from the location specified in the register pointer phase.

Depending on the value of G/nI bit in the command and address phase, the data in this phase are either written to a targeted individual device, or to multiple devices in the daisy-chain. Individual and global read or write operations are explained in more detail in subsequent sections. Figure 22 shows a diagram of the data phase.

TMP107-Q1 data_phase_sbos725.gif Figure 22. Data Phase for an Individual Read or Write Scenario

8.3.3.2 SMAART Wire Operations

This section describes various types of communication operations and is illustrated with timing diagrams. The diagrams in this section are used only to understand functional aspects of the communication; for timing aspects, see the Timing Requirements table. The color of the phases in Figure 23 through Figure 29 indicates the direction of the communication. The communication phases marked in black indicate the host controller is driving the bus. The communication phases marked in red indicate one of the devices in the daisy chain is responding to the host by driving the bus. The device communicates to the host controller through intermediate devices. The intermediate devices are automatically configured as buffers to allow data to pass through from the I/O2 pin to the I/O1 pin, and vice versa.

8.3.3.2.1 Command Operations

8.3.3.2.1.1 Address Initialize

The address-initialize command initializes the addresses of the devices in the daisy chain. This command must be performed one time because the addresses are stored in the devices EEPROM and loaded on every reset event.

After the address-initialize command phase, the host provides one word of address-assign, command-byte data, as shown in Figure 23. This word contains the desired address of the first device on the daisy chain in the A4:A0 field. Although any value from 0 to 31 is allowed for this field, it is recommended to keep first device address at 01h. The last device address must never exceed 31. After the address-assign command bytes have been transmitted by the host, the daisy chain goes through a sequence of position detection and self-programming events where the devices in the chain identify their respective locations on the bus. During this process, the host receives incremental address response data from the individual TMP107-Q1 devices in the daisy chain that indicate the point in the chain up to which the address assignment has been completed. These responses arrive at intervals of 7 ms. This procedure is represented in Figure 23.

TMP107-Q1 addr_init_sbos716.gif Figure 23. Address-Initialize Command

Until the initialization process is completed, daisy-chain communication is directed toward the host. Do not send any new commands to the chain during this period. If the address initialization sequence is interrupted as a result of glitches or disconnects in the daisy chain, the devices stall communication. In the event of a stall, each device has an internal timeout of one second (only for the address-initialize command). After one second, the communication interface in the TMP107-Q1 device resets, and the host regains control of the chain. Float the I/O2 pin of the last device in the chain. The address initialization procedure occurs serially from one device to the next; therefore, the maximum current consumed by the chain must not exceed the current required to initialize one device.

8.3.3.2.1.2 Last Device Poll

When the host issues a last-device-poll command, the last sensor on the initialized daisy chain responds back with the last device address, as shown in Figure 24. The last-device-poll command is also used to check if the daisy-chain address set is intact. If the daisy chain is not intact, the host does not receive a response to the last-device-poll command. This command only works if the last device in the chain was the last device during initialization. For example, if there are ten devices in the chain during address initialization and two devices are removed, running this command does not provide the host with the address of device eight. Device eight was not the last device during chain initialization, so it cannot report that device eight is the last device in the chain. In this example, the command is not answered.

TMP107-Q1 poll_sbos716.gif Figure 24. Last-Device-Poll Command

8.3.3.2.1.3 Global Software Reset

Use the global-software-reset command to issue a software reset to the chain in order for the devices to load the power-on reset values from EEPROM and clear the temperature result register. This command performs the same function as writing a 1 to RST (bit 1 in the configuration register). The sequence of this command is shown in Figure 25.

TMP107-Q1 global_reset_sbos716.gif Figure 25. Global Software Reset Command

8.3.3.2.2 Address Operations

8.3.3.2.2.1 Individual Write

Use the individual write operation to write data to a specific register in a specific device in the daisy chain, as shown in Figure 26.

TMP107-Q1 ind_write_sbos716.gif Figure 26. Individual Write Operation

8.3.3.2.2.2 Individual Read

Use the individual read operation to read the value of a register in a single device in the daisy chain, as shown in Figure 27. There is delay of up to 1.5 baud before the device responds back to the host. The host reads the data from the device by synchronizing to the falling edge of the start bit.

TMP107-Q1 ind_read_sbos716.gif Figure 27. Individual Read Address Operation

8.3.3.2.2.3 Global Write

Use the global write operation to write data to a specific register in multiple parts. The sequence of the communication is shown in Figure 28. Data in this operation are written to the registers in all the devices from the first device to the address specified in the address field of the command and address phase.

TMP107-Q1 global_write_sbos716.gif Figure 28. Global Write Operation

8.3.3.2.2.4 Global Read

Use the global read address operation to read the value of the register pointed to by the Register Pointer Phase section. The daisy chain returns data starting from the address specified in the command or address phase, and ending with the address of the first device in the daisy chain. The data phase of the global read address operation is different from other address operations because the data phase consists of data read back from every device on the bus between the addressed device and first device, as shown in Figure 29. If the address specified exceeds the address of the last device, the operation halts and the bus times out after 35 ms. There is a delay of up to 1.5 baud before the devices respond back to the host. The host reads the data from the devices by synchronizing to the falling edge of the start bits.

TMP107-Q1 global_read_sbos716.gif Figure 29. Global Read Operation

8.4 Device Functional Modes

8.4.1 Continuous-Conversion Mode

Continuous conversion is the default operating mode for the TMP107-Q1. In continuous-conversion mode, the TMP107-Q1 continuously measures temperature (see Table 6). After each temperature conversion, the temperature register updates with the conversion result, and the configuration register updates with the alert flags.

8.4.2 Shutdown Mode

Shutdown mode minimizes power dissipation because the TMP107-Q1 shuts down all of the internal active circuitry except for those that are required to allow communication with the device. During shutdown mode, all registers can be read from or written to. To trigger a single temperature conversion in shutdown mode, issue a one-shot command (see the One-Shot Mode section for more details). When the conversion is complete, the TMP107-Q1 returns to shutdown mode.

8.4.3 One-Shot Mode

One-shot mode triggers single temperature measurements by writing a 1 to OS (bit 12 in the configuration register) when the device is in shutdown mode. Following the completion of the single temperature conversion, the TMP107-Q1 returns to shutdown mode. Reading the OS bit always results in a 0. Use one-shot mode to achieve the lowest power consumption. For highest power savings and accuracy, do not communicate through the I/O bus during this mode.

8.5 Programming

8.5.1 EEPROM

The TMP107-Q1 has an internal EEPROM that is used to program and store values for writable registers, such as the configuration, high limit, and low limit registers. The EEPROM also has eight, 16-bit locations of general-purpose memory. By programming the configuration register, the EEPROM is used to store critical, system information, such as unique calibration information for the host, unique system serial ID, or a user-specific conversion rate. During the reset event, the data from the EEPROM are copied into the corresponding registers. Two registers that are not updated by the EEPROM are the temperature register and die identification register.

The electrical and timing specifications for the EEPROM are provided in the Specifications section. See Table 3 for the register map to the eight, internal EEPROM locations (register addresses 6h to Dh).

8.5.2 EEPROM Operations

8.5.2.1 EEPROM Unlock

After power up, the EEPROM is locked for programming by default. When locked, all writes to the EEPROM are ignored. In order to program the EEPROM, first unlock the memory for programming by writing logic 1 to NUS (bit 0 in the temperature register) using a regular write communication. EEPROM locations are readable whether locked or unlocked. Locking the EEPROM by default is a protection provided to prevent unintentional triggering of EEPROM programming during normal device operations.

8.5.2.2 EEPROM Lock

If the EEPROM is unlocked for programming, make sure to lock the EEPROM after the programming operations. Lock the EEPROM by writing logic 0 to NUS (bit 0 in the temperature register).

8.5.2.3 EEPROM Programming

After the EEPROM is unlocked, a write to any EEPROM-associated register triggers EEPROM programming. A programming event takes up to 16 ms, depending on the device conditions; therefore, space out successive commands in 16-ms write periods.

Poll BUSY (bit 1 in the temperature register) to check the EEPROM programming status. The BUSY bit = 1 when the EEPROM program is in progress. The BUSY bit = 0 after programming is complete and the EEPROM is ready for another program operation. While the EEPROM is being programmed, writes to every other register are prevented in order to protect device data from corruption until programming is complete.

When the global write operation is issued to program the EEPROM locations, all of the devices in the daisy chain specified within the address field perform the programming simultaneously. This simultaneous programming leads to an increase in current in the supply wire of the daisy chain, and may create a drop in the supply voltage. It is important to maintain the supply voltage at greater than 1.8 V during the EEPROM programming in order to program devices in the daisy chain.

8.5.2.4 EEPROM Acquire or Read

The EEPROM locations that store the power-on reset values of the registers are automatically loaded into the corresponding registers at reset. The general-purpose EEPROM locations are readable even when the EEPROM is locked. While a read is performed on an EEPROM location in the register map, there is a slightly longer delay in the stop bit (~100 µs) between the pointer phase and the phase data in the communication in order to allow the EEPROM to be read. The standard UART protocol allows for such delays when the UART transceiver is being used. The amount of current consumption from the EEPROM read is negligible compared to the current consumption from communication.

8.6 Register Map

Figure 30 shows the internal register structure of the TMP107-Q1.

TMP107-Q1 Internal_Register_Structure_sbos716.gif Figure 30. Register Structure

Table 3 describes the registers available with their addresses, followed by the description of the bits in each register. All register default values (except for the temperature register and die ID register) can be modified by writing to the EEPROM. All reset values listed are the factory-default values.

Table 3. Register Map and Pointer Addresses

P3 P2 P1 P0 ADDRESS (HEX) REGISTER NAME
0 0 0 0 0h Temperature register
0 0 0 1 1h Configuration register
0 0 1 0 2h High limit 1
0 0 1 1 3h Low limit 1
0 1 0 0 4h High limit 2
0 1 0 1 5h Low limit 2
0 1 1 0 6h EEPROM 1 register
0 1 1 1 7h EEPROM 2 register
1 0 0 0 8h EEPROM 3 register
1 0 0 1 9h EEPROM 4 register
1 0 1 0 Ah EEPROM 5 register
1 0 1 1 Bh EEPROM 6 register
1 1 0 0 Ch EEPROM 7 register
1 1 0 1 Dh EEPROM 8 register
1 1 1 1 Fh Die identification (read only)

8.6.1 Temperature Register (address = 0h) [reset = 0h]

The temperature register of the TMP107-Q1 is configured as a 16-bit register that stores the output of the most recent conversion and two status bits. Two bytes must be read to obtain data, and they are described in Figure 31. The upper 14 bits are used to indicate temperature. One LSB equals 0.015625°C. The temperature is represented in binary twos complement format. Following power-up or reset, the temperature register reads 0°C until the first conversion is complete. The remaining two bits indicate the EEPROM status. When the EEPROM is locked, the EEPROM cannot be programmed and all writes to the EEPROM addresses are ignored. By default, the EEPROM is locked for programming at power-on reset and must be unlocked in order to be programmed.

Figure 31. Temperature Register
15 14 13 12 11 10 9 8
T13 T12 T11 T10 T9 T8 T7 T6
R-0h
7 6 5 4 3 2 1 0
T5 T4 T3 T2 T1 T0 BUSY NUS
R-0h R-0h R/W-0h
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset

Table 4. Temperature Register Field Descriptions

Bit Field Type Reset Description
15-2 T13-T0 R 0h Temperature result (resolution of 0.015625°C). Range: –128°C to +128°C.
1 BUSY R 0h This bit indicates the status of the EEPROM.
0: Indicates that the EEPROM is ready; the EEPROM has finished the last transaction and is ready to accept new commands.
1: Indicates that the EEPROM is busy completing a command and must not be given more commands. Any new commands given to the EEPROM are ignored by the EEPROM controller.
0 NUS R/W 0h EEPROM unlock state.
0: EEPROM locations are locked for programming.
1: EEPROM locations are unlocked for programming.

8.6.2 Configuration Register (address = 1h) [reset = A000h]

The configuration register is a read and write register used to store bits that control the part operation. The format and power-up or reset value of the configuration register for the TMP107-Q1 is shown in Figure 32 and Table 5. When the NUS bit is 0, all writes to this register are stored in register logic. When NUS is 1, then all writes to this register program the EEPROM location that stores the configuration bits. Writes to this location are followed by a 16-ms wait period for programming the EEPROM. When the configuration register is written, the current conversion is aborted and new action is taken based on the new written bits. Thus, if the TMP107-Q1 is put into shutdown, the device goes into shutdown immediately. If the conversion rate is changed, any ongoing conversion is aborted and a new conversion starts with the new conversion rate.

Figure 32. Configuration Register
15 14 13 12 11 10 9 8
CR2 CR1 CR0 OS SD FH1 FL1 T1/A1
R/W-5h R/W-0h R/W-0h R-0h R-0h R/W-0h
7 6 5 4 3 2 1 0
POL1 FH2 FL2 T2/A2 POL2 Reserved RST Reserved
R/W-0h R-0h R-0h R/W-0h R/W-0h R-0h W-0h R-0h
LEGEND: R/W = Read/Write; R = Read only; W = Write only; -n = value after reset

Table 5. Configuration Register Field Descriptions

Bit Field Type Reset Description
15-13 CR2-CR0 R/W 5h Conversion rate.
The conversion rate bits control the update rate of the analog-to-digital converter (ADC). Table 6 describes the relationship between the values of the conversion rate bits and the corresponding conversion time and average quiescent current. These bits only affect continuous-conversion mode and not one-shot mode.
12 OS R/W 0h One-shot mode.
0: Default.
1: Starts a single temperature conversion if the SD bit is set to 1. The TMP107-Q1 returns to the shutdown state at the completion of the single conversion. When the configuration register is read, OS always reads zero.
11 SD R/W 0h Shutdown mode.
0: The TMP107-Q1 is in continuous-conversion mode.
1: The TMP107-Q1 is in shutdown mode. Initiate a conversion by writing a 1 to the OS bit.
10 FH1 R 0h High limit 1 flag.
0: Indicates that the temperature result does not exceed high limit 1.
1: Indicates when the temperature result exceeds high limit 1.
9 FL1 R 0h Low limit 1 flag. In therm mode, this bit is not used and always reads 0.
0: In alert mode, this bit indicates that the temperature result is greater than low limit 1.
1: In alert mode, this bit indicates when the temperature result is less than low limit 1.
8 T1/A1 R/W 0h Alert and therm mode 1.
0: Alert mode: In this mode, the high limit 1 and low limit 1 form a window. If the temperature result is greater than high limit 1 or less than low limit 1, the respective flag (either FH1 or FL1) is asserted. After the flag is asserted, clear the flag by reading the configuration register.
1: Therm mode: In this mode, the limits are used to form an upper limit threshold detector. If the temperature result is greater than high limit 1, the FH1 flag is asserted. The FH1 flag is then deasserted only after the temperature drops below low limit 1. In therm mode, only the FH1 flag is active. The FL1 flag always reads 0. In this mode, the flags are asserted and deasserted only at the end of a conversion and cannot be cleared by a configuration register read.
7 POL1 R/W 0h 0: Polarity of the ALERT1 pin is active low.
1: Polarity of the ALERT1 pin is active high.
6 FH2 R 0h High limit 2 flag.
0: Indicates that the temperature result does not exceed high limit 2.
1: Indicates when the temperature result exceeds high limit 2.
5 FL2 R 0h Low Limit 2 Flag. In therm mode, this bit is not used and always reads 0.
0: In alert mode, this bit indicates that the temperature result is greater than low limit 2.
1: In alert mode, this bit indicates when the temperature result is less than low limit 2.
4 T2/A2 R/W 0h Alert and therm mode 2.
0: Alert mode: in this mode, the high limit 2 and low limit 2 form a window. If the temperature result is greater than high limit 2 or less than low limit 2, the respective flag (either FH2 or FL2) is asserted. After the flag is asserted, clear the flag by reading the configuration register.
1: Therm mode: in this mode, the limits are used to form an upper limit threshold detector. If the temperature result is greater than high limit 2, the FH2 flag is asserted. The FH2 flag is then deasserted only after the temperature drops below low limit 2. In therm mode, only the FH2 flag is active. The FL2 flag always reads 0. In this mode, the flags are asserted and deasserted only at the end of a conversion and cannot be cleared by a configuration register read.
3 POL2 R/W 0h 0: Polarity of the ALERT2 pin is active low.
1: Polarity of the ALERT2 pin is active high.
2 Reserved R 0h Reserved
1 RST W 0h Software reset.
0: Default.
1: Reset. This bit is a write-only bit and is used to perform a software reset on the TMP107-Q1.
0 Reserved R/W 0h Reserved

Table 6. Conversion Rates

CR2 CR1 CR0 CONVERSION PERIOD CONVERSIONS PER SECOND AVERAGE IQ
(V+ = 3.3 V)
0 0 0 15 ms 62 200 µA
0 0 1 50 ms 20 20 µA
0 1 0 100 ms 10 15 µA
0 1 1 250 ms 4 11 µA
1 0 0 500 ms 2 9 µA
1 0 1 1 s (default) 1 (default) 7 µA
1 1 0 4 s 0.25 6 µA
1 1 1 16 s 0.0625 5 µA

8.6.3 High Limit 1 Register (address = 2h) [reset = 7FFCh]

Figure 33. High Limit 1 Register
15 14 13 12 11 10 9 8
TH1_13 TH1_12 TH1_11 TH1_10 TH1_9 TH1_8 TH1_7 TH1_6
R/W-7Fh
7 6 5 4 3 2 1 0
TH1_5 TH1_4 TH1_3 TH1_2 TH1_1 TH1_0 Reserved
R/W-3Fh R-0h
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset

Table 7. High Limit 1 Register Field Descriptions

Bit Field Type Reset Description
15-2 TH1_13-TH1_0 R/W 1FFFh High limit for alert function 1. Resolution is 0.015625°C. Data is in twos complement form.
1-0 Reserved R 0h Reserved

8.6.4 Low Limit 1 Register (address = 3h) [reset = 8000h]

Figure 34. Low Limit 1 Register
15 14 13 12 11 10 9 8
TL1_13 TL1_12 TL1_11 TL1_10 TL1_9 TL1_8 TL1_7 TL1_6
R/W-80h
7 6 5 4 3 2 1 0
TL1_5 TL1_4 TL1_3 TL1_2 TL1_1 TL1_0 Reserved
R/W-0h R-0h
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset

Table 8. Low Limit 1 Register Field Descriptions

Bit Field Type Reset Description
15-2 TL1_13-T1_L0 R/W 2000h Low limit for alert function 1. Resolution is 0.015625°C. Data is in twos complement form.
1-0 Reserved R 0h Reserved

8.6.5 High Limit 2 Register (address = 4h) [reset = 7FFCh]

Figure 35. High Limit 2 Register
15 14 13 12 11 10 9 8
TH2_13 TH2_12 TH2_11 TH2_10 TH2_9 TH2_8 TH2_7 TH2_6
R/W-7Fh
7 6 5 4 3 2 1 0
TH2_5 TH2_4 TH2_3 TH2_2 TH2_1 TH2_0 Reserved
R/W-3Fh R-0h
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset

Table 9. High Limit 2 Register Field Descriptions

Bit Field Type Reset Description
15-2 TH2_13-TH2_0 R/W 1FFFh High limit for alert function 2. Resolution is 0.015625°C. Data is in twos complement form.
1-0 Reserved R 0h Reserved

8.6.6 Low Limit 2 Register (address = 5h) [reset = 8000h]

Figure 36. Low Limit 2 Register
15 14 13 12 11 10 9 8
TL2_13 TL2_12 TL2_11 TL2_10 TL2_9 TL2_8 TL2_7 TL2_6
R/W-80h
7 6 5 4 3 2 1 0
TL2_5 TL2_4 TL2_3 TL2_2 TL2_1 TL2_0 Reserved
R/W-0h R-0h
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset

Table 10. Low Limit 2 Register Field Descriptions

Bit Field Type Reset Description
15-2 TL2_13-TL2_0 R/W 2000h Low limit for alert function 2. Resolution is 0.015625°C. Data is in twos complement form.
1-0 Reserved R 0h Reserved

8.6.7 EEPROM n Register (where n = 1 to 8) (addresses = 6h to Dh) [reset = 0h]

Figure 37. EEPROM Register
15 14 13 12 11 10 9 8
EEn_15 EEn_14 EEn_13 EEn_12 EEn_11 EEn_10 EEn_9 EEn_8
R/W-0h
7 6 5 4 3 2 1 0
EEn_7 EEn_6 EEn_5 EEn_4 EEn_3 EEn_2 EEn_1 EEn_0
R/W-0h
LEGEND: R/W = Read/Write; -n = value after reset

Table 11. EEPROM Register bits

Bit Field Type Reset Description
15-8 EEn_15-EEn_0 R/W 0h 16-bit programable EEPROM. Only available for programming when NUS (bit 0 in the temperature register) is set to 1. Writes to this location with the NUS bit set to 0 are ignored.

8.6.8 Die ID Register (address = Fh) [reset = 1107h]

Figure 38. Die ID Register
15 14 13 12 11 10 9 8
D15 D14 D13 D12 D11 D10 D9 D8
R-11h
7 6 5 4 3 2 1 0
D7 D6 D5 D4 D3 D2 D1 D0
R-07h
LEGEND: R = Read only; -n = value after reset

Table 12. Die ID Register Field Descriptions

Bit Field Type Reset Description
15-0 D15 - D0 R 1107h The die ID register is a read-only register.