SNIS233A February   2024  – July 2024 TMP110

PRODUCTION DATA  

  1.   1
  2. Features
  3. Applications
  4. Description
  5. Related Products
  6. Pin Configuration and Functions
  7. Specifications
    1. 6.1 Absolute Maximum Ratings
    2. 6.2 ESD Ratings
    3. 6.3 Recommended Operating Conditions
    4. 6.4 Thermal Information
    5. 6.5 Electrical Characteristics
    6. 6.6 I2C Interface Timing
    7. 6.7 Timing Diagrams
    8. 6.8 Typical Characteristics
  8. Detailed Description
    1. 7.1 Overview
    2. 7.2 Functional Block Diagram
    3. 7.3 Feature Description
      1. 7.3.1 Digital Temperature Output
      2. 7.3.2 Decoding Temperature Data
      3. 7.3.3 Temperature Limits and Alert
    4. 7.4 Device Functional Modes
      1. 7.4.1 Continuous-Conversion Mode
      2. 7.4.2 One-Shot Mode
    5. 7.5 Programming
      1. 7.5.1 Serial Interface
      2. 7.5.2 Bus Overview
      3. 7.5.3 Device Address
      4. 7.5.4 Bus Transactions
        1. 7.5.4.1 Writes
        2. 7.5.4.2 Reads
        3. 7.5.4.3 General Call Reset Function
        4. 7.5.4.4 SMBus Alert Response
        5. 7.5.4.5 Time-Out Function
        6. 7.5.4.6 Coexist on I3C Mixed Bus
  9. Register Map
    1. 8.1 Temp_Result Register (address = 00h) [reset = xxxxh]
    2. 8.2 Configuration Register (address = 01h) [reset = 60A0h]
    3. 8.3 TLow_Limit Register (address = 02h) [reset = 4B00h]
    4. 8.4 THigh_Limit Register (address = 03h) [reset = 5000h]
  10. Application and Implementation
    1. 9.1 Application Information
    2. 9.2 Equal I2C Pullup and Supply Application
      1. 9.2.1 Design Requirements
      2. 9.2.2 Detailed Design Procedure
      3. 9.2.3 Application Curve
      4. 9.2.4 Power Supply Recommendations
    3. 9.3 Layout
      1. 9.3.1 Layout Guidelines
      2. 9.3.2 Layout Example
  11. 10Device and Documentation Support
    1. 10.1 Documentation Support
      1. 10.1.1 Related Documentation
    2. 10.2 Receiving Notification of Documentation Updates
    3. 10.3 Support Resources
    4. 10.4 Trademarks
    5. 10.5 Electrostatic Discharge Caution
    6. 10.6 Glossary
  12. 11Revision History
  13. 12Mechanical, Packaging, and Orderable Information

Decoding Temperature Data

The TMP110 temperature registers use a 12-bit format. The 12 bits are aligned to the left side, or most significant side, of the 16-bit word. The four unused bits are on the right side, or least significant side. For this reason, a shift is needed to discard the extra bits. 2’s Complement is employed to describe negative temperatures. C code can easily convert the 2’s Complement data when the data is typecast into the correct signed data type. Q notation describes the number of bits which represent a fractional result. 4 bits of fractional data, known as Q4, offers 0.0625°C resolution.

Table 7-4 12-Bit Q4 Encoding Parameters
PARAMETER VALUE
Bits 12
Q 4
Resolution 0.0625
Range (+) 127.9375
Range (–) -128
25˚C 0x0190
Table 7-5 12-Bit Q4 Bit Values in °C
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Sign 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 - - - -
-128 64 32 16 8 4 2 1 1/2 1/4 1/8 1/16 - - - -

-27

26

25

24

23

22

21

20

2-1

2-2

2-3

2-4

- - - -
/* 12-bit format will have 4 bits discarded by right shift
 q4 is 0.062500 resolution
 the following bytes represent 24.5C */
uint8_t byte1 = 0x18;
uint8_t byte2 = 0x80;
float f = (((int8_t) byte1 << 8 | byte2) >> 4) * 0.0625f;
int mC = (((int8_t) byte1 << 8 | byte2) >> 4) * 1000 >> 4;
int C = (int8_t) byte1;

Similarly, in extended mode, the temperature register is extended to a 13-bit format with the same resolution (Q4). This changes the range and effective bits but the resolution remains the same. For this reason, the bit shift also changes. Encoding and C code examples for extended mode are shown below.

Table 7-6 13-Bit Q4 Encoding Parameters
PARAMETERVALUE
Bits13
Q4
Resolution0.0625
Range (+)255.9375
Range (–)-256
25˚C0xC80
Table 7-7 13-Bit Q4 Bit Values in °C
1514131211109876543210
Sign12864321684210.50.250.1250.0625---
-25612864321684211/21/41/81/16---
-28

27

26

25

24

23

22

21

20

2-1

2-2

2-3

2-4

---
/* 13-bit format will have 3 bits discarded by right shift
 q4 is 0.062500 resolution
 the following bytes represent 24.5C */
uint8_t byte1 = 0xC;
uint8_t byte2 = 0x40;
float f = (((int8_t) byte1 << 8 | byte2) >> 3) * 0.0625f;
int mC = (((int8_t) byte1 << 8 | byte2) >> 3) * 1000 >> 4;
int C = (((int8_t) byte1 << 8 | byte2) >> 3) >> 4;