LM71
AI

### Overview of the LM71 Temperature Sensor
The **LM71** is a high-precision digital temperature sensor produced by Texas Instruments. It features an integrated **Delta-Sigma ADC** (Analog-to-Digital Converter) and a **SPI/Microwire** compatible interface. It is primarily used in compact electronics where accurate thermal monitoring is required.
---
### Technical Specifications
The following table summarizes the key electrical and thermal characteristics of the LM71:
| Parameter | Specification |
| :--- | :--- |
| **Interface** | SPI / Microwire (3-wire) |
| **Resolution** | 14-bit (including sign bit) |
| **Accuracy** | ±1.5°C to ±2.0°C (typical) |
| **Temperature Range** | -40°C to +150°C |
| **Supply Voltage (Vcc)** | 2.65V to 5.5V |
| **Supply Current** | 400 µA (Typical), 600 µA (Max) |
| **LSB Value** | 0.03125°C per count |
---
### Pin Configuration (SOT-23 / VSSOP)
The LM71 is usually found in small 6-pin or 5-pin packages. Below is the pinout for the 6-pin SOT-23 package:
1. **SI/O:** Serial Input/Output (Data line).
2. **GND:** Ground.
3. **SC:** Serial Clock.
4. **V+:** Positive Supply Voltage.
5. **CS:** Chip Select (Active Low).
6. **NC:** No Connection (or Ground depending on specific variant).
---
### Key Internal Components
The chip functions through several interconnected electronic blocks:
* **Bandgap Temperature Sensor:** The sensing element that generates a voltage proportional to the absolute temperature.
* **14-bit Delta-Sigma ADC:** Converts the analog voltage from the sensor into a digital format.
* **Digital Control Logic:** Manages the communication between the sensor and the host microcontroller (MCU).
* **Status Register:** Holds the digital representation of the temperature to be shifted out during a SPI read cycle.
---
### Example Data Reading (Pseudocode)
To read the temperature from the LM71 via an MCU, you must pull **CS** low and clock in 16 bits of data.
```cpp
// Example logic for reading LM71 via SPI
digitalWrite(CS_PIN, LOW); // Activate sensor
uint16_t rawData = SPI.transfer16(0x0000); // Read 16-bit word
digitalWrite(CS_PIN, HIGH); // Deactivate sensor
// Shift right by 2 bits (LM71 uses 14 bits of temperature data)
int16_t tempCount = (int16_t)rawData >> 2;
// Calculate temperature (Resolution = 0.03125°C)
float temperatureC = tempCount * 0.03125;
```
---
### Applications
* **System Thermal Management:** Monitoring CPUs or GPUs.
* **Electronic Test Equipment:** Maintaining calibration stability.
* **Office Electronics:** Printers and copiers.
* **HVAC Systems:** Small-scale ambient sensing.
- ⤷How does the LM71 handle negative temperature readings in its 14-bit data format?
- ⤷ What is the power consumption of the LM71 in shutdown mode?
- ⤷ How do the LM71 and LM75 temperature sensors compare in terms of interface and precision?