DS1631/DS1631A/DS1731 High-Precision Digital Thermometer and Thermostat www.maxim-ic.com FEATURES DS1631 and DS1631A Provide ±0.5°C Accuracy over a 0°C to +70°C Range DS1731 Provides ±1°C Accuracy over a -10°C to +85°C Range DS1631A Automatically Begins Taking Temperature Measurements at Power-Up Operating Temperature Range: -55°C to +125°C (-67°F to +257°F) Temperature Measurements Require No External Components Output Resolution is User-Selectable to 9, 10, 11, or 12 Bits Wide Power-Supply Range (+2.7V to +5.5V) Converts Temperature-to-Digital Word in 750ms (max) Multidrop Capability Simplifies Distributed Temperature-Sensing Applications Thermostatic Settings are User-Definable and Nonvolatile (NV) Data is Read/Written Through 2-Wire Serial Interface (SDA and SCL Pins) All Three Devices are Available in 8-Pin μSOP Packages and the DS1631 is Also Available in a 150mil SO package—see Table 1 for Ordering Information PIN CONFIGURATIONS SDA 1 8 VDD A0 SCL 2 7 TOUT GND 3 6 A1 4 5 A2 μSOP (DS1631U+, DS1631AU+, DS1731U+) SDA 1 8 VDD SCL 2 7 A0 TOUT 3 6 A1 GND 4 5 A2 SO (150mil and 208mil) (DS1631Z+, DS1631S+) See Table 2 for Pin Descriptions APPLICATIONS Network Routers and Switches Cellular Base Stations Portable Products Any Space-Constrained Thermally Sensitive Product DESCRIPTION The DS1631, DS1631A, and DS1731 digital thermometers provide 9, 10, 11, or 12-bit temperature readings over a -55°C to +125°C range. The DS1631 and DS1631A thermometer accuracy is ±0.5°C from 0°C to +70°C with 3.0V ≤ VDD ≤ 5.5V, and the DS1731 accuracy is ±1°C from -10°C to +85°C with 3.0V ≤ VDD ≤ 5.5V. The thermostat on all three devices provides custom hysteresis with user-defined trip points (TH and TL). The TH and TL registers and thermometer configuration settings are stored in NV EEPROM so they can be programmed prior to installation. In addition, the DS1631A automatically begins taking temperature measurements at power-up, which allows it to function as a stand-alone thermostat. Communication with the DS1631/DS1631A/DS1731 is achieved through a 2-wire serial interface, and three address pins allow up to eight devices to be multidropped on the same 2-wire bus. Pin descriptions for the DS1631/DS1631A/DS1731 are provided in Table 2 and user-accessible registers are summarized in Table 3. A functional diagram is shown in Figure 1. 1 of 15 102307 DS1631/DS1631A/DS1731 Table 1. ORDERING INFORMATION ORDERING NUMBER DS1631U+ PACKAGE MARKING D1631 (See Note) DS1631U+T&R D1631 (See Note) DS1631Z+ DS1631Z (See Note) DS1631Z+T&R DS1631Z (See Note) DS1631AU+ 1631A (See Note) DS1631AU+T&R 1631A (See Note) DS1631S+ DS1631S (See Note) DS1631S+T&R DS1631S (See Note) DS1631+ DS1731U+ DS1631 (See Note) D1731 (See Note) DS1731U+T&R D1731 (See Note) DS1631U DS1631U/T&R DS1631Z DS1631Z/T&R DS1631AU DS1631AU/T&R DS1631S D1631 D1631 DS1631Z DS1631Z 1631A 1631A DS1631S DS1631S/T&R DS1631S DS1631 DS1731U DS1731U/T&R DS1631 D1731 D1731 DESCRIPTION DS1631 in Lead-Free 8-Pin μSOP DS1631 in Lead-Free 8-Pin μSOP, 3000 Piece Tape-andReel DS1631 in Lead-Free 150 mil 8-Pin SO DS1631 in Lead-Free 150 mil 8-Pin SO, 2500 Piece Tapeand-Reel DS1631A in Lead-Free 8-Pin μSOP DS1631A in Lead-Free 8-Pin μSOP, 3000 Piece Tape-andReel DS1631 in Lead-Free 208 mil 8-Pin SO DS1631 in Lead-Free 208 mil 8-Pin SO, 2000 Piece Tapeand-Reel DS1631 in Lead-Free 300 mil 8-Pin DIP DS1731 in Lead-Free 8-Pin μSOP DS1731 in Lead-Free 8-Pin μSOP, 3000 Piece Tape-andReel DS1631 in 8-Pin μSOP DS1631 in 8-Pin μSOP, 3000-Piece Tape-and-Reel DS1631 in 150mil 8-Pin SO DS1631 in 150mil 8-Pin SO, 2500-Piece Tape-and-Reel DS1631A in 8-Pin μSOP DS1631A in 8-Pin μSOP, 3000-Piece Tape-and-Reel DS1631 in 208 mil 8-Pin SO DS1631 in Lead-Free 208 mil 8-Pin SO, 2000 Piece Tapeand-Reel DS1631 in 300 mil 8-Pin DIP DS1731 in 8-Pin μSOP DS1731 in 8-Pin μSOP, 3000-Piece Tape-and-Reel Note: A "+" symbol will also be marked on the package near the Pin 1 indicator Table 2. DETAILED PIN DESCRIPTION PIN 1 2 3 4 5 6 7 8 SYMBOL SDA SCL TOUT GND A2 A1 A0 VDD DESCRIPTION Data Input/Output Pin for 2-Wire Serial Communication Port. Open-Drain. Clock Input Pin for 2-Wire Serial Communication Port. Thermostat Output Pin. Push-Pull. Ground Pin Address Input Pin Address Input Pin Address Input Pin Supply Voltage Pin. +2.7V to +5.5V Power-Supply Pin. 2 of 15 DS1631/DS1631A/DS1731 Figure 1. FUNCTIONAL DIAGRAM CONFIGURATION REGISTER AND CONTROL LOGIC VDD TEMPERATURE SENSOR and ΔΣ ADC SCL SDA A0 A1 A2 ADDRESS AND I/O CONTROL TEMPERATURE REGISTER TH REGISTER DIGITAL COMPARATOR/LOGIC GND TOUT TL REGISTER ABSOLUTE MAXIMUM RATINGS* Voltage on any Pin Relative to Ground Operating Temperature Range Storage Temperature Range Solder Dip Temperature (10s) Reflow Oven Temperature -0.5V to +6.0V -55°C to +125°C -55°C to +125°C See IPC/JEDEC J-STD-020A Specification +220°C * These are stress ratings 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. 3 of 15 DS1631/DS1631A/DS1731 DC ELECTRICAL CHARACTERISTICS (VDD = 2.7V to 5.5V; TA = -55°C to +125°C.) PARAMETER Supply Voltage DS1631, DS1631A Thermometer Error DS1731 Thermometer Error Low-Level Input Voltage High-Level Input Voltage SDA Low-Level Output Voltage Input Current Each I/O Pin Active Supply Current Standby Supply Current TOUT Output Logic Voltage SYMBOL VDD TERR TERR CONDITION 0°C to +70°C, 3.0V ≤ VDD ≤ 5.5V 0°C to +70°C, 2.7V ≤ VDD < 3.0V -55°C to +125°C -10°C to +85°C, 3.0V ≤ VDD ≤ 5.5V -10°C to +85°C, 2.7V ≤ VDD < 3.0V -55°C to +125°C VIL 3mA sink current 6mA sink current 0.4 < VI/O < 0.9VDD IDD ±1 0°C to +70°C VOH VOL 1mA source current 4mA sink current 4 of 15 UNITS V NOTES 1 °C 2 °C 2 ±2 ±1 ±1.5 ±2 0.7 x VDD 0 0 -10 Temperature conversion -55°C to +85°C Temperature conversion +85°C to +125°C E2 write Communication only ISTBY MAX 5.5 ±0.5 -0.5 VIH VOL1 VOL2 MIN 2.7 0.3 x VDD V VDD + 0.3 V 0.4 0.6 V +10 µA 1 mA 3 1.25 400 110 µA 800 nA 4 0.4 V V 1 1 2.4 DS1631/DS1631A/DS1731 AC ELECTRICAL CHARACTERISTICS (VDD = 2.7V to 5.5V; TA = -55°C to +125°C.) PARAMETER Temperature Conversion Time SCL Frequency Bus Free Time Between a STOP and START Condition START and Repeated START Hold Time from Falling SCL Low Period of SCL High Period of SCL Repeated START Condition Setup Time to Rising SCL Data-Out Hold Time from Falling SCL Data-In Setup Time to Rising SCL Rise Time of SDA and SCL Fall Time of SDA and SCL STOP Setup Time to Rising SCL Capacitive Load for Each Bus Line I/O Capacitance Input Capacitance Spike Pulse Width that can be Suppressed by Input Filter SYMBOL tTC CONDITION 9-bit resolution 10-bit resolution 11-bit resolution 12-bit resolution MIN TYP MAX 93.75 UNITS NOTES 187.5 375 ms 750 fSCL 0 400 tBUF 1.3 µs 5 tHD:STA 0.6 µs 5, 6 tLOW tHIGH 1.3 0.6 µs µs 5 5 tSU:STA 0.6 µs 5 µs 5 ns 5 0 tHD:DAT 0.9 kHz tSU:DAT 100 tR 20 + 0.1CB 1000 ns 5, 7 tF 20 + 0.1CB 300 ns 5, 7 tSU:STO 0.6 µs 5 CB 400 CI/O CI 10 5 tSP 0 pF pF pF 50 ns NOTES: 1) 2) 3) 4) All voltages are referenced to GND. See Figure 2 for Typical Operating Curves. Specified with TOUT pin open; A0, A1, A2 = 0V or VDD; and fSCL ≥ 2Hz. Specified with temperature conversions stopped; TOUT pin open; SDA = VDD; SCL = VDD; and A0, A1, A2 = 0V or VDD. 5) See Timing Diagram in Figure 3. All timing is referenced to 0.9 x VDD and 0.1 x VDD. 6) After this period the first clock pulse is generated. 7) For example, if CB = 300pF, then tR[min] = tF[min] = 50ns. 5 of 15 DS1631/DS1631A/DS1731 EEPROM AC ELECTRICAL CHARACTERISTICS (VDD = 2.7V to 5.5V; TA = -55°C to +125°C.) PARAMETER EEPROM Write Cycle Time EEPROM Writes EEPROM Data Retention SYMBOL twr NEEWR tEEDR CONDITION MIN -55°C to +55°C -55°C to +55°C 50k 10 TYP 4 MAX 10 UNITS ms Writes Years Figure 2. TYPICAL OPERATING CURVES DS1731 0.8 0.8 0.6 0.6 0.4 0.4 0.2 ERROR (°C) ERROR (°C) DS1631/DS1631A +3σ 0 Mean -0.2 -3σ -0.4 +3 σ 0.2 0 Mean -0.2 -0.4 -0.6 -3 σ -0.6 -0.8 -0.8 0 10 20 30 40 50 60 70 REFERENCE TEMPERATURE (°C) -10 0 10 20 30 40 50 60 70 REFERENCE TEMPERATURE (°C) Figure 3. TIMING DIAGRAM All timing is referenced to 0.9 x VDD and 0.1 x VDD. 6 of 15 80 DS1631/DS1631A/DS1731 Table 3. REGISTER SUMMARY REGISTER NAME (USER ACCESS) SIZE (BYTES) MEMORY TYPE Temperature (Read Only) 2 SRAM TH (Read/Write) 2 EEPROM TL (Read/Write) 2 EEPROM Configuration (Various bits are Read/Write and Read Only—See Table 5) 1 SRAM, EEPROM REGISTER CONTENTS AND POWER-UP STATE Measured temperature in two’s complement format. Power-up state: -60ºC (1100 0100 0000 0000) Upper alarm trip point in two’s complement format. Factory state: 15ºC (0000 1111 0000 0000) Lower alarm trip point in two’s complement format. Factory state: 10ºC (0000 1010 0000 0000) Configuration and status information. Unsigned data. 6 MSbs = SRAM 2 LSbs (POL and 1SHOT bits) = EEPROM Power-up state: 100011XX (XX = user defined) OPERATION—MEASURING TEMPERATURE The DS1631, DS1631A, and DS1731 measure temperature using bandgap-based temperature sensors. A delta-sigma analog-to-digital converter (ADC) converts the measured temperature to a 9-, 10-, 11-, or 12bit (user-selectable) digital value that is calibrated in °C; for °F applications a lookup table or conversion routine must be used. Throughout this data sheet, the term “conversion” is used to refer to the entire temperature measurement and ADC sequence. The DS1631 and DS1731 always power-up in a low-power idle state, and the Start Convert T command must be used to initiate conversions. The DS1631A begins conversions automatically at power-up in the mode determined by the configuration register’s 1SHOT bit. The DS1631, DS1631A, and DS1731 can be programmed to perform continuous consecutive conversions (continuous-conversion mode) or to perform single conversions on command (one-shot mode). The conversion mode is programmed through the 1SHOT bit in the configuration register as explained in the CONFIGURATION REGISTER section of this data sheet. In continuous-conversion mode, the DS1631A begins performing continuous conversions immediately at power-up, and the DS1631 and DS1731 begin continuous conversions after a Start Convert T command is issued. For all three devices, consecutive conversions continue to be performed until a Stop Convert T command is issued, at which time the device goes into a low-power idle state. Continuous conversions can be restarted at any time using the Start Convert T command. In one-shot mode the DS1631A performs a single conversion at power-up, and the DS1631 and DS1731 perform a single temperature conversion when a Start Convert T command is issued. For all three devices, when the conversion is complete the device enters a low-power idle state and remains in that state until a single temperature conversion is again initiated by a Start Convert T command. The resolution of the output digital temperature data is user-configurable to 9, 10, 11, or 12 bits, corresponding to temperature increments of 0.5°C, 0.25°C, 0.125°C, and 0.0625°C, respectively. The default resolution at power-up is 12 bits, and it can be changed through the R0 and R1 bits in the configuration register. Note that the conversion time doubles for each additional bit of resolution. After each conversion, the digital temperature is stored as a 16-bit two’s complement number in the twobyte temperature register as shown in Figure 4. The sign bit (S) indicates if the temperature is positive or negative: for positive numbers S = 0 and for negative numbers S = 1. The Read Temperature command 7 of 15 DS1631/DS1631A/DS1731 provides user access to the temperature register. Bits 3 through 0 of the temperature register are hardwired to 0. When the device is configured for 12-bit resolution, the 12 MSbs (bits 15 through 4) of the temperature register contain temperature data. For 11-bit resolution, the 11 MSbs (bits 15 through 5) of the temperature register contain data, and bit 4 is 0. Likewise, for 10-bit resolution, the 10 MSbs (bits 15 through 6) contain data, and for 9-bit the 9 MSbs (bits 15 through 7) contain data, and all unused LSbs contain 0s. Table 4 gives examples of 12-bit resolution output data and the corresponding temperatures. Figure 4. TEMPERATURE, TH, AND TL REGISTER FORMAT bit 15 MS Byte LS Byte bit 14 6 S 2 bit 7 bit 6 2 -1 2 -2 bit 13 2 5 bit 5 2 -3 bit 12 2 4 bit 4 2 -4 bit 11 2 3 bit 10 2 2 bit 9 2 1 bit 8 20 bit 3 bit 2 bit 1 bit 0 0 0 0 0 Table 4. 12-BIT RESOLUTION TEMPERATURE/DATA RELATIONSHIP TEMPERATURE (°C) +125 +25.0625 +10.125 +0.5 0 -0.5 -10.125 -25.0625 -55 DIGITAL OUTPUT (BINARY) DIGITAL OUTPUT (HEX) 0111 1101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 0000 1111 1111 1000 0000 1111 0101 1110 0000 1110 0110 1111 0000 1100 1001 0000 0000 7D00h 1910h 0A20h 0080h 0000h FF80h F5E0h E6F0h C900h OPERATION—THERMOSTAT FUNCTION The thermostat output (TOUT) is updated after every temperature conversion, based on a comparison between the measured digital temperature and user-defined upper and lower thermostat trip points. TOUT remains at the updated value until the next conversion completes. When the measured temperature meets or exceeds the value stored in the upper trip-point register (TH), TOUT becomes active and remains active until the measured temperature falls below the value stored in the lower trip-point register (TL) (see Figure 5). This allows the user to program any amount of hysteresis into the output response. The active state of TOUT is user-programmable through the polarity bit (POL) in the configuration register. The user-defined values in the TH and TL registers (see Figure 4) must be in two’s complement format with the MSb (bit 15) containing the sign bit (S). The TH and TL resolution is determined by the R0 and R1 bits in the configuration register (see Table 6), so the TH and TL resolution matches the output temperature resolution. For example, for 10-bit resolution bits 5 through 0 of the TH and TL registers read out as 0 (even if 1s are written to these bits), and the converted temperature is compared to the 10 MSbs of TH and TL. The TH and TL registers are stored in EEPROM; therefore, they are NV and can be programmed prior to device installation. Writing to and reading from the TH and TL registers is achieved using the Access TH 8 of 15 DS1631/DS1631A/DS1731 and Access TL commands. When making changes to the TH and TL registers, conversions should first be stopped using the Stop Convert T command if the device is in continuous conversion mode. Note that if the thermostat function is not used, the TH and TL registers can be used as general-purpose NV memory. Another thermostat feature is the temperature high and low flags (THF and TLF) in the configuration register. These bits provide a record of whether the temperature has been greater than TH or less than TL at anytime since the device was powered up. These bits power up as 0s, and if the temperature ever exceeds the TH register value, the THF bit is set to 1, or if the temperature ever falls below the TL value, the TLF bit is set to 1. Once THF and/or TLF has been set, it remains set until overwritten with a 0 by the user or until the power is cycled. DS1631A STAND-ALONE THERMOSTAT OPERATION Since the DS1631A automatically begins taking temperature measurements at power-up, it can function as a standalone thermostat (i.e., it can provide thermostatic operation without microcontroller communication). For standalone operation, the NV TH and TL registers and the POL and 1SHOT bits in the configuration register should be programmed to the desired values prior to installation. Since the default conversion resolution at power-up is 12 bits (R1 = 1 and R0 = 1 in the configuration register), the conversion resolution is always 12 bits during standalone thermostat operation. Figure 5. THERMOSTAT OUTPUT OPERATION POL = 1 (TOUT IS ACTIVE HIGH) TOUT LOGIC 1 LOGIC 0 TL TEMP TH CONFIGURATION REGISTER The configuration register allows the user to program various DS1631 options such as conversion resolution, TOUT polarity, and operating mode. It also provides information to the user about conversion status, EEPROM activity, and thermostat activity. The configuration register is arranged as shown in Figure 6 and detailed descriptions of each bit are provided in Table 5. This register can be read from and written to using the Access Config command. When writing to the configuration register, conversions should first be stopped using the Stop Convert T command if the device is in continuous conversion mode. Note that the POL and 1SHOT bits are stored in EEPROM so they can be programmed prior to installation is desired. All other configuration register bits are SRAM and power up in the state shown in Table 5. Figure 6. CONFIGURATION REGISTER MSb bit 6 bit 5 bit 4 bit 3 bit 2 DONE THF TLF NVB R1 R0 *NV (EEPROM) 9 of 15 bit 1 LSb POL* 1SHOT* DS1631/DS1631A/DS1731 Table 5. CONFIGURATION REGISTER BIT DESCRIPTIONS BIT NAME (USER ACCESS) DONE—Temperature Conversion Done (Read Only) FUNCTIONAL DESCRIPTION Power-up state = 1. DONE = 0. Temperature conversion is in progress. DONE = 1. Temperature conversion is complete. Power-up state = 0. THF = 0. The measured temperature has not exceeded the value stored in the TH register since power-up. THF = 1. At some point since power-up the measured temperature has been higher than the value stored in the TH register. THF remains a 1 until it is overwritten with a 0 by the user, the power is cycled, or a Software POR command is issued. Power-up state = 0. TLF = 0. The measured temperature has not been lower than the value stored in the TL register since power-up. TLF = 1. At some point since power-up the measured temperature has been lower than the value stored in the TL register. TLF remains a 1 until it is overwritten with a 0 by the user, the power is cycled, or a Software POR command is issued. Power-up state = 0. NVB = 1. A write to EEPROM memory is in progress. NVB = 0. NV memory is not busy. Power-up state = 1. Sets conversion, TH, and TL resolution (see Table 6). Power-up state = 1. Sets conversion, TH, and TL resolution (see Table 6). Power-up state = last value written to this bit. Factory setting = 0. POL = 1. TOUT is active high. POL = 0. TOUT is active low. Power-up state = last value written to this bit. Factory setting = 0. 1SHOT = 1. One-Shot Mode. The Start Convert T command initiates a single temperature conversion and then the device goes into a lowpower standby state. 1SHOT = 0. Continuous Conversion Mode. The Start Convert T command initiates continuous temperature conversions. THF—Temperature High Flag (Read/Write) TLF—Temperature Low Flag (Read/Write) NVB—NV Memory Busy (Read Only) R1—Resolution Bit 1 (Read/Write) R0—Resolution Bit 0 (Read/Write) POL*—TOUT Polarity (Read/Write) 1SHOT*—Conversion Mode (Read/Write) *Stored in EEPROM Table 6. RESOLUTION CONFIGURATION R1 R0 0 0 1 1 0 1 0 1 RESOLUTION CONVERSION TIME (BIT) (MAX) 9 93.75ms 10 187.5ms 11 375ms 12 750ms 10 of 15 DS1631/DS1631A/DS1731 2-WIRE SERIAL DATA BUS The DS1631, DS1631A, and DS1731 communicate over a bidirectional 2-wire serial data bus that consists of a serial clock (SCL) signal and serial data (SDA) signal. The DS1631, DS1631A, and DS1731 interface to the bus through their SCL input pins and open-drain SDA I/O pins. The following terminology is used to describe 2-wire communication: Master Device: Microprocessor/microcontroller that controls the slave devices on the bus. The master device generates the SCL signal and START and STOP conditions. Slave: All devices on the bus other than the master. The DS1631, DS1631A, and DS1731 always function as slaves. Bus Idle or Not Busy: Both SDA and SCL remain high. SDA is held high by a pullup resistor when the bus is idle, and SCL must either be forced high by the master (if the SCL output is push-pull) or pulled high by a pullup resistor (if the SCL output is open-drain). Transmitter: A device (master or slave) that is sending data on the bus. Receiver: A device (master or slave) that is receiving data from the bus. START Condition: Signal generated by the master to indicate the beginning of a data transfer on the bus. The master generates a START condition by pulling SDA from high to low while SCL is high (see Figure 8). A “repeated” START is sometimes used at the end of a data transfer (instead of a STOP) to indicate that the master will perform another operation. STOP Condition: Signal generated by the master to indicate the end of a data transfer on the bus. The master generates a STOP condition by transitioning SDA from low to high while SCL is high (see Figure 8). After the STOP is issued, the master releases the bus to its idle state. Acknowledge (ACK): When a device is acting as a receiver, it must generate an acknowledge (ACK) on the SDA line after receiving every byte of data. The receiving device performs an ACK by pulling the SDA line low for an entire SCL period (see Figure 8). During the ACK clock cycle, the transmitting device must release SDA. A variation on the ACK signal is the “not acknowledge” (NACK). When the master device is acting as a receiver, it uses a NACK instead of an ACK after the last data byte to indicate that it is finished receiving data. The master indicates a NACK by leaving the SDA line high during the ACK clock cycle. Slave Address: Every slave device on the bus has a unique 7-bit address that allows the master to access that device. The 7-bit bus address is 1 0 0 1 A2 A1 A0, where A2, A1, and A0 are user-selectable through the corresponding input pins. The three address pins allow up to eight DS1631s, DS1631As, or DS1731s to be multidropped on the same bus. Control Byte: The control byte is transmitted by the master and consists of the 7-bit slave address plus a read/write (R/¯W¯) bit (see Figure 7). If the master is going to read data from the slave device then R/¯W¯ = 1, and if the master is going to write data to the slave device then R/¯W¯ = 0. Command Byte: The command byte can be any of the command protocols described in the COMMAND SET section of this data sheet. Figure 7. CONTROL BYTE bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 1 0 0 1 A2 A1 A0 R/¯W¯ 11 of 15 DS1631/DS1631A/DS1731 Figure 8. START, STOP, AND ACK SIGNALS SDA … SCL … ACK (or NACK) STOP From Receiver Condition START Condition GENERAL 2-WIRE INFORMATION All data is transmitted MSb first over the 2-wire bus. One bit of data is transmitted on the 2-wire bus each SCL period. A pullup resistor is required on the SDA line and, when the bus is idle, both SDA and SCL must remain in a logic-high state. All bus communication must be initiated with a START condition and terminated with a STOP condition. During a START or STOP is the only time SDA is allowed to change states while SCL is high. At all other times, changes on the SDA line can only occur when SCL is low: SDA must remain stable when SCL is high. After every 8-bit (1-byte) transfer, the receiving device must answer with an ACK (or NACK), which takes one SCL period. Therefore, nine clocks are required for every one-byte data transfer. INITIATING 2-WIRE COMMUNICATION To initiate 2-wire communication, the master generates a START followed by a control byte containing the DS1631, DS1631A, or DS1731 slave address. The R/¯W¯ bit of the control byte must be a 0 (“write”) since the master next writes a command byte. The DS1631/DS1631A/DS1731 responds with an ACK after receiving the control byte. This must be followed by a command byte from the master, which indicates what type of operation is to be performed. The DS1631/DS1631A/DS1731 again respond with an ACK after receiving the command byte. If the command byte is a Start Convert T or Stop Convert T command (see Figure 9a), the transaction is finished, and the master must issue a STOP to signal the end of the communication sequence. If the command byte indicates a write or read operation, additional actions must occur as explained in the following sections. 2-WIRE WRITES The master can write data to the DS1631/DS1631A/DS1731 by issuing an Access Config, Access TH, or Access TL command following the control byte (see Figures 9b and 9d). Since the R/¯W¯ bit in the control byte was a 0 (“write”), the DS1631/DS1631A/DS1731 are already prepared to receive data. Therefore, after receiving an ACK in response to the command byte, the master device can immediately begin transmitting data. When writing to the configuration register, the master must send one byte of data, and when writing to the TH or TL registers the master must send two bytes of data. After receiving each data byte, the DS1631/DS1631A/DS1731 respond with an ACK, and the transaction is finished with a STOP from the master. 12 of 15 DS1631/DS1631A/DS1731 2-WIRE READS The master can read data from the DS1631/DS1631A/DS1731 by issuing an Access Config, Access TH, Access TL, or Read Temperature command following the control byte (see Figures 9c and 9e). After receiving an ACK in response to the command, the master must generate a repeated START followed by a control byte with the same slave address as the first control byte. However, this time the R/¯W¯ bit must be a 1, which tells the DS1631/DS1631A/DS1731 that a “read” is being performed. After the DS1631/DS1631A/DS1731 send an ACK in response to this control byte, it begins transmitting the requested data on the next clock cycle. One byte of data will be transmitted when reading from the configuration register after which the master must respond with a NACK followed by a STOP. For twobyte reads (i.e., from the Temperature, TH, or TL register), the master must respond to the first data byte with an ACK and to the second byte with a NACK followed by a STOP. If only the most significant byte of data is needed, the master can issue a NACK followed by a STOP after reading the first data byte. COMMAND SET The DS1631/DS1631A/DS1731 command set is detailed below: Start Convert T [ 51h ] Initiates temperature conversions. If the part is in one-shot mode (1SHOT = 1), only one conversion is performed. In continuous mode (1SHOT = 0), continuous temperature conversions are performed until a Stop Convert T command is issued. Stop Convert T [ 22h ] Stops temperature conversions when the device is in continuous conversion mode (1SHOT = 0). Read Temperature [ AAh ] Reads last converted temperature value from the 2-byte temperature register. Access TH [ A1h ] Reads or writes the 2-byte TH register. Access TL [ A2h ] Reads or writes the 2-byte TL register. Access Config [ ACh ] Reads or writes the 1-byte configuration register. Software POR [ 54h ] Initiates a software power-on-reset (POR), which stops temperature conversions and resets all registers and logic to their power-up states. The software POR allows the user to simulate cycling the power without actually powering down the device. 13 of 15 S 1 0 1 A2 A1 A0 Control Byte 0 A S 1 0 1 A 1 ACK (THERM) A2 A1 A0 W Control Byte 0 0 14 of 15 1 START S 0 1 SCL S 1 0 1 A 0 1 S 1 START SDA SCL 0 1 A 0 1 1 Command Byte 1 A 0 A Command Byte Command Byte S 1 1 A2 A1 A0 Control Byte 0 ACK Repeat (THERM) START S 1 ACK (THERM) 0 1 A A A … ACK (Master) A … NACK STOP (Master) P THERM = DS1631, DS1631A, or DS1731 LS Data Byte (from THERM) … … D7 D6 D5 D4 D3 D2 D1 D0 N MS Data Byte (from THERM) P ACK STOP (THERM) D7 D6 D5 D4 D3 D2 D1 D0 ACK (THERM) R LS Data Byte (from Master) P NACK STOP (Master) D7 D6 D5 D4 D3 D2 D1 D0 A Data Byte (from THERM) D7 D6 D5 D4 D3 D2 D1 D0 N ACK (THERM) R ACK (THERM) A2 A1 A0 Control Byte 0 MS Data Byte (from Master) P ACK STOP (THERM) D7 D6 D5 D4 D3 D2 D1 D0 0 Data Byte (from Master) D7 D6 D5 D4 D3 D2 D1 D0 A ACK (THERM) 0 ACK Repeat (THERM) START 0 0 C7 C6 C5 C4 C3 C2 C1 C0 A ACK (THERM) A2 A1 A0 W Control Byte 0 1 P ACK STOP (THERM) C7 C6 C5 C4 C3 C2 C1 C0 A ACK (THERM) A2 A1 A0 W Control Byte 0 1 0 Command Byte 1 e) Read From the Temperature, TH , or TL Register START SDA A ACK (THERM) A2 A1 A0 W Control Byte 0 d) Write to the TH or TL Register SDA SCL c) Read From the Configuration Register START SDA SCL Command Byte C7 C6 C5 C4 C3 C2 C1 C0 A ACK (THERM) W b) Write to the Configuration Register START SDA SCL a) Issue a "Start Convert T” or “Stop Convert T” Command DS1631/DS1631A/DS1731 Figure 9 (a, b, c, d, e). 2-WIRE INTERFACE TIMING DS1631/DS1631A/DS1731 OPERATION EXAMPLE In this example, the master configures the DS1631/DS1631A/DS1731 (A1A2A3 = 000) for continuous conversions and thermostatic function. MASTER MODE TX TX THERMETER* MODE RX RX DATA (MSb first) START 90h RX TX RX TX RX TX ACK ACh ACK TX RX 02h RX TX TX TX TX RX RX RX ACK STOP START 90h RX TX RX TX RX TX RX TX TX TX TX RX TX RX TX RX TX RX RX RX ACK A1h ACK 28h ACK 00h ACK STOP START 90h RX TX RX TX RX TX RX TX TX TX TX RX TX RX TX RX TX RX RX RX ACK A2h ACK 0Ah ACK 00h ACK STOP START 90h RX TX RX TX TX RX TX RX ACK 51h ACK STOP COMMENTS START condition from MASTER. MASTER sends control byte with R/¯W¯ = 0. Acknowledge bit from THERMOMETER. MASTER sends Access Config command. Acknowledge bit from THERMOMETER. MASTER writes a data byte to the configuration register to put the THERMOMETER in continuous conversion mode and set the TOUT polarity to active high. Acknowledge bit from THERMOMETER. STOP condition from MASTER. START condition from MASTER. MASTER sends control byte with R/¯W¯ = 0. Acknowledge bit from THERMOMETER. MASTER sends Access TH command. Acknowledge bit from THERMOMETER. MASTER sends most significant data byte for TH = +40°C. Acknowledge bit from THERMOMETER. MASTER sends least significant data byte for TH = +40°C. Acknowledge bit from THERMOMETER. STOP condition from MASTER. START condition from MASTER. MASTER sends control byte with R/¯W¯ = 0. Acknowledge bit from THERMOMETER. MASTER sends Access TL command. Acknowledge bit from THERMOMETER. MASTER sends most significant data byte for TL = +10°C. Acknowledge bit from THERMOMETER. MASTER sends least significant data byte for TL = +10°C. Acknowledge bit from THERMOMETER. STOP condition from MASTER. START condition from MASTER. MASTER sends control byte with R/¯W¯ = 0. Acknowledge bit from THERMOMETER. MASTER sends Start Convert T command. Acknowledge bit from THERMOMETER. STOP condition from MASTER. *THERMOMETER = DS1631, DS1631A, or DS1731 15 of 15