SNAS658C May   2015  – December 2015 HDC1050

PRODUCTION DATA.  

  1. Features
  2. Applications
  3. Description
  4. Typical Application
  5. Revision History
  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 I2C Interface Electrical Characteristics
    7. 7.7 I2C Interface Timing Requirements
    8. 7.8 Typical Characteristics
  8. Detailed Description
    1. 8.1 Overview
    2. 8.2 Functional Block Diagram
    3. 8.3 Feature Description
      1. 8.3.1 Power Consumption
      2. 8.3.2 Voltage Supply Monitoring
      3. 8.3.3 Heater
    4. 8.4 Device Functional Modes
    5. 8.5 Programming
      1. 8.5.1 I2C Interface
        1. 8.5.1.1 Serial Bus Address
        2. 8.5.1.2 Read and Write Operations
        3. 8.5.1.3 Device Measurement Configuration
    6. 8.6 Register Map
      1. 8.6.1 Temperature Register
      2. 8.6.2 Humidity Register
      3. 8.6.3 Configuration Register
      4. 8.6.4 Serial Number Registers
      5. 8.6.5 Manufacturer ID Register
      6. 8.6.6 Device Register ID
  9. Application and Implementation
    1. 9.1 Application Information
    2. 9.2 Typical Application
      1. 9.2.1 Design Requirements
      2. 9.2.2 Detailed Design Procedure
      3. 9.2.3 Application Curve
    3. 9.3 Do's and Don'ts
      1. 9.3.1 Soldering
      2. 9.3.2 Hydration Procedure
      3. 9.3.3 Chemical Exposure and Sensor Protection
  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 HDC1050 is a digital humidity sensor with integrated temperature sensor that provides excellent measurement accuracy at very low power. The sensing element of the HDC1050 is placed on the top part of the device. Measurement results can be read out through the I2C compatible interface. Resolution is based on the measurement time and can be 8, 11, or 14 bits for humidity; 11 or 14 bits for temperature.

8.2 Functional Block Diagram

HDC1050 BD.gif

8.3 Feature Description

8.3.1 Power Consumption

One of the key features of the HDC1050 is its low power consumption, which makes the device suitable in battery or power harvesting applications. In these applications the HDC1050 spends most of the time in sleep mode: with a typical 100nA of current consumption in sleep mode, the averaged current consumption is minimal. Its low consumption in measurement mode minimizes any self-heating.

8.3.2 Voltage Supply Monitoring

The HDC1050 monitors the supply voltage level and indicates when the voltage supply of the HDC1050 is less than 2.8V. This information is useful in battery-powered systems in order to inform the user to replace the battery. This is reported in the BTST field (register address 0x02:bit[11]) which is updated after POR and after each measurement request.

8.3.3 Heater

The heater is an integrated resistive element that can be used to test the sensor or to drive condensation off the sensor. The heater can be activated using HEAT, bit 13 in the Configuration Register. The heater helps in reducing the accumulated offset after long exposure at high humidity conditions.

Once enabled the heater is turned on only in the measurement mode. To accelerate the temperature increase it is suggested to increase the measurement data rate.

8.4 Device Functional Modes

The HDC1050 has two modes of operation: sleep mode and measurement mode. After power up, the HDC1050 is in sleep mode. In this mode, the HDC1050 waits for I2C input including commands to configure the conversion times, read the status of the battery, trigger a measurement, and read measurements. Once it receives a command to trigger a measurement, the HDC1050 moves from sleep mode to measurement mode. After completing the measurement the HDC1050 returns to sleep mode.

8.5 Programming

8.5.1 I2C Interface

The HDC1050 operates only as a slave device on the I2C bus interface. It is not allowed to have on the I2C bus multiple devices with the same address. Connection to the bus is made via 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. After power-up, the sensor needs at most 15 ms, to be ready to start RH and temperature measurement. During this power-up time the HDC1050 is only able to provide the content of the serial number registers (0xFB to 0xFF) if requested. After the power-up the sensor is in the sleep mode until a communication or measurement is performed. All data bytes are transmitted MSB first.

8.5.1.1 Serial Bus Address

To communicate with the HDC1050, the master must first address slave devices via a slave address byte. The slave address byte consists of seven address bits, and a direction bit that indicates the intent to execute a read or write operation. The I2C address of the HDC1050 is 1000000 (7-bit address).

8.5.1.2 Read and Write Operations

