DS1615 Temperature Recorder www.dalsemi.com FEATURES Digital thermometer measures temperature -40°C to +85°C in 0.5°C increments (-40°F to +183.2°F in 0.9°F increments) Digital thermometer provides ±2°C accuracy Real Time Clock/Calendar in BCD format counts seconds, minutes, hours, date, month, day of the week, and year with leap year compensation (Y2K compatible) Automatically wakes up and measures temperature at user-programmable intervals from 1 to 255 minutes Logs up to 2048 consecutive temperature measurements in read-only nonvolatile memory Records long-term temperature histogram in 63 bins with 2.0°C resolution Programmable temperature-high and temperature-low alarm trip points Two serial interface options: synchronous and asynchronous - 3-wire synchronous serial interface - Asynchronous serial interface compatible with standard UARTs Memory partitioned into 32-byte pages for packetizing data On-chip 16-bit CRC generator to safeguard data read operations in asynchronous communications mode Unique, factory lasered and tested 64-bit serial number PIN ASSIGNMENT VBAT 1 16 VCC X1 2 15 COMSEL X2 3 14 RX NC 4 13 TX INSPEC 5 12 SCLK OUTSPEC 6 11 I/O INT 7 10 RST GND 8 9 ST DS1615 16-Pin DIP DS1615S 16-Pin SOIC (300 mil) Top View BUMP 5 BUMP 1 BUMP 21 BUMP 17 DS1615X Flip Chip Package Bottom View PIN DESCRIPTION Vbat X1 X2 NC INSPEC OUTSPEC INT GND ST RST I/O SCLK TX RX COMSEL VCC 1 of 24 - Battery Supply - Crystal Input - Crystal Output - No Connect - In-specification Output - Out-of-specification Output - Interrupt Output - Ground - Start/Status Input - 3-wire Reset Input - 3-wire Input/Output - 3-wire Clock Input - Transmit Output - Receive Input - Communication Select - +5V Supply 052400 DS1615 ORDERING INFORMATION DS1615 16-Pin DIP DS1615S 16-Pin SOIC DS1615X Flip Chip Package DS1615S 16 -Pin SOIC **For more information of Flip Chip Packaging, go to www.dalsemi.com to the Released Data Sheets section and select Chip Scale and Flip Chip Package Data Index. DESCRIPTION The DS1615 is an integrated temperature recorder that combines a real time clock with temperature data logging and histogram capabilities. It has been designed for applications that require temperature profiling over a given period of time. A programmable sampling rate feature makes the device ideal for applications requiring temperature monitoring over short or long time frames. The integrated Real Time Clock (RTC) provides seconds, minutes, hours, day, date, month, and year information with leap year compensation and also provides an alarm interrupt. Temperature measurement is provided via integrated thermal technology which can measure temperatures from -40°C to +85°C in 0.5°C increments. The DS1615 is a powerful data recording device, providing both a datalog of sampled temperature values over time and a histogram of temperature. The datalog function simply samples the temperature at a user defined sample rate and writes the data to the Temperature Datalog memory. Up to 2048 datalog samples may be recorded. Histogram functionality is implemented by sampling the temperature and then incrementing the count value in a data bin associated with that temperature. The DS1615 provides 63, 2-byte data bins in 2°C increments. The user can program data sampling for both data logging and for histogram tabulation at intervals ranging from once per minute to once every 255 minutes. The DS1615 also supports programmable high and low temperature alarm trip points that allow the device to monitor whether the temperature stays within desired limits. The device can drive an interrupt or status pin if the temperature falls outside of the programmable limits. The DS1615 can be programmed to begin sampling data via a pushbutton input or via a command sent over the serial interface with a host machine. The DS1615 also provides a 64-bit serial number which is useful for product identification and tracking. OVERVIEW The block diagram in Figure 1 shows the relationship between the major control and memory sections of the DS1615. The device has five major data components: 1) Real Time Clock and control block, 2) 32-byte User NV RAM with 64-bit lasered serial number, 3) 96 bytes of Alarm event/duration memory, 4) 128 bytes of histogram RAM, and 5) 2048 bytes of datalog memory. All memory is arranged in a single linear address space. 2 of 24 DS1615 DS1615 BLOCK DIAGRAM Figure 1 SIGNAL DESCRIPTIONS The following paragraphs describe the function of each pin. VCC- VCC is a +5V input supply. Communication with the DS1615 can take place only when VCC is connected to a +5V supply. Vbat- Battery input for standard lithium cell or other energy source. All functions of the DS1615 with the exception of the serial interface circuitry are powered by Vbat when VCC< Vbat. All functions are powered by VCC when VCC > Vbat. If a battery or other energy source is not used, the Vbat pin should be connected directly to GND. GND - Ground COMSEL (Communication Select Input) - This pin determines whether serial communication is asynchronous or synchronous. When pulled high to VCC, communication is synchronous and will take place via the SCLK, I/O, and RST pins. When COMSEL is tied to ground, asynchronous communication utilizing the TX and RX pins is selected. If this pin is floated, the DS1615 will operate in the asynchronous communications mode since the COMSEL pin has a weak internal pulldown resistor. Tx (Transmit Output) - Transmit output of the asynchronous serial interface. Tx is tri-stated whenever VCC < Vbat. Rx (Receive Input) - Receive input of the asynchronous serial interface. SCLK (3-wire Serial Clock Input) - The SCLK pin is the serial clock input for the 3-wire synchronous communications channel. 3 of 24 DS1615 I/O (3-wire Input/Output) - The I/O pin is the data Input/Output signal for the 3-wire synchronous communications channel. (3-wire Reset Input) - The RST pin is the communications reset pin for the 3-wire synchronous communications channel. RST (Interrupt Output) - The INT pin is an open drain active low output that can be connected to an interrupt input of a microprocessor. The INT output remains low as long as the status bit causing the interrupt is present and the corresponding interrupt-enable bit is set. INT (Open Drain In-Specification Output) - This pin, in conjunction with the OUTSPEC pin, is used to signal the status of the operation and data of the DS1615. INSPEC (Open Drain Out-of-Specification Out-put) - This pin, in conjunction with the INSPEC pin, is used to signal the status of the operation and data of the DS1615. OUTSPEC (Start/Status Button Input) - The ST pin provides two functions. First, when enabled as the datalog start source (SE bit in Control register is a logic 1), the ST pin is used to instruct the DS1615 to begin recording temperature data based on the programmed start delay and data sample rate. The ST pin must be held low for at least 0.5 seconds for a datalog mission to begin. An external pullup resistor should be connected to this pin. ST Secondly, the ST pin can be used to poll the status of the recorded data. After datalogging has begun, the ST pin instructs the DS1615 to report the status of the recorded data via the INSPEC and OUTSPEC pins. X1, X2 - Connections for a standard 32.768 kHz quartz crystal, Daiwa part number DT-26S or equivalent. For greatest accuracy, the DS1615 must be used with a crystal that has a specified load capacitance of 6 pF. There is no need for external capacitors or resistors. Note: X1 and X2 are very high impedance nodes. It is recommended that they and the crystal be guard-ringed with ground and that high frequency signals be kept away from the crystal area. For more information on crystal selection and crystal layout considerations, please consult Application Note 58, Crystal Considerations with Dallas Real Time Clocks. NC (No Connect) - This pin should be left unconnected. MEMORY The memory map in Figure 2a shows the general organization of the DS1615. As can be seen in the figure, the device is segmented into 32 byte pages. Pages 0 and 1 contain the Real Time Clock and Control registers (see Figure 2b for more detail). The User NV RAM resides in page 2. Pages 17 to 19 are assigned to storing the alarm time stamps and durations. The temperature histogram bins begin at page 64 and use up four pages. The temperature logging memory covers pages 128 to 191. Memory pages 1, 3 to 16, 20 to 63, 68 to 127, and 192 and up are reserved for future extensions. The end user can write only to the Real Time Clock and Control registers and the User NV RAM. The rest of the memory map is read-only from the end users perspective. 4 of 24 DS1615 DS1615 MEMORY MAP Figure 2a ADDRESS 0000H TO 001FH 0020H TO 003FH 0040H TO 005FH 0060H TO 0217H 0218H TO 021FH 00220H TO 027FH 0280H TO 07FFH 0800H TO 087FH 0880H TO 0FFFH 1000H TO 17FFH 1800H AND HIGHER RTC AND CONTROL REGISTERS PAGE 0 (RESERVED) PAGE 1 USER NV RAM PAGE 2 (RESERVED FOR FUTURE EXTENSIONS) SERIAL NUMBER ALARM TIME STAMPS AND DURATIONS PAGE 3 TO PAGE 16 (EXCLUDING LAST 8 BYTES OF PAGE 16) PAGE 16 (LAST 8 BYTES) PAGE 17 TO PAGE 19 (RESERVED FOR FUTURE EXTENSIONS) PAGES 20 - 63 TEMPERATURE HISTOGRAM (63 BINS OF 2 BYTES EACH) PAGE 64 TO PAGE 67 (RESERVED FOR FUTURE EXTENSIONS) PAGES 68 - 127 TEMPERATURE DATALOG MEMORY (64 PAGES) (RESERVED FOR FUTURE EXTENSIONS) 5 of 24 PAGE 128 TO PAGE 191 PAGE 192 AND HIGHER DS1615 DS1615 RTC AND CONTROL PAGE Figure 2b ADDRESS BIT 7 00 01 02 03 04 05 06 07 08 09 0 0 0 0 0 0 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20-3F MS MM MH MD EOSC TR BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 10 Seconds Single Seconds 10 Minutes Single Minutes 12/24 10 h A/P 10 h Single Hours 0 0 0 0 Day Of Week 0 10 Date Single Date 0 0 10 m. Single Month 10 Years Single Years 10 Seconds Alarm Single Seconds Alarm 10 Minutes Alarm Single Minutes Alarm 12/24 10 h A/P 10 h Single Hours Alarm alm 0 0 0 0 Day Of Week Alarm Low Temperature Threshold High Temperature Threshold Number Of Minutes Between Temperature Conversions CLR 0 SE RO TLIE THIE AIE (reads 00h) (reads 00h) Current Temperature Start Delay Register (LSB) Start Delay Register (MSB) MEM MIP SIP LOBAT TLF THF ALMF CLR Minutes Hours Date Month Year Low Byte Medium Byte High Byte Low Byte Medium Byte High Byte (Read 00H) 6 of 24 FUNCTION Real Time Clock Registers Real Time Alarm Clock Temperature Alarm Sample Rate Control Reserved Reserved Temperature Start Delay Start Delay Status Start Time Stamp Current Samples Counter Total Samples Counter Reserved DS1615 DS1615 ALARM TIME STAMPS AND DURATIONS Figure 2c ADDRESS 220 221 222 223 224 ↓ 24B 24C 24D 24E 24F 250 251 252 253 254 ↓ 27B 27C 27D 27E 27F REGISTER T1 Low Samples Counter LSB T1 Low Samples Counter T1 Low Samples Counter MSB T1 Low Duration ↓ T12 Low Samples Counter LSB T12 Low Samples Counter T12 Low Samples Counter MSB T12 Low Duration T1 High Samples Counter LSB T1 High Samples Counter T1 High Samples Counter MSB T1 High Duration ↓ T12 High Samples Counter LSB T12 High Samples Counter T12 High Samples Counter MSB T12 High Duration DS1615 HISTOGRAM MEMORY Figure 2d ADDRESS 800 801 802 803 804 ↓ 879 87A 87B 87C 87D 87E 87F REGISTER -40°C Data Bin (LSB) -40°C Data Bin (MSB) -38°C Data Bin (LSB) -38°C Data Bin (MSB) ↓ 82°C Data Bin (LSB) 82°C Data Bin (MSB) 84°C Data Bin (LSB) 84°C Data Bin (MSB) Reserved (00h) Reserved (00h) 7 of 24 DS1615 THERMAL SENSOR The key to temperature monitoring in the DS1615 is an integrated thermal sensor. The thermal sensor can measure temperature from -40°C to +85°C in 0.5°C increments (Fahrenheit equivalent is -40°F to +183.2°F in 0.9°F increments). The thermal sensor provides an accuracy of ±2°C. The format of temperature data is defined such that the temperature value is maintained in a single byte of data. Table 1 illustrates the format of the temperature data byte format. The values of T[7..0] range from 00000000b (for -40°C) to 11111010b (for 85°C). Each increment in the value of T[7..0] represents an increase in temperature of 0.5°C. The following simple formula can be used to translate the temperature data byte value into degrees Celsius: °C = 0.5(T[7..0]) - 40 TEMPERATURE DATA BYTE FORMAT Table 1 MSb T7 T6 T5 T4 T3 T2 T1 LSb T0 When a datalog mission has been initiated, the DS1615 provides temperature recording at regular intervals. However, the device also allows for immediate temperature sensing upon a users command when the device is not currently on a datalog mission. This is accomplished by issuing the Read Temperature command to the DS1615 over the serial interface. The most recently recorded temperature value is written to the Current Temperature register, regardless of whether that value was recorded from a datalog mission or from the issuance of the Read Temperature command. The status of the contents of this register is provided by the Temperature Ready (TR) bit in the Status register. If TR is a logic 1, the data is valid. If TR is a logic 0, the data may not be reliable. During a datalog mission, the TR bit is cleared to a logic 0 when a temperature conversion has been initiated and is set to a logic 1 upon the completion of the conversion. Likewise, the TR bit is cleared immediately after the Read Temperature command is issued and is set to a logic 1 upon the completion of the conversion. DATA LOGGING When the DS1615 datalogging function is enabled, the device is said to be on a datalog mission until the data-logging is stopped. During a datalog mission, temperature samples are successively written to the Temperature Datalog memory pages. These memory pages are located at addresses 1000h to 17FFh. The first sample is written to address location 1000h. The second sample is written to address location 1001h. Likewise, the address is incremented with each additional data sample. A total of 2048 registers have been reserved for datalog data. A datalog mission can be initiated via two different methods; by a host instruction over the serial interface or by a pushbutton input. When the SE bit in the Control register is cleared to a logic 0, the start function of the ST pin is disabled and writing any non-zero value to the Sample Rate register will start a mission. When the SE bit is set to a logic 1, the pushbutton method of starting a mission is enabled. Under this mode of operation, the DS1615 will begin a datalog mission when a non-zero value has been written to the Sample Rate register and then the ST pin has been held low for at least 0.5 seconds. The sample rate during a datalog mission is equal to the value written to the Sample Rate register multiplied by one minute. Writing a 0 to the MIP bit in the Status register completes the mission. 8 of 24 DS1615 Upon initiation of datalog mission by either method, the DS1615 will do two things: 1. The INSPEC and OUTSPEC pins will generate four low pulses simultaneously. 2. The Mission-in-Progress (MIP) bit in the Status register is set to a one. The time at which the first datalog sample is measured is dependent upon the value in the Start Delay registers. The two Start Delay registers provide a method for the end user to program a delay before sampling commences. The delay is roughly equal to the value in the Start Delay registers times one minute. For example, if the Start Delay registers contain a value of ten, then the device will begin recording data approximately ten minutes after it received either the pushbutton start signal or start instruction. The Start Delay registers are located at addresses 0012h and 0013h, with register 0012h being the LSB and register 0013h being the MSB. The Start Delay register decrements every time the Seconds register rolls over from 59 to 00. When this Start Delay register contains a 00, the first datalog sample will be taken when the seconds register rolls over from 59 to 00. The user has two options for dealing with the potential occurrence of a data overrun (i.e., more than 2048 total data samples). The first option is to enable the rollover feature of the DS1615. This is accomplished by setting the Rollover bit (bit 3 of the Control register) to 1. When the Rollover feature is enabled, new data is written over previous data, starting with address 0000h. For example, if the Datalog memory has been completely filled (i.e., 2048 data samples have been recorded) the next data sample will be written to address location 1000h and the address pointer will be incremented with each successive data sample. The second option for dealing with data overrun is to simply stop the recording of data after the datalog memory has been completely used. In other words, the DS1615 will stop recording data values after 2048 data samples. This feature is enabled by disabling the Rollover feature. (bit 3 of the Control register set to 0). It should be noted that during a datalog mission, a time stamp for the first sample is recorded, but is not included for each subsequent sample. However, the time of acquisition for any data sample is easily determined by considering the start time, the sample rate, the value in the Current Sample Counter, and the address of the particular data sample in the datalog memory. If no rollover has occurred in the datalog memory, the sample time associated with any particular data point can be calculated by multiplying the address of the data by the sample rate and adding that to the stored start time value. If the rollover feature has been enabled, the user can determine if rollover has occurred by reading the value in the Current Samples register. This register counts the total number of samples that have been acquired. If this value is greater than 07FFh (decimal 2047) then the user knows that rollover has occurred. If rollover has occurred, the user needs to determine how many times rollover occurred in determining the sample time for any particular data sample. As a safety measure, the DS1615 has been designed such that the end user cannot write to the Temperature Datalog Memory. This prevents the falsification of data-log data by writing values to datalog registers. DATA HISTOGRAM While on a datalog mission, the DS1615 also records a histogram of the recorded temperature data. The histo-gram is provided by a series of 63 two-byte data bins that are located in the Temperature Histogram memory pages (addresses 0800h to 087Fh). Each bin consists of a 16-bit binary counter that is incremented each time an acquired temperature value falls into the range of the bin. The least significant byte of each bin is stored at the lower address. Bin 0 begins at memory address 0800h, bin 1 at 0802h, and so on up to 087Ch for bin 62. 9 of 24 DS1615 After a temperature conversion is completed, the number of the bin to be updated is determined by dropping the two least significant bits of the binary temperature value. Thus, bin 0 will be updated with every temperature reading from -40°C to -38.5°C. In the same way, bin 1 is associated with the range of 38°C to -36.5°C. Bin 62, finally, counts temperature values in the range of +84°C to 85.0°C. Since the device will not generate temperature values higher than 85.0°C, bin 62 covers only three temperature values. The memory for a potential 64 th bin exists, but will always read 0s. Since each data bin contains two bytes, a total of 65,535 samples can be accumulated. If more samples are measured, the data bin will remain at the maximum value. In other words, the data bin value will not roll-over in the event of an overrun. TEMPERATURE ALARM LOGGING For some applications it may be essential to record exactly when a temperature sample exceeds a predefined tolerance band and for how long the temperature violation remained. A tolerance band is specified by means of the Temperature Alarm registers, addresses 000Bh and 000Ch. The user can set a high and a low temperature threshold. As long as the temperature samples stay within this tolerance band (i.e., are higher than the low threshold and lower than the high threshold), the DS1615 will not record any temperature alarm. If the temperature violates the temperature band, the DS1615 will generate an alarm and set either the Temperature High Flag (THF) or the Temperature Low Flag (TLF) in the Status register (address 0014h). In addition, the device generates a time stamp of when the alarm occurred and records the duration of the alarming condition. The INT pin will be asserted by a high temperature alarm if the Temperature High Interrupt Enable (THIE) is set and will be asserted by a low temperature alarm if the Temperature Low Interrupt Enable (TLIE) is set. The device stores a time stamp of a violating condition by copying contents of the three-byte Current Samples Counter when the alarm occurred. The least significant byte is stored at the lower address. One address higher than each time stamp, the DS1615 maintains a one byte duration counter that stores the number of times the temperature was found to be beyond the threshold. If this counter has reached its limit after 255 consecutive temperature readings and the temperature has not yet returned to a level within the tolerance band, the device will issue another time stamp at the next higher address and open another counter to record the duration. If the temperature returns to normal before the counter has reached its limit, the duration counter of the particular time stamp will not increment any further. Should the temperature again cross this threshold, another time stamp will be recorded and its associated counter will increment with each temperature reading outside the tolerance band. This algorithm is implemented for the low as well as for the high temperature threshold. Time stamps and durations where the temperature violates the low temperature threshold are stored in the address range 0220h to 024Fh (48 bytes). The memory address range 0250h to 027Fh (48 bytes) is reserved for time stamps and duration where the temperature exceeds the high temperature threshold. This allocation allows to record 24 individual alarm events and periods (12 periods for too hot and 12 for too cold). The date and time of each of these periods can be determined from the Start Time Stamp and the time distance between each temperature reading. Figure 2c illustrates the Alarm Time Stamps and Durations register. INSPEC AND OUTSPEC PINS Two special output pins, INSPEC and OUTSPEC , are intended to output the status of the DS1615. More specifically, these pins can be used to control the illumination of LEDs. For example, the INSPEC pin can be used to pulse a green LED and the OUTSPEC pin can be used to pulse a red LED. When the end user 10 of 24 DS1615 starts a datalog mission or polls the device for information, one or both of these pins will be pulsed four times. Depending on the status of the device, both pins will be pulsed simultaneously or just one pin will be pulsed at a time. Each pulse is 62.5 ms in duration and will start every half second. See Figures 8 and 9 for further details. The INSPEC and OUTSPEC pins are used to provide visual feedback to the end user in the following situations: 1. Datalog Mission Start When a datalog mission is first initiated, the INSPEC and OUTSPEC pins will generate four low pulses simultaneously to give the end user a visual indication that a datalog mission has begun. 2. Request for Status of Data Following a user request for the status of recorded temperature data, the INSPEC pin will generate four low pulses if the recorded temperature data is within the user defined limits (as set in the Low Temperature Threshold and High Temperature Threshold registers). If the recorded temperature data contains any readings that fall outside of these thresholds, the OUTSPEC pin will be pulsed four times. If the request comes after the mission has started (i.e., MIP = 1), but before the first temperature sample has been recorded, the INSPEC and OUTSPEC pins will generate a total of four low pulses alternately, starting with the OUTSPEC pin. The DS1615 provides two methods for the user to request the status of the data. The first method is to send the Specification Test command over the serial interface. The second method is by holding the ST pin low for at least half a second after the datalogger has already been started. CLOCK, CALENDAR, AND ALARM The time and calendar information is accessed by reading/ writing the appropriate register bytes. Note that some bits are set to zero. These bits will always read zero regardless of how they are written. The contents of the time, calendar, and alarm registers are in the Binary-Coded Decimal (BCD) format. The DS1615 can run in either 12-hour or 24-hour mode. Bit 6 of the hours register is defined as the 12or 24-hour mode select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5 is the AM/PM bit with logic one being PM. In the 24-hour mode, bit 5 is the second 10-hour bit (20-23 hours). The DS1615 also contains a time of day alarm. The alarm registers are located in registers 0007h to 000Ah. Bit 7 of each of the alarm registers are mask bits (see Table 2). When all of the mask bits are logic 0, an alarm will occur once per week when the values stored in time-keeping registers 0000h to 0003h match the values stored in the time of day alarm registers. An alarm will be generated every day when mask bit of the day alarm register is set to 1. An alarm will be generated every hour when the day and hour alarm mask bits are set to 1. Similarly, an alarm will be generated every minute when the day, hour, and minute alarm mask bits are set to 1. When day, hour, minute, and seconds alarm mask bits are set to 1, an alarm will occur every second. As a security measure to prevent unauthorized tampering, changing any value in the RTC and Control registers (with the exception of the Status register) will stop a datalog mission and clear the Mission-inProgress (MIP) bit. 11 of 24 DS1615 TIME OF DAY ALARM BITS Table 2 ALARM REGISTER MASK BITS (BIT 7) SECONDS MINUTES HOURS DAYS 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 Alarm once per second Alarm when seconds match Alarm when minutes and seconds match Alarm when hours, minutes, and seconds match Alarm when day, hours, minutes, and seconds match SPECIAL PURPOSE REGISTERS The following description defines the operation of the special function registers of the DS1615. CONTROL REGISTER MSb EOSC CLR 0 SE RO TLIE THIE LSb AIE - Enable oscillator - This bit controls the state of the oscillator in battery back-up mode only. When set to logic 0, the oscillator is active. When this bit is set to a logic 1, the oscillator is stopped and the DS1615 is placed into a low-power standby mode with a current drain of less than 100 nanoamps at room temperature. When VCC is applied or when MIP =1, the oscillator is active regardless of the state of this bit. EOSC CLR - Clear Enable This bit enables the Clear Memory command. When this bit is set to a one and the Clear Memory command is subsequently issued, the datalog, histogram, Temperature Alarm, Current Samples, Start Time Stamp, Start Delay, and Sample Rate register are all cleared to zero. Following the issuing of the Clear Memory command, the CLR bit is also cleared to zero. If the Clear Enable bit is set, but a command other than the Clear Memory command is issued next, the CLR bit is cleared to a zero and the contents of the datalog, histogram, temperature alarms, Current Samples registers, Start Delay, and Sample Rate register are unchanged. ST - Start Enable - This bit enables the start function of the ST input. When SE is a logic 1, the ST input is enabled as the start pin for datalogging operation. When enabled, datalogging operation begins when the Sample Rate register contains a non-zero value AND then the ST pin has been held low for at least 0.5 seconds. When SE is a logic 0, writing any non-zero value to the Sample Rate register will start datalogging operation. Once datalog operation has been initiated, the first data sample occurs after the specified delay written to the Start Delay register has elapsed. RO - Roll-Over - This bit determines whether the data-log function of the DS1615 rolls over or stops writing data to the datalog memory in the event that the datalog memory is completely filled. If RO is set to a 1, the data-log memory will roll over after all 2048 registers in the datalog memory have been used. In other words, after the 2048th data sample, the following sample will be written to register 0000h, overwriting the original data. Likewise, subsequent samples will increment through the datalog registers, overwriting their data. If RO is cleared to a 0, no further data samples will be written to the datalog memory after all datalog memory registers have been filled. Samples, however, will continue to be taken and the appropriate histogram registers will be incremented with each sample. Likewise, the temperature alarms will also continue to function. 12 of 24 DS1615 TLIE - Temperature Low Interrupt Enable - When set to a logic 1, this bit permits the Temperature Low Flag (TLF) in the Status register to assert INT . When the TLIE bit is set to logic 0, the TLF bit does not initiate the INT signal. THIE - Temperature High Interrupt Enable - When set to a logic 1, this bit permits the Temperature High Flag (THF) in the Status register to assert INT . When the THIE bit is set to logic 0, the THF bit does not initiate the INT signal. AIE - Alarm Interrupt Enable - When set to a logic 1, this bit permits the Alarm Flag (ALMF) in the Status register to assert INT . When the AIE bit is set to logic 0, the ALMF bit does not initiate the INT signal. STATUS REGISTER MSb TR MEMCL MIP SIP LOBAT TLF THF LSb ALMF TR - Temperature Ready This bit indicates the status of the temperature value in the Current Temperature register after the Read Temperature command has been executed. When this bit is a logic 1, the DS1615 has completed the temperature measurement and has written a valid value to the Current Temperature register. When this bit is a logic 0, the temperature measurement has not been completed. This bit is cleared to 0 when the Read Temperature command is sent. MEM CLR - Memory Cleared This bit indicates that the datalog memory, histogram memory, Temperature Alarm, Current Samples, Start Time Stamp, Start Delay, and Sample Rate registers are all cleared to zero. MEM CLR is cleared to 0 when a datalog mission is started (i.e., MIP = 1). MIP - Mission in Progress This bit indicates the sampling status of the DS1615. If MIP is a logic 1, the device is currently on a mission in which it is operating in the datalogging mode. The MIP bit is changed to a logic 1 immediately following 1) the writing of a non-zero value to the Sample Rate register when the SE bit is a 0 or 2) a 0.5 second pulse on the ST pin if the Sample Rate register contains a non-zero value AND the SE bit is a 1. If MIP is a logic 0, the DS1615 is not currently in datalogging mode. The MIP bit transitions from a logic 1 to a logic 0 whenever datalogging is stopped. Datalogging is stopped when the DS1615 is cleared via the clear bit and clear instruction or when any of the RTC or Control registers (with the exception of the Status register) are written to during a mission. The MIP bit can also be written to a logic 0 by the end user to stop datalogging. It cannot, however, be written to a logic 1. SIP - Sample in Progress This bit indicates that the DS1615 is currently in the process of acquiring a temperature sample. When the SIP bit is 0, a temperature conversion is not currently in process and the next conversion will not begin for at least 250 ms. When the SIP bit is a 1, a temperature conversion is in progress and no registers or memory locations should be read or written. The SIP bit will be a 1 for a maximum of 750 ms. LOBAT - Low Battery Flag - This bit reflects the status of the backup power source connected to the VBAT pin. A logic one for this bit indicates an exhausted lithium energy source. 13 of 24 DS1615 TLF - Temperature Low Flag - A logic 1 in the Temperature Low Flag bit indicates that the temperature is/has been less than or equal to the value in the Temperature Low Threshold register. If TLIE is also a logic 1, the INT pin will go low. TLF is cleared by writing this bit to a logic 0. THF - Temperature High Flag - A logic 1 in the Temperature High Flag bit indicates that the temperature is/has been greater than or equal to the value in the Temperature High Threshold register. If THIE is also a logic 1, the INT pin will go low. THF is cleared by writing this bit to a logic 0. ALMF - Alarm Flag - A logic 1 in the Alarm Flag bit indicates that the current time has matched the time of day Alarm registers. If the AIE bit is also a logic 1, the INT pin will go low. ALMF is cleared by writing this bit to a logic 0. SAMPLE RATE REGISTER MSb SR7 SR6 SR5 SR4 SR3 SR2 SR1 LSb SR0 The data sample rate for the DS1615 can range from once per minute to once per 255 minutes. The rate is equal to the value written to the Sample Rate register multiplied by one minute. This register can only be written to a new value when the MEM CLR bit in the Status register is set to 1. In other words, once a datalog mission has started, it cannot be changed without first issuing the Clear Memory command. The Sample Rate register is cleared by issuing the Clear Memory command. START DELAY RESISTER MSb D15 D7 D14 D6 D13 D5 D12 D4 D11 D3 D10 D2 D9 D1 LSb D8 D0 The Start Delay register determines the amount of delay before the DS1615 begins to take temperature measurements. The amount of the delay is roughly equal to the value in the register multiplied by one minute. If the register contains 00h, the first sample will begin when the seconds register rolls over from 59 to 00. The value in this register decrements each time the seconds register rolls over from 59 to 00 until the Start Delay register reaches a value of 00h. TEMPERATURE HIGH THRESHOLD REGISTER MSb TH7 TH6 TH5 TH4 TH3 TH2 TH1 LSb TH0 This register determines the high threshold for interrupt generation from the thermal sensor. If the temperature is greater than or equal to the value in this register, an interrupt will be activated if the Temperature High Interrupt Enable (THIE) bit is set to a logic 1. TEMPERATURE LOW THRESHOLD REGISTER MSb TL7 TL6 TL5 TL4 TL3 14 of 24 TL2 TL1 LSb TL0 DS1615 This register determines the low threshold for interrupt generation from the thermal sensor. If the temperature is less than or equal to the value in this register, an inter-rupt will be activated if the Temperature Low Interrupt Enable (TLIE) bit is set to a logic 1. CURRENT TEMPERATURE REGISTER MSb CT7 CT6 CT5 CT4 CT3 CT2 CT1 LSb CT0 This register provides the most recently acquired temperature measurement. It contains either the most recently measured sample from automatic datalogging or it contains data that was acquired in response to a users instruction for an immediate temperature measurement. An immediate measurement is acquired by issuing the Read Temperature command. After issuing the Read Temperature command, the value in this register is valid only if the Temperature Ready (TR) bit in the Status register is a logic 1. CURRENT SAMPLES COUNTER This three-byte register set provides the number of samples that have been logged during the current data logging operation (also known as a “mission”). The con-tents of this register can be used by software to point to the most recent data sample in the Datalog NV RAM. The data in these registers are cleared by enabling and issuing the Clear Memory command. TOTAL SAMPLES COUNTER This three-byte register set provides the total number of data samples that have been logged during the life of the product. This value cannot be written by the end user. The value in this register is maintained as long as the lithium energy source is available. SILICON SERIAL NUMBER A unique 64-bit lasered serial number is located in the register bank. This serial number is divided into three parts. The first byte contains a model number (17h) to identify the device type. The next six registers contain a unique binary number. The last serial number byte contains a CRC byte used to validate the data in the first seven serial number registers. All eight bytes of the serial number are read only registers. The DS1615 is manufactured such that no two devices will contain an identical serial number. Blocks of numbers can be reserved by the customer. Contact Dallas Semiconductor for special ordering information for devices with reserved blocks of serial numbers. SECURITY The DS1615 provides several measures to insure data integrity for the end user. These security measures are intended to prevent third party intermediaries from tampering with the data that has been stored in the Datalog and Histogram memory. As a first security measure, the Datalog and Histogram memory are Read-only from the perspective of the end user. The DS1615 can write sampled data into these memory banks, but the end user cannot write data to individual registers. This prevents an unscrupulous intermediary from writing false data to the DS1615. The end user, however, can clear the contents of the Datalog and Histogram memory. This is accomplished by enabling and issuing the Clear Memory command. 15 of 24 DS1615 A second security feature lies in the fact that once the sample rate has been selected by writing to the Sample Rate register, it cannot be changed to another value without resetting the recorded temperature data. This prevents gathering many data samples at a fast sample rate and then lowering the sample rate to give the appearance that the data was recorded over a longer period of time. The Sample Rate register can only be written to a new value if the MEM CLR bit is set to one. A third security feature lies in the two integrated sample counters - the Current Samples Counter and the Total Samples Counter. These two counters can be used to guarantee that the DS1615 data has not been cleared at any time during a given period of time. The Current Samples Counter counts the number of samples that have occurred since the most recent data acquisition operation was started (i.e., the number of samples since the Sample Rate register was written to a non-zero value). The Total Samples Counter counts the total number of samples that have been recorded in the life of the device (assuming the lithium energy source has not been removed during that time). If the end user knows the value in the Total Samples Counter before the data acquisition operation is started, he can guarantee that the DS1615 has not been cleared. If the Current Samples count equals the difference between the ending value and beginning value of the Total Samples Counter, then the DS1615 data has not been cleared during that time frame. As a fourth security measure, changing any value in the RTC and Control registers (with the exception of the Status register) will stop datalogging and clear the Mission-in-Progress (MIP) bit. SERIAL INTERFACE The DS1615 provides two different serial communications options; asynchronous and synchronous. Both communications options will transmit the data LSb first, MSb last. The mode of communication is selected via the COMSEL pin. When this pin is pulled high, the DS1615 operates in synchronous mode. In this mode, communication with the DS1615 is facilitated by the SCLK, I/O, and RST pins. When COMSEL is pulled low or floated, asynchronous communications is selected and communication with the device occurs over the TX and RX pins. The operation of each mode is discussed in further detail below. Asynchronous Communication In asynchronous mode, the DS1615 operates as a slave peripheral device which is read and written over a half duplex asynchronous data interface at the fixed rate of 9,600 bits per second. Data is received and transmitted in 8-bit bytes using a standard asynchronous serial communications format as shown in Figure 3. This format is easily generated by the UART in most systems. The DS1615 data format implements 10 bit words including one start bit, eight data bits, and one stop bit. Data is received by the DS1615 on the RX pin and transmitted by the TX pin. COMMUNICATION WORD FORMAT Figure 3 16 of 24 DS1615 Synchronous Communication Synchronous communication is accomplished over the 3-wire bus which is composed of three signals. These are the RST (reset), the SCLK (serial clock), and I/O (data I/O) pins. The 3-wire bus operates at a maximum data rate of 2 Mbps. All data transfers are initiated by driving the RST input high and are terminated by driving RST low. (See Figures 6 and 7.) A clock cycle is a sequence of a falling edge followed by a rising edge. For data inputs, the data must be valid during the rising edge. Data bits are output on the falling edge of the clock and remain valid through the rising edge. When reading data from the DS1615, the I/O pin goes to a high impedance state when the clock is high. Taking RST low will terminate any communication and cause the I/O pin to go to a high impedance state. General Communications Format Communication with the DS1615 in both synchronous and asynchronous modes is accomplished by first writing a command to the device. The command is then followed by the parameters and/or data required by the command. The command set for the DS1615 can be seen in Table 3. Reads and writes to the DS1615 differ in that writes are performed one byte at a time while reads are performed in page long (up to 32 byte) bursts. Writing one byte at a time simply means that a write command has to be issued before each byte of data that is written. For example, writing to the user NV RAM requires that the Write User NV RAM command be writ-ten followed by the address to be written and then the actual data byte. Writing a second data byte would require the same procedure with a new address specified. Reads, however, are accomplished in bursts. For example, if an end user wants to read data from a specific page he would first issue the Read Page command, followed by the address to begin reading. After the DS1615 receives the command and starting address, it will immediately transmit the data that resides at the given address location. However, rather than stop with that single byte of data, the DS1615 will continue transmitting the next byte of data and will continue transmitting data until the page boundary is reached. A page read can begin at any address, but will always end at the page boundary. Thus, a page read can range from 1 to 32 bytes. It should be noted that a read can be terminated at any time when communicating in synchronous mode by pulling RST to ground. However, in asynchronous mode, the DS1615 will not stop transmitting data until the page boundary is reached. Cyclical Redundancy Check (CRC) When communicating in the asynchronous mode, a 16-bit CRC is transmitted by the DS1615 following the transmission of all data. When communicating in synchronous mode, no CRC is transmitted. The 16-bit CRC (Cyclical Redundancy Check) is used to insure the accuracy of the data that is read from the DS1615. The CRC is generated according to the standardized CRC16-polynomial function X16+ X15+ X2 1. Figure 4 illustrates the function of the generator. The CRC is generated by clearing the CRC generator and then shifting in data from the register set being read. A sixteen bit CRC is transmitted by the DS1615 after the last register of any page of memory is read. In other words, a CRC is generated at the end boundary of every page that is read. 17 of 24 DS1615 CRC HARDWARE DESCRIPTION AND POLYNOMIAL Figure 4 Communication Reset (Asynchronous Mode) When transmitting the command, parameters, or data to the DS1615, it is possible that communication might be interrupted. For example, the user might accidentally disconnect the cable linking the device to the host computer. To insure that communication always starts at a known state when in the asynchronous mode, the DS1615 will reset the communication if it senses a problem. This is accomplished via two methods. First, if during the transmission of a byte of data to the DS1615, the stop bit is not received, communication will be reset. The lack of a valid stop bit indicates that that particular byte of data was not received correctly. Second, if more then 10-bit times expire between the reception of one byte of data and the reception of the next required byte, then communication will be reset. Automatic resetting of communication is not required when communicating in the synchronous mode. This is because of the function of the RST pin. Pulling RST low resets the serial communication of the DS1615. DS1615 COMMANDS All communication with the DS1615 is accomplished by writing a command to the device followed by parameter byte/s if required. Table 3 illustrates the commands sup-ported by the DS1615. DS1615 COMMANDS Table 3 COMMAND 22h 33h 44h 55h A5h FUNCTION Write Byte Read Page Specification Test Read Temperature Clear Memory DESCRIPTION Write one byte to RTC, Control registers, and User NV RAM Read Page Poll status of temperature extremes Instructs DS1615 to immediately measure the temperature and store the result in the Current Temperature register when MIP = 0. This command clears the datalog, histogram, Temperature Alarm, Current Samples, Start Time Stamp, Start Delay, and Sample Rate registers when the Clear Enable bit (CLR) in the Control register is set to a one. The DS1615 commands are summarized below. Note that if an invalid command is issued, no action is taken by the device. 18 of 24 DS1615 1. Write Byte (22h) Host Transmit: D7 0 0 d7 D6 0 a6 d6 D5 1 a5 d5 D4 0 a4 d4 D3 0 a3 d3 D2 0 a2 d2 D1 1 a1 d1 D0 0 a0 d0 DS1615 Response: None Note that good programming practice insists that the Clear Memory command should be issued whenever the DS1615 is programmed to begin a new datalogging mission. 2. Read Page (33h) Host Transmit: D7 0 a15 a7 D6 0 a14 a6 D5 1 a13 a5 D4 1 a12 a4 D3 0 a11 a3 D2 0 a10 a2 D1 1 a9 a1 D0 1 a8 a0 D4 D3 D2 D1 D0 DS1615 Response (Host Receives): D7 D6 register a[15..0] D5 ↓ register xxxh Where xxx represents the last register of the page that has been accessed. When in asynchronous mode, the TX pin becomes inactive after the last register in the page and the CRC have been transmitted. In synchronous mode, the DS1615 will continue to transmit data as long as clocks are presented to the serial interface. If clocks are presented after the final data bit of the last register in the page, the DS1615 will wrap-around to the first register in the page and sequentially transmit data as long as the clocks continue. 3. Specification Test (44h) Host Transmit: D7 0 D6 1 D5 0 D4 0 D3 0 D2 1 D1 0 D0 0 DS1615 Response (Host Receives): Either the INSPEC or OUTSPEC pin will generate four low pulses. Each pulse will be 62.5 ms in duration and will start every half second. This command instructs the DS1615 to generate four low pulses on either the INSPEC or OUTSPEC LED driver pins. The pin that is driven is dependent upon whether any data samples fell outside of the High Temperature and Low Temperature Threshold boundaries. These pins, when used to drive LEDs, can be used to provide a quick visual confirmation as to whether the temperature remained within the userdefined limits. 19 of 24 DS1615 Note that the Specification test command is ignored if the ST button is pulled to ground when the command is issued. 4. Read Temperature (55h) Host Transmit: D7 0 D6 1 D5 0 D4 1 D3 0 D2 1 D1 0 D0 1 DS1615 Response (Host Receives): When the device is not currently datalogging (i.e., MIP = 0), the Temperature is immediately measured and value is written to the Current Temperature register. This command instructs the DS1615 to immediately perform a temperature measurement and to store the resulting value in the Current Temperature register. The temperature value obtained from this command is not stored in the datalog or histogram memory. After this command has been executed, the user must read the Temperature Ready (TR) bit in the Status register to determine if the temperature measurement has been completed. If the TR bit is a logic 1, the measurement has been completed and the value in the Current Temperature register is valid. If the TR bit is a logic 0, the measurement has not been completed. This command functions only when MIP = 0 (i.e., the device is not currently datalogging). If MIP =1, the DS1615 takes no action in response to the command. 5. Clear Memory (A5h) Host Transmit: D7 1 D6 0 D5 1 D4 0 D3 0 D2 1 D1 0 D0 1 DS1615 Response: The contents of the datalog, histogram, Temperature Alarm, Current Samples, Start Time Stamp, Start Delay, and Sample Rate registers are cleared if the Clear Memory command has been enabled by setting the CLR bit in the Control register to a one. After clearing the memory, the MEM CLR bit in the Status register is set. The Clear Memory command functions only if the oscillator is active. The DS1615 is inaccessible for 500 µs after the Clear Memory command has been issued. 20 of 24 DS1615 ABSOLUTE MAXIMUM RATINGS* Voltage on Any Pin Relative to Ground Operating Temperature Storage Temperature Soldering Temperature -0.3V to +7.0V -40°C to +85°C -55°C to +125°C See J-STD-020A specification • 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. • The Dallas Semiconductor DS1615X is built to the highest quality standards and manufactured for long term reliability. All Dallas Semiconductor devices are made using the same quality materials and manufacturing methods. However, the DS1615X is not exposed to environmental stresses, such as burn-in, that some industrial applications require. For specific reliability information on this product, please contact the factory in Dallas at (972) 371-4448. RECOMMENDED DC OPERATING CONDITIONS PARAMETER Power Supply Voltage Input Logic 1 Input Logic 0 Battery Voltage SYMBOL VCC VIH VIL VBAT MIN 4.0 2.2 -0.3 2.7 TYP 5.0 (-40°C to 85°C) MAX 5.5 VCC +0.3 +0.8 90%VCC DC ELECTRICAL CHARACTERISTICS PARAMETER Input Leakage Logic 1 Output Logic 0 Output TX and I/O Pins Output Current @ 2.0V TX, I/O, and INT Pins Output Current @ 0.8V INSPEC and OUTSPEC Output Current @ 0.8V Active Supply Current Temperature Conversion Current Oscillator Current Battery Standby Current (Oscillator Off) DS1615 Thermometer Error NOTES 1 1 1 1 (-40°C to 85°C) SYMBOL ILI VOH VOL IOH MIN -1 2.4 TYP MAX +1 -2.2 UNITS µA V V mA IOL 4 mA IOL 10 mA 0.4 ICCA ITC 2 10 600 mA µA IOSC IBAT 300 500 200 nA nA ±2.0 °C TERR CAPACITANCE PARAMETER Input Capacitance Crystal Capacitance UNITS V V V V NOTES 8 6 (TA = 25°C) SYMBOL CI CX MIN 21 of 24 TYP 10 6 MAX UNITS pF pF NOTES DS1615 (-40°C to +85°C; VCC=5.0V ±10%) AC ELECTRICAL CHARACTERISTICS PARAMETER SYMBOL Vcc rise/fall time Delay from ST to INSPEC or OUTSPEC Active Delay from Specification to INSPEC or OUTSPEC Active Temperature Conversion Time INSPEC and OUTSPEC Active Low Pulse Width INSPEC and OUTSPEC High Duration MIN MAX UNITS tR/tF tSS 560 ms tCS 560 ms 200 ms ms tCONV tSL 150 62.5 tSH 437.5 ASYNCHRONOUS INTERFACE TIMING PARAMETER Date Rate Turnaround Time SYMBOL f BIT tTURN MIN 9,408 SYNCHRONOUS (3-WIRE) SERIAL INTERFACE TIMING PARAMETER Data to SCLK Setup SCLK to Data Hold SCLK to Data Delay SCLK Low Time SCLK High Time SCLK Frequency SCLK Rise and Fall RST to SCLK Setup SCLK to RST Hold RST Inactive Time RST to I/O High Z SCLK to I/O High Z TYP SYMBOL tDC tCDH tCDD tCL tCH tCLK t R , tF tCC tCCH tCWH tCDZ tCCZ ms (-40°C to +85°C; VCC=5.0V ±10%) TYP 9,600 2/fBIT MAX 9,792 UNITS bits/sec s NOTES 2 (-40°C to 85°C; VCC=5.0V ±10%) MIN 50 70 TYP MAX 200 250 250 DC 1 60 1 2.0 500 70 70 NOTES: 1. 2. 3. 4. 5. 6. 7. 8. NOTES All voltages are referenced to ground, The data rate fBIT is equal to 1/tBIT Measured with VIH= 3.0V or VIL= 0.0V and 10 ns maximum rise and fall time. Measured at VOH=2.4V or VOL=0.4V. Load Capacitance = 50 pF. Thermometer error reflects temperature error as tested during calibration. Sampled with 5 pF load. Not 100% tested. Comsel pin leakage 3=200 µA. 22 of 24 UNITS ns ns ns ns ns MHz ns µs ns µs ns sn NOTES 3 3 3,4, 5 3 3 3 3 3 3 3, 7 3, 7 DS1615 ASYNCHRONOUS SERIAL INTERFACE TIMING Figure 5 SYNCHRONOUS (3-WIRE) SERIAL INTERFACE READ TIMING Figure 6 SYNCHRONOUS (3-WIRE) SERIAL INTERFACE WRITE TIMING Figure 7 23 of 24 DS1615 SPECIFICATION POLLING FROM ST INPUT Figure 8 NOTE: INSPEC / OUTSPEC generate a total of four low pulses. SPECIFICATION POLLING FROM COMMAND Figure 9 NOTE: INSPEC / OUTSPEC generate a total of four low pulses. APPLICATION NOTES There are several application notes that apply to the DS1615. Application Note 58 will help with selection of the appropriate crystal, Application Note 116 will assist with designing the DS1615 into a stand alone or embedded system, and Application Note XXX provides system level solutions using the DS1615 and potential consultants to assist with system design or manufacture. 24 of 24