SBAA588 April   2024 LM73 , LM75B , LM95071 , TMP100 , TMP101 , TMP102 , TMP103 , TMP104 , TMP107 , TMP1075 , TMP108 , TMP112 , TMP114 , TMP116 , TMP117 , TMP121 , TMP122 , TMP123 , TMP124 , TMP126 , TMP144 , TMP175 , TMP1826 , TMP1827 , TMP275 , TMP400 , TMP401 , TMP411 , TMP421 , TMP422 , TMP423 , TMP431 , TMP432 , TMP435 , TMP451 , TMP461 , TMP464 , TMP468 , TMP4718 , TMP75 , TMP75B , TMP75C

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 2's Complement
      1. 1.1.1 2's Complement Traits
    2. 1.2 Q Format
    3. 1.3 Common Temperature Data Format
    4. 1.4 High Accuracy Temperature Data Format
  5. 2Code Examples
    1. 2.1  16 Bits With Q7 Notation
      1. 2.1.1 Properties
      2. 2.1.2 C Code
    2. 2.2  12-bits With Q4 Notation
      1. 2.2.1 Properties
      2. 2.2.2 C Code
    3. 2.3  13-bits With Q4 Notation (EM=1)
      1. 2.3.1 Properties
      2. 2.3.2 C Code
    4. 2.4  13-bits With Q4 Notation
      1. 2.4.1 Properties
      2. 2.4.2 C Code
    5. 2.5  14-bits With Q6 Notation
      1. 2.5.1 Properties
      2. 2.5.2 C Code
    6. 2.6  TMP182x Formats
      1. 2.6.1 Properties
      2. 2.6.2 C Code
    7. 2.7  14-bits with Q5 Notation
      1. 2.7.1 Properties
      2. 2.7.2 C Code
    8. 2.8  8-bits With No Q Notation
      1. 2.8.1 Properties
      2. 2.8.2 C Code
    9. 2.9  11-bits With Q3 Notation
      1. 2.9.1 Properties
      2. 2.9.2 C Code
    10. 2.10 Devices Without 2's Complement
      1. 2.10.1 Properties
      2. 2.10.2 C Code
  6. 3Other Programming Languages
    1. 3.1 Parsing
    2. 3.2 2's Complement
    3. 3.3 Discard Unused Bits
    4. 3.4 Apply Q format
  7. 4Summary
  8. 5References
  9. 6Appendix: Q App Source Code
  10. 7Appendix: Device Summary Table

Common Temperature Data Format

Most digital temperature sensors, especially those with an I2C interface, utilize the 12 bit Q4 Format. The original LM75 sensor offers 9 bit resolution with Q1 Format. The LM75 sensor can only report in half degree increments with the single Q bit. Successors to the LM75 offered configurable 9/10/11/12 bit resolution. When enabled, these extra bits are Q bits, and offered Q1/Q2/Q3/Q4 formats respectively. Despite the extra bits, these formats are still 100% software compatible. The compatibility comes from the constant location of the Decimal point, shown in Figure 1-2; the output data is not shifted within the register when bits are missing.

One convenient feature of this format is that computing the temperature output can be greatly simplified if rational resolution is not needed. The upper eight bits of the result represent the whole number temperature, and don't need further calculation steps. See the example in the Figure below where the upper bits have a value of 32, and the temperature is 32.5625°C.

The caveat of this format is that the format can not express a temperature beyond 128°C, while modern sensors are rated for operation up to 150°C.

GUID-20230926-SS0I-GTRH-4Q2S-TVFN4B44858S-low.svg Figure 1-2 12-bit Q4 Format
Table 1-5 12-Bit Q4 Example Data
Temperature Digital Output
Binary Hex
127.9375°C 0111 1111 1111 0000 7FF0
125°C 0111 1101 0000 0000 7D00
25°C 0001 1001 0000 0000 1900
0.0625°C 0000 0000 0001 0000 0010
0°C 0000 0000 0000 0000 0000
−0.00625°C 1111 1111 1111 0000 FFF0
−25°C 1110 0111 0000 0000 E700
−40°C 1101 1000 0000 0000 D800