To access a particular register on the HDC1050, write the desired register address value to the Pointer Register. The pointer value is the first byte transferred after the slave address byte with the R/W bit low. Every write operation to the HDC1050 requires a value for the pointer register (refer to Figure 10).

When reading from the HDC1050, the last value stored in the pointer by a write operation is used to determine which register is accessed by a read operation. To change the pointer register for a read operation, a new value must be written to the pointer register. This transaction is accomplished by issuing the slave address byte with the R/W bit low, followed by the pointer byte. No additional data is required (refer to Figure 11).

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. Note that register bytes are sent MSB first, followed by the LSB. A write operation in a read-only register such as (DEVICE ID, MANUFACTURER ID, SERIAL ID) returns a NACK after each data byte; read/write operation to unused address returns a NACK after the pointer; a read/write operation with incorrect I2C address returns a NACK after the I2C address.

HDC1050 WRTCONF.gif Figure 10. Writing Frame (Configuration Register)
HDC1050 RDCONF.gif Figure 11. Reading Frame (Configuration Register)

8.5.1.3 Device Measurement Configuration

By default the HDC1050 will first perform a temperature measurement followed by a humidity measurement. On power-up, the HDC1050 enters a low power sleep mode and is not actively measuring. Use the following steps to perform a measurement of both temperature and humidity and then retrieve the results:

  1. Configure the acquisition parameters in register address 0x02:
    1. Set the acquisition mode to measure both temperature and humidity by setting Bit[12] to 1.
    2. Set the desired temperature measurement resolution:
      • Set Bit[10] to 0 for 14 bit resolution.
      • Set Bit[10] to 1 for 11 bit resolution.
    3. Set the desired humidity measurement resolution:
      • Set Bit[9:8] to 00 for 14 bit resolution.
      • Set Bit[9:8] to 01 for 11 bit resolution.
      • Set Bit[9:8] to 10 for 8 bit resolution.
  2. Trigger the measurements by executing a pointer write transaction with the address pointer set to 0x00. Refer to Figure 12.
  3. Wait for the measurements to complete, based on the conversion time (refer to Electrical Characteristics for the conversion time).
  4. Read the output data:
  5. Read the temperature data from register address 0x00, followed by the humidity data from register address 0x01 in a single transaction as shown in Figure 14. A read operation will return a NACK if the contents of the registers have not been updated as shown in Figure 13.

To perform another acquisition with the same measurement configuration simply repeat steps 2 through 4.

If only a humidity or temperature measurement is desired, the following steps will perform a measurement and retrieve the result:

  1. Configure the acquisition parameters in register address 0x02:
    1. Set the acquisition mode to independently measure temperature or humidity by setting Bit[12] to 0.
    2. For a temperature measurement, set the desired temperature measurement resolution:
      • Set Bit[10] to 0 for 14 bit resolution.
      • Set Bit[10] to 1 for 11 bit resolution.
    3. For a humidity measurement, set the desired humidity measurement resolution:
      • Set Bit[9:8] to 00 for 14 bit resolution.
      • Set Bit[9:8] to 01 for 11 bit resolution.
      • Set Bit[9:8] to 10 for 8 bit resolution.
  2. Trigger the measurement by executing a pointer write transaction. Refer to Figure 12
    • Set the address pointer to 0x00 for a temperature measurement.
    • Set the address pointer to 0x01 for a humidity measurement.
  3. Wait for the measurement to complete, based on the conversion time (refer to Electrical Characteristics for the conversion time).
  4. Read the output data:
  5. Retrieve the completed measurement result from register address 0x00 or 0x01, as appropriate, as shown in Figure 11. A read operation will return a NACK if the measurement result is not yet available, as shown in Figure 13.

To perform another acquisition with the same measurement configuration repeat steps 2 through 4.

It is possible to read the output registers (addresses 0x00 and 0x01) during a Temperature or Relative Humidity measurement without affecting any ongoing measurement. Note that a write to address 0x00 or 0x01 while a measurement is ongoing will abort the ongoing measurement.

HDC1050 TRIGRT.gif Figure 12. Trigger Humidity/Temperature Measurement
HDC1050 DTNR.gif Figure 13. Read Humidity/Temperature Measurement (Data Not Ready)
HDC1050 DTRHT.gif Figure 14. Read Humidity and Temperature Measurement (Data Ready)

8.6 Register Map

The HDC1050 contains data registers that hold configuration information, temperature and humidity measurement results, and status information.

