DS1821 Programmable Digital Thermostat www.dalsemi.com FEATURES PIN ASSIGNMENT Requires no external components Measures temperatures from -55°C to +125°C in 1°C increments. Fahrenheit equivalent is 67°F to +257°F in 1.8°F increments DS1821 Converts temperature to digital word in 1 second (max.) Thermostatic settings are user definable and nonvolatile Available in 3-pin PR35, TO-220, and 8-pin SOIC packages Applications include thermostatic controls, industrial systems, consumer products, thermometers, or any thermally sensitive system DS1821 PR35 PACKAGE See Mech. Drawing Section DS1821T TO-220 PACKAGE See Mech. Drawing Section DQ 1 8 VDD GND 2 7 NC NC 3 6 NC DNC 4 5 DNC DS1821S 8-Pin SOIC (208-mil) See Mech Drawings Section PIN DESCRIPTION GND DQ VDD NC DNC - Ground - Data In/Out - Power Supply Voltage +5V - No Connect - Do Not Connect DESCRIPTION The DS1821 Programmable Digital Thermostat provides a thermal alarm logic output when the temperature of the device exceeds a user-defined temperature TH. The output remains active until the temperature drops below user defined temperature TL, allowing for any hysteresis necessary. User-defined temperature settings are stored in nonvolatile memory, so parts can be programmed prior to insertion in a system. Communication to/from the DS1821 is accomplished through the DQ pin in a programming mode; this same pin is used in operation as the thermostat output. 1 of 16 112099 DS1821 DETAILED PIN DESCRIPTION PIN PR35 1 2 PIN TO-220 2/TAB 3 PIN 8-PIN SOIC 2 1 SYMBOL GND DQ DESCRIPTION Ground. Data input/output pin for 1-WireTM programming operation; Thermostat output pin in normal operation. 3 1 8 VDD VDD pin. +5V nominal. DS1821S (8-pin SOIC): All pins not specified in this table are not to be connected. OVERVIEW The block diagram of Figure 1 shows the major components of the DS1821. The DS1821 has two operating modes: 1-WireTM and thermostat. The part arrives from the factory in 1-Wire mode. In this mode, the DQ pin of the DS1821 is configured as a 1-Wire communication port which would be connected to a microprocessor. The microprocessor will write data into the high and low temperature trigger registers, TH and TL, respectively, to set up the temperature limits for thermostat operation. In this mode, the result of the last temperature measurement made by the DS1821 may also be read directly by the microprocessor. Once temperature limits have been set and thermometer operation has been verified, the user may convert the DS1821 from a temperature sensor into a thermostat by writing to a bit in the status register. The part will then be configured for thermostat operation; this will also become the default power-up state for the device on the subsequent power up. In thermostat mode, the DQ line becomes the thermostat output. This open drain output will go to its active state (programmable on/off) when the temperature of the DS1821 goes above the limit set in the TH register, and will remain active until the temperature goes below the limit programmed into the TL register. If the user wishes to establish communications with the DS1821 once it has been placed in thermostat mode (for example, to change temperature trip point limits), this may be done by dropping V DD while holding the DQ line high, then clocking the DQ line 16 times. The part will then be placed into 1-Wire mode, and will allow the I/O functions of the device to operate, and reads from or writes to the memory are possible. This does not change the power-up state of the device, unless the user writes the configuration bit to do so. 2 of 16 DS1821 DS1821 BLOCK DIAGRAM Figure 1 OPERATION Temperature Measurement The DS1821 measures temperatures through the use of an onboard proprietary temperature measurement technique. The temperature reading is provided in an 8-bit, two’s complement reading. Table 1 describes the exact relationship of output data to measured temperature. The data is transmitted serially over the 1Wire interface. The DS1821 can measure temperature over the range of -55°C to +125°C in 1°C increments. For Fahrenheit usage, a lookup table or conversion factor must be used. Please refer to Application Note 105 for the method to increase the resolution of the DS1821. TEMPERATURE/DATA RELATIONSHIPS Table 1 TEMPERATURE +125°C +25°C 0°C -1°C -25°C -55°C DIGITAL OUTPUT (Binary) 01111101 00011001 00000000 11111111 11100111 11001001 3 of 16 DIGITAL OUTPUT (Hex) 7Dh 19h 00h FFh E7h C9h DS1821 Thermostat Controls In its thermostat mode, the DS1821 functions as a thermostat with programmable hysteresis, as shown in Figure 2. Temperature conversions begin as soon as VDD is applied to the device, and are continually made, so that the thermostat output updates as soon as a temperature conversion is complete. This is approximately once every second. When the DS1821’s temperature meets or exceeds the value stored in the high temperature trip register (TH), the output becomes active, and will stay active until the temperature falls below the temperature stored in the low temperature trigger register (TL). In this way, any amount of hysteresis may be obtained. The active state for the output is programmable by the user, so that an active state may either be a logic 1 (+5V, output transistor off) or a logic 0 (0V, output transistor on). THERMOSTAT OUTPUT OPERATION Figure 2 DQ (Thermostat output, Active=High) VDD =5 volts TL TH T (°C) PROGRAMMING THE DS1821 To program the DS1821, it must be placed in 1-Wire mode. This mode is active when the device arrives from the factory. Once the part has been programmed, and if the user has set the power-up state to thermostat mode, 1-Wire mode may only be achieved by bringing the VDD pin low while holding the DQ line high, then clocking the DQ line 16 times. The DS1821 has four internal registers that may be accessed through the DQ pin when the device is in 1Wire mode. These registers are the high temperature trigger (TH), low temperature trigger (TL), the actual measured temperature result, and the status register. The TH,TL, and status registers are all nonvolatile. The DS1821 must have temperature settings resident in the TH and TL registers for thermostatic operation. The temperature result register and the thermostat limit registers (TH and TL) hold an 8-bit number in the two’s complement format described in Table 1. 4 of 16 DS1821 A status register is also present, indicating the status of the thermostatic control, and allowing configuration of the output polarity as either active high or active low, and establishes the power-up state of the device. The status register is defined as follows: where, DONE 1 NVB THF TLF T/R POL 1SHOT DONE = Conversion Done bit. 1 = Conversion complete, 0 = conversion in progress. THF = Temperature High Flag. This bit will normally be 0, but will be set to 1 when the temperature exceeds the value of TH. It will remain 1 until reset by writing 0 into this location. This feature provides a method of determining if the DS1821 has ever been subjected to temperatures above TH. This bit is nonvolatile, and is stored in E2 memory. TLF = Temperature Low Flag. This bit will normally be 0, but will be set to 1 when the temperature is lower than the value of TL. It will remain 1 until reset by writing 0 into this location. This feature provides a method of determining if the DS1821 has ever been subjected to temperatures below TL. This bit is nonvolatile, and is stored in E2 memory. NVB = Nonvolatile memory busy flag. 1 = Write to an E2 memory cell in progress, 0 = nonvolatile memory is not busy. A write to E2 may take up to 10 ms. T/R* = Power-up mode bit. If set to a 1, the DS1821 will power up in a thermostat mode. If set to a 0, the device will power up in 1-Wire “read” mode. This bit is nonvolatile. POL = Output Polarity Bit. 1 = active high, 0 = active low. This bit is nonvolatile. 1SHOT = One-Shot Mode. If 1SHOT is 1, the DS1821 will perform one temperature conversion upon reception of the Start Convert T protocol. If 1SHOT is 0, the DS1821 will continuously perform temperature conversions. Note that the One-Shot mode is available only when the device is in 1-Wire mode. In thermostat mode, the device continuously performs temperature conversions. This bit is nonvolatile. 5 of 16 DS1821 PROGRAMMING COMMAND FUNCTIONS The command set for the DS1821 as shown in Table 2 is as follows: Read Temperature [AAh] This command reads the contents of the register which contains the last temperature conversion result. Write TH [01h] This command writes to the TH (HIGH TEMPERATURE) register. After issuing this command, the user writes 8 bits of data to the TH register. Write TL [02h] This command writes to the TL (LOW TEMPERATURE) register. After issuing this command, the user writes 8 bits of data to the TL register. Read TH [A1h] This command reads the value of the TH (HIGH TEMPERATURE) register. After issuing this command, the user reads the 8 bits of data present in the TH register. Read TL [A2h] This command reads the value of the TL (LOW TEMPERATURE) register. After issuing this command, the user reads the 8 bits of data present in the TL register. Write Status [0Ch] This command writes to the status register. This would be used for clearing the values of the THF and TLF flags, and setting the T/ R , POL and 1SHOT bits. After issuing this command, the user writes the 8bit data into the register. Read Status [ACh] This command reads the value in the status register. After issuing this command, the user reads the 8 bits present in the status register. Start Convert T [EEh] This command begins a temperature conversion. No further data is required. In One-Shot mode, the temperature conversion will be performed and then the DS1821 will remain idle. In continuous mode, this command will initiate continuous conversions. Stop Convert T [22h] This command stops temperature conversion. No further data is required. This command may be used to halt a DS1821 in continuous conversion mode. After issuing this command, the current temperature measurement will be completed, and then the DS1821 will remain idle until a Start Convert T is issued to resume continuous operation. 6 of 16 DS1821 RETURNING TO 1-WIRE MODE FROM THERMOSTAT MODE The operating mode of the DS1821 is determined at power-up, depending upon the setting of the T/ R bit. If the T/ R bit is set to a 1, the DS1821 will power up in thermostat mode. In this mode, the device cannot be written to or read from over the DQ line. However, it is possible to return to the 1-Wire “read” mode temporarily, in cases where thermostat limits may need to be changed after insertion and use in a system. To return to the 1-Wire “read” mode, the VDD pin of the DS1821 is brought to 0V while the DQ line is held high. The DQ line must then be clocked low 16 times. After this is accomplished, the VDD line may be brought high again, and the DS1821 will then be in 1-Wire “read” mode. To toggle between modes, VDD is brought low while DQ is held high and then clocked 16 times. When VDD is brought high again, the part will then be in thermostat mode again. This technique may be used to toggle between the two operating modes of the DS1821 as often as required. When both VDD and DQ are low for more than approximately 10 seconds, the part is powered down. When powered up again, the part will begin operating in the mode set by T/R* bit (1=thermostat mode, 0=“read” mode). DS1821 COMMAND SET Table 2 INSTRUCTION DESCRIPTION PROTOCOL TEMPERATURE CONVERSION COMMANDS Start Convert T Initiates temperature conversion. EEh Stop Convert T Halts temperature conversion. 22h Read Temperature Reads last converted temperature value AAh from temperature register. THERMOSTAT COMMANDS Write TH Writes high temperature limit value into 01h TH register. Write TL Writes low temperature limit value into 02h TL register. Read TH Reads stored value of high temperature A1h limit from TH register. Read TL Reads stored value of low temperature A2h limit from TL register. Write Status Writes configuration data to 0Ch configuration register. Read Status Reads configuration data from ACh configuration register. 7 of 16 1-WIRE BUS DATA AFTER ISSUING PROTOCOL idle idle <read data> <write data> <write data> <read data> <read data> <write data> <read data> DS1821 Example: CPU sets up DS1821 for low temp limit of +10°C and high temp limit of +40°C, output active high (i.e., DQ pin is off), then instructs the DS1821 to become a thermostat. DQ PORT PIN TX RX TX TX TX RX TX TX TX RX TX RX TX RX TX RX TX RX TX TX DATA (LSB FIRST) Reset Presence 01h 28h Reset Presence 02h 0Ah Reset Presence A1h 28h Reset Presence A2h 0Ah Reset Presence 0Ch 06h <high impedance> COMMENTS Reset pulse (480-960 µs). Presence pulse. CPU issues Write TH command. CPU sends data for TH limit of +40°C. Reset pulse (480-960 µs). Presence pulse. CPU issues Write TL command. CPU sends data for TL limit of +10°C. Reset pulse (480-960 µs). Presence pulse. CPU issues Read TH command. DS1821 sends back stored value of TH for CPU to verify. Reset pulse (480-960 µs). Presence pulse. CPU issues Read TL command. DS1821 sends back stored value of TL for CPU to verify. Reset pulse (480-960 µs). Presence pulse. CPU issues Write Config command. CPU sets DS1821 up for active high output, set T/ R bit to instruct device to become thermostat. Power cycles; DS1821 now comes up in thermostat mode. 1-WIRE BUS SYSTEM The DS1821 1-Wire bus is a system which has a single bus master and one slave. The DS1821 behaves as a slave. The DS1821 is not able to be multidropped, unlike other 1-Wire devices from Dallas Semiconductor. The discussion of this bus system is broken down into three topics: hardware configuration, transaction sequence, and 1-Wire signaling (signal types and timing). HARDWARE CONFIGURATION The 1-Wire bus has only a single line by definition; it is important that each device on the bus be able to drive it at the appropriate time. To facilitate this, each device attached to the 1-Wire bus must have open drain or 3-state outputs. The 1-Wire port of the DS1821 (DQ pin) is open drain with an internal circuit equivalent to that shown in Figure 4. The 1-Wire bus requires a pullup resistor of approximately 5K. 8 of 16 DS1821 HARDWARE CONFIGURATION Figure 4 The idle state for the 1-Wire bus is high. If for any reason a transaction needs to be suspended, the bus MUST be left in the idle state if the transaction is to resume. Infinite recovery time can occur between bits so long as the 1-Wire bus is in the inactive (high) state during the recovery period. If this does not occur and the bus is left low for more than 480 µs, all components on the bus will be reset. TRANSACTION SEQUENCE The protocol for accessing the DS1821 via the 1-Wire port is as follows: • Initialization • Function Command • Transaction/Data INITIALIZATION All transactions on the 1-Wire bus begin with an initialization sequence. The initialization sequence consists of a reset pulse transmitted by the bus master followed by presence pulse(s) transmitted by the slave(s). The presence pulse lets the bus master know that the DS1821 is on the bus and is ready to operate. For more details, see the “1-Wire Signaling” section. 1-WIRE SIGNALING The DS1821 requires strict protocols to insure data integrity. The protocol consists of several types of signaling on one line: reset pulse, presence pulse, write 0, write 1, read 0, and read 1. All of these signals, with the exception of the presence pulse, are initiated by the bus master. The initialization sequence required to begin any communication with the DS1821 is shown in Figure 5. A reset pulse followed by a presence pulse indicates the DS1821 is ready to send or receive data given the correct function command. The bus master transmits (TX) a reset pulse (a low signal for a minimum of 480 µs). The bus master then releases the line and goes into a receive mode (RX). The 1-Wire bus is pulled to a high state via the 5K pullup resistor. After detecting the rising edge on the DQ pin, the DS1821 waits 15-60 µs and then transmits the presence pulse (a low signal for 60-240 µs). 9 of 16 DS1821 READ/WRITE TIME SLOTS DS1821 data is read and written through the use of time slots to manipulate bits and a command word to specify the transaction. Write Time Slots A write time slot is initiated when the host pulls the data line from a high logic level to a low logic level. There are two types of write time slots: Write 1 time slots and Write 0 time slots. All write time slots must be a minimum of 60 µs in duration with a minimum of a 1-µs recovery time between individual write cycles. The DS1821 samples the DQ line in a window of 15 µs to 60 µs after the DQ line falls. If the line is high, a Write 1 occurs. If the line is low, a Write 0 occurs (see Figure 6). For the host to generate a Write 1 time slot, the data line must be pulled to a logic low level and then released, allowing the data line to pull up to a high level within 15 microseconds after the start of the write time slot. For the host to generate a Write 0 time slot, the data line must be pulled to a logic low level and remain low for the duration of the write time slot. Read Time Slots The host generates read time slots when data is to be read from the DS1821. A read time slot is initiated when the host pulls the data line from a logic high level to logic low level. The data line must remain at a low logic level for a minimum of 1 µs; output data from the DS1821 is then valid for the next 14 µs maximum. The host therefore must stop driving the DQ pin low in order to read its state 15 µs from the start of the read slot (see Figure 6). By the end of the read time slot, the DQ pin will pull back high via the external pullup resistor. All read time slots must be a minimum of 60 µs in duration with a minimum of a one µs recovery time between individual read slots. Figure 7 shows that the sum of TINIT, TRC, and TSAMPLE must be less than 15 µs. Figure 8 shows that system timing margin is maximized by keeping TINIT and TRC as small as possible and by locating the master sample time towards the end of the 15-µs period. INITIALIZATION PROCEDURE “RESET AND PRESENCE PULSES” Figure 5 10 of 16 DS1821 READ/WRITE TIMING DIAGRAM Figure 6 11 of 16 DS1821 DETAILED MASTER READ 1 TIMING Figure 7 RECOMMENDED MASTER READ 1 TIMING Figure 8 Related Application Notes The following Application Notes can be applied to the DS1821. These notes can be obtained from the Dallas Semiconductor “Application Note Book” via our website at http://www.dalsemi.com/, or through our faxback service at (972) 371-0441. Application Note 67: “Applying and Using the DS1620 in Temperature Control Applications” Application Note 74: “Reading and Writing Touch Memories via Serial Interfaces” Application Note 105: “High Resolution Temperature Measurement with Dallas Direct-to-Digital Temperature Sensors” Sample 1-Wire subroutines that can be used in conjunction with AN74 can be downloaded from the website or our Anonymous FTP Site. 12 of 16 DS1821 ABSOLUTE MAXIMUM RATINGS* Voltage on Any Pin Relative to Ground Operating Temperature Storage Temperature Soldering Temperature -0.5V to +7.0V -55°C to +125°C -55°C to +125°C 260°C for 10 seconds * This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in the operation sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods of time may affect reliability. RECOMMENDED DC OPERATING CONDITIONS PARAMETER Supply Voltage Data Pin Logic 1 Logic 0 SYMBOL VDD DQ VIH VIL CONDITION Operation MIN 2.7V -0.5 2.0 -0.3 DC ELECTRICAL CHARACTERISTICS PARAMETER Thermometer Error SYMBOL tERR CONDITION 0°C to +85°C TYP VIL Input Resistance RI IL IQ IDD MIN TYP Temperature Conversions, Programming MAX ±1 UNITS °C NOTES 7, 8 +0.8 V 1, 3 3.0 1000 mA µA µA 1 9 4 KΩ 5 -4.0 1.0 500 500 13 of 16 NOTES 1 1 1, 2 1, 3 See Typical Curve -0.3 VDQ=0.4V UNITS V V V V (-55°C to +125°C; VDD=3.6V to 5.5V) -55°C to -40°C and 85°C to +125°C Open Drain Output Logic Low (DQ pin) Sink Current Standby Current Active Current MAX 5.5 5.5 VCC+0.3 +0.8 DS1821 AC ELECTRICAL CHARACTERISTICS: PARAMETER Temperature Conversion Time Time Slot Recovery Time Write 0 Low Time Write 1 Low Time Read Data Valid Reset Time High Reset Time Low Presence Detect High Presence Detect Low EEPROM Write Time VDD Low to Mode Toggle Clock Low Mode Toggle Clock 16 High to VDD High Mode Toggle Clock Pulse Low Time Mode Toggle Clock Pulse High Time Mode Toggle Clock High-to-Low or Low-to-High Transition Time Capacitance (-55°C to +125°C; VDD=3.6V to 5.5V) SYMBOL tCONV tSLOT tREC tLOW0 tLOW1 tRDV tRSTH tRSTL tPDHIGH tPDLOW tWR tPC tCP MIN tCL tCH tT 0.1 0.1 TYP 0.4 60 1 60 1 MAX 1.0 120 120 15 15 480 480 15 60 10 60 240 50 100 100 CIN/OUT UNITS s µs µs µs µs µs µs µs µs µs ms ns ns 10 100 µs µs ns 25 pF NOTES 6 NOTES: 1. All voltages are referenced to ground. 2. Logic 1 voltages are specified at a source current of 1 mA. 3. Logic 0 voltages are specified at a sink current of 4 mA. 4. IDD specified with VCC at 5.0V. 5. DQ line in “hi-Z” state and Idq=0. 6. Time for part to disable thermostat output. 7. For T<0°C, accuracy degrades by 0.5°C/V for VCC <4.3V. 8. See typical curve for specification limits outside the 0°C to +85°C range. Thermometer error reflects sensor accuracy as tested during calibration. 9. Standby current is specified up to 85°C. Standby current is typically 5 uA at 125°C. 14 of 16 DS1821 TIMING DIAGRAMS 15 of 16 DS1821 MODE TOGGLE TIMING (Return to 1-Wire mode after setting T/ R bit) DS1821 PROGRAMMABLE DIGITAL THERMOSTAT TEMPERATURE READING ERROR DS1821 TEMPERATURE READING ERROR 16 of 16