(Original report by Zach Eveland on 2/12/06)
Description and Introduction
The DS1631 measures environmental temperature and provides temperature readings serially to a circuit. In addition, the DS1631 can function in thermostat mode - in this case, the user programs the sensor with upper and lower temperature limits and the sensor changes the state on an output pin when one of the limits is reached.
At the heart of the DS1631 is a bandgap-based temperature sensor. An analog-to-digital (ADC) converter with user-selectable precision references this sensor and converts its output to a digital word. A number of associated components on the chip handle IO and sensor behavior.
The benefit of this type of temperature sensor over others is that it directly provides a serial representation of temperature in a relatively small package size. This frees a designer from dedicating microcontroller ADC resources or a dedicated ADC circuit to the job of converting the analog signals provided by other temperature sensing technologies. In addition, the DS1631 provides a linear output over its entire range, abrogating the need for lookup tables or specialized signal-conditioning circuits to achieve a linear response. The serial protocol used also allows up to eight of these devices to share a single two-wire serial bus and allows the designer the freedom to place temperature sensing components at a distance from the host circuit if desired.
This characteristic of the DS1631 means that microcontroller code and host circuits can be more easily ported and adapted without the need to build new conversion tables or take into account circuit anomalies.
This sensor can be used to monitor the temperature of an area or object and to either provide temperature information to a circuit or trigger some action when a certain temperature is reached. The manufacturer recommends this device for such applications as monitoring the temperature within electronics enclosures for networking equipment, cellular base stations, and portable products, but it should function just as well for reading ambient air temperature or even the temperature change resulting from a user picking up and holding a device.
The DS1631 is sensitive over a -55 (degree) C to +125 (degree) C range with an accuracy of (+-) 0.5 (degree) C in the 0 (degree) C to +70 (degree) C range. When used as a thermometer, readings are accessed serially with a user-selectable resolution from 9 to 12 bits. In thermostat mode, the sensor is pre-programmed by the user with upper and lower temperature limits and will change the state of output pin Tout when one of these limits is reached.
This sensor uses a two-wire serial interface that is funcitonally equivalent to I2C for reading and writing data. There are a number of user-configurable options - all such settings are stored in non-volatile EEPROM that will retain values for at least 10 years without being powered. The device's three address pins allow eight devices to share the same two-wire serial bus.
The DS1731 and DS1731A sensor families exhibit similiar characteristics and operations but with a few differences - see the relevant datasheet for these devices for more about their operation.
|Pin #||Pin Name||Description|
|1||SDA||Data input/output pin for 2-wire serial communication port. Open-drain.|
|2||SCL||Clock input pin for 2-wire serial communication port.|
|3||Tout||Thermostat output pin. Push-pull.|
|5||A2||Address input pin.|
|6||A1||Address input pin.|
|7||A0||Address input pin.|
|8||Vdd||Supply voltage pin. +2.7V to +5.5V power-supply pin|
The DS1631 can operate on a supply voltage from +2.7 V to +5.5 V and requires from 1.0 to 1.25 mA during normal operation (current draw is 800 nA in standby mode).
Temperature conversion time is dependent on the resolution selected and ranges from 93.75 ms for 9-bit resolution to 750 ms for 12-bit resolution. The temperature conversion time is a measure of how long the sensor takes to respond to a request from the host circuit and includes the time required to acquire a temperature reading and convert the temperature reading into a binary word.
All configuration of the DS1631 is through an on-chip configuration register whose contents are stored in non-volatile EEPROM. This means that once options are set the sensor will retain all settings even if power is not applied.
The DS1631 is packaged in a 300 mil 8-pin PDIP (also available in uSOP, SO, and lead-free DIP packages).
Conclusion and Questions:
The DS1631 sensor looks like a good choice for many temperature-measurement situations. The precision, range, and accuracy promised by the datasheet should be suitable for most typical applications and the response time, especially at 9 bits of resolution, should be fast enough for near-real time sensing.
One question that came up for me while reading the datasheet is whether the 2-wire serial communication scheme the chip uses is equivalent to and compatible with the I2C protocol. I remember hearing that licensing issues around the I2C trademark mean that many manufacturers that produce compatible devices refrain from referring to them by that name.
If the DS1631 is compatible with I2C signalling it should make interfacing it with a PIC or other microcontroller supporting the protocol pretty trivial.