Table 1. Register Map

Pointer Name Reset value Description
0x00 Temperature 0x0000 Temperature measurement output
0x01 Humidity 0x0000 Relative Humidity measurement output
0x02 Configuration 0x1000 HDC1050 configuration and status
0xFB Serial ID device dependent First 2 bytes of the serial ID of the part
0xFC Serial ID device dependent Mid 2 bytes of the serial ID of the part
0xFD Serial ID device dependent Last byte bit of the serial ID of the part
0xFE Manufacturer ID 0x5449 ID of Texas Instruments
0xFF Device ID 0x1050 ID of HDC1050 device

Registers addresses 0x03 to 0xFA are reserved and should not be written.

The HDC1050 has an 8-bit pointer used to address a given data register. The pointer identifies which of the data registers should 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 before executing a read command. The power-on reset (POR) value of the pointer is 0x00, which selects a temperature measurement.

8.6.1 Temperature Register

The temperature register is a 16-bit result register in binary format (the 2 LSBs D1 and D0 are always 0). The result of the acquisition is always a 14 bit value. The accuracy of the result is related to the selected conversion time (refer to Electrical Characteristics). The temperature can be calculated from the output data with:

HDC1050 EQTEMP_2.gif

Table 2. Temperature Register Description (0x00)

Name Bits Description
TEMPERATURE [15:02] Temperature Temperature measurement (read only)
[01:00] Reserved Reserved, always 0 (read only)

8.6.2 Humidity Register

The humidity register is a 16-bit result register in binary format (the 2 LSBs D1 and D0 are always 0). The result of the acquisition is always a 14 bit value, while the accuracy is related to the selected conversion time (refer to Electrical Characteristics). The humidity can be calculated from the output data with:

HDC1050 EQRH_2.gif

Table 3. Humidity Register Description (0x01)

Name Bits Description
HUMIDITY [15:02] Relative Humidity Relative Humidity measurement (read only)
[01:00] Reserved Reserved, always 0 (read only)

8.6.3 Configuration Register

This register configures device functionality and returns status.

Table 4. Configuration Register Description (0x02)

NAME Bits DESCRIPTION
RST [15] Software reset bit 0 Normal Operation, this bit self clears
1 Software Reset
Reserved [14] Reserved 0 Reserved, must be 0
HEAT [13] Heater 0 Heater Disabled
1 Heater Enabled
MODE [12] Mode of acquisition 0 Temperature or Humidity is acquired.
1 Temperature and Humidity are acquired in sequence, Temperature first.
BTST [11] Battery Status 0 Battery voltage > 2.8V (read only)
1 Battery voltage < 2.8V (read only)
TRES [10] Temperature Measurement Resolution 0 14 bit
1 11 bit
HRES [9:8] Humidity Measurement Resolution 00 14 bit
01 11 bit
10 8 bit
Reserved [7:0] Reserved 0 Reserved, must be 0

8.6.4 Serial Number Registers

These registers contain a 40bit unique serial number for each individual HDC1050.

Table 5. Serial Number Register Description (0xFB)

Name Bits Description
SERIAL ID[40:25] [15:0] Serial Id bits Device Serial Number bits from 40 to 25 (read only)

Table 6. Serial Number Register Description (0xFC)

Name Bits Description
SERIAL ID[24:9] [15:0] Serial Id bits Device Serial Number bits from 24 to 9(read only)

Table 7. Serial Number Register Description (0xFD)

Name Bits Description
SERIAL ID[8:0] [15:7] Serial Id bits Device Serial Number bits from 8 to 0 (read only)
[6:0] Reserved Reserved, always 0 (read only)

8.6.5 Manufacturer ID Register

This register contains a factory-programmable identification value that identifies this device as being manufactured by Texas Instruments. This register distinguishes this device from other devices that are on the same I2C bus. The manufacturer ID reads 0x5449.

Table 8. Manufacturer ID Register Description (0xFE)

Name Bits Description
MANUFACTURER ID [15:0] Manufacturer ID 0x5449 Texas instruments ID (read only)

8.6.6 Device Register ID

This register contains a factory-programmable identification value that identifies this device as a HDC1050. This register distinguishes this device from other devices that are on the same I2C bus. The Device ID for the HDC1050 is 0x1050.

Table 9. Device ID Register Description (0xFF)

Name Bits Description
DEVICE ID [15:0] Device ID 0x1050 HDC1050 Device ID (read only)