DALLAS DS1616S

PRELIMINARY
DS1616
Temperature and Three Input
MUX’ed 8-bit Data Recorder
www.dalsemi.com
FEATURES
Measures four channels of data:
− Integrated 8-bit temperature sensor,
− Integrated 8-bit Analog-to-Digital Converter
(ADC) with a three input mux for measuring
up to three external sensors
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. The
Real Time Clock is fully Y2K-compliant
Automatically wakes up and measures
temperature and/or ADC data at userprogrammable intervals from 1 to 255 minutes
2048-byte datalog memory
Records long-term temperature histogram in
63 bins with 2.0°C resolution
Records long-term ADC data histogram in 64 bins
with 4-bit resolution/bin (32 mV/bin) for ADC
Channel One
Programmable temperature-high and -low alarm
trip points
Programmable ADC data-high and -low alarm trip
points
Records time stamp and duration when
temperature or ADC Channel 1 Data leaves the
interval specified by the 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 64-bit serial number
PIN ASSIGNMENT
VBAT
X1
1
24
2
23
VCC
RX
TX
X2
3
22
GND
NC
COMSEL
4
5
21
20
SCLK
6
19
INSPEC
7
RST
GND
OUTSPEC
NC
8
18
17
9
10
16
15
11
14
AIN1
12
13
N/C
ST
INT
GND
I/O
AGND
AIN3
AIN2
DS1616 24-Pin DIP (600 mil)
DS1616S 24-Pin SOIC (300 mil)
PIN DESCRIPTION
Vbat
X1
X2
AINx
INSPEC
OUTSPEC
INT
GND
AGND
ST
RST
I/O
SCLK
TX
RX
COMSEL
VCC
- Battery Supply
- Crystal Input
- Crystal Output
- Analog in
- In-specification Output
- Out-of-specification Output
- Interrupt Output
- Digital Ground
- Analog Ground
- Start/Status Input
- 3-wire Reset Input
- 3-wire Input/Output
- 3-wire Clock Input
- Transmit Output
- Receive Input
- Communication Select
- +5V Supply
ORDERING INFORMATION
DS1616
DS1616S
1 of 29
24-Pin DIP
24-Pin SOIC
052300
DS1616
DESCRIPTION
The DS1616 is an integrated temperature/data recorder. It combines a Real Time Clock (RTC),
temperature sensor, and a three input mux’ed 8-bit Analog-to-Digital Converter (ADC). Datalogging is
supported for all four data channels and the and histogram functionality is supported for the temperature
sensor and ADC Channel 1 only. A programmable sample rate feature makes the device ideal for
applications requiring datalogging over short or long time frames.
The RTC provides seconds, minutes, hours, day, date, month, and year information with leap year
compensation, Year 2000 compliance, 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. An integrated three input mux’ed 8-bit ADC allows the device to record data from
other types of sensors.
The datalog function simply samples data at a user-defined sample rate and writes the data to the Datalog
memory. A total of 2048 bytes of data may be recorded. If only one data channel is selected, a total of
2048 samples can be recorded for that channel. If two channels are enabled, each channel can record
1024 samples. If three or four channels are enabled, each channel can record 512 samples. In the case of
only three channels enabled, the location corresponding to the disabled channel will be 0 to allow the rollover function to work smoothly.
Histogram functionality is provided for the Thermal Sensor and ADC Channel 1, and is implemented by
sampling the data and then incrementing the count value in a data bin associated with that value. The
DS1616 provides 63 2-byte data bins in 2°C increments for the temperature channel and 64 2-byte data
bins in 4-bit resolution steps (32mV/bin) for the ADC Data Channel 1. The sampling rate can be
programmed at intervals ranging from once per minute to once every 255 minutes.
The DS1616 provides programmable high- and low-temperature alarm trip points that allow the device to
monitor whether the temperature stays within desired limits. Likewise, high- and low- trip points can be
programmed for the ADC data. The device can drive an interrupt or status pin if the ADC data falls
outside of the programmable limits. The Temperature Sensor and Channel 1 of the ADC can also have
any event that falls outside of the programmed limits recorded with a time and date stamp and the
duration of the out-of-limits condition for additional analysis in the Alarm Memory. The DS1616 can be
programmed to begin sampling data via a pushbutton input or via a command sent over the serial
interface by a host machine.
A 64-bit serial number is available for unique product identification and tracking.
OVERVIEW
The block diagram in Figure 1 shows the relationship between the major control and memory sections of
the DS1616. The device has six major data components: 1) Real Time Clock and control blocks, 2)
32-byte User NV RAM with 64-bit lasered serial number, 3) 96 bytes of alarm event/duration memory, 4)
128 bytes of temperature histogram RAM, 5) 128 bytes of ADC Channel 1 data histogram RAM, and 6)
2048 bytes of datalog memory. All memory is arranged in a single linear address space.
2 of 29
DS1616
DS1616 Block Diagram Figure 1
SCLK
RST
I/O
COMSEL
SERIAL
INTERFACE
Tx
Rx
MEMORY
FUNCTION
CONTROL
X1
OSCILLATOR
AND
DIVIDER
X2
INTERNAL RTC
AND CONTROL
REGISTERS
RTC AND CONTROL
REGISTERS
USER NVRAM
ST
INSPEC
OUTSPEC
OPTIONAL
SERIAL NUMBER
CONTROL
LOGIC
ALARM TIME STAMP
AND DURATION
LOGGING MEMORY
INT
HISTOGRAM MEMORY
DATALOG MEMORY
AIN
3 TO 1
MUX
A/D
CONVERTER
TEMPERATURE
SENSOR
SIGNAL DESCRIPTIONS
The following paragraphs describe the function of each pin.
VCC - VCC is a +5 volt input supply. Communication with the DS1616 can take place only when VCC is
connected to a +5 volt supply.
Vbat - Battery input for standard lithium cell or other energy source. All functions of the DS1616 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, Vbat should be
connected directly to GND.
GND - GND connections are not internally connected, so all GND connections must be connected
directly to ground.
AGND - Analog ground should be connected directly to digital ground externally to eliminate ground
noise and potential differences.
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 DS1616 will operate in the
asynchronous communications mode since the COMSEL pin has a weak internal pulldown resistor.
3 of 29
DS1616
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.
I/O (3-Wire Input/Output) - The I/O pin is the data Input/Output signal for the 3-wire synchronous
communications channel.
RST (3-Wire Reset Input) - The RST pin is the communications reset pin for the 3-wire synchronous
communications channel.
INT (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.
INSPEC (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 DS1616.
OUTSPEC (Open Drain Out-of-Specification Output) - This pin, in conjunction with the INSPEC pin,
is used to signal the status of the operation and data of the DS1616.
ST (Start/Status Button Input) - The ST pin provides two functions. First, when enabled as the datalog
start source (SE bit in Control 1 register is a logic 1), the ST pin is used to instruct the DS1616 to begin
recording 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.
Secondly, the ST pin can be used to poll the status of the recorded data. After datalogging has begun, the
ST pin instructs the DS1616 to report the status of the recorded data via the INSPEC and OUTSPEC pins.
AIN1, AIN2, AIN3 (Analog Inputs) - The AINx pins are the mux’ed inputs to the ADC.
X1, X2 - Connections for a standard 32.768 kHz quartz crystal, Daiwa part number DT-26S or
equivalent. For greatest accuracy, the DS1616 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) - These pins should be left unconnected or tied to ground.
4 of 29
DS1616
MEMORY
The memory map in Figure 2a shows the general organization of the DS1616. 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 and pages 64 to 71 are reserved for histogram
memory. The data logging memory covers pages 128 to 191. Memory pages 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 user’s perspective.
DS1616 MEMORY MAP Figure 2a
0000H
to 003FH
0040H
to 0005FH
RTC and Control Registers
pages 0 and 1
User NV RAM
page 2
0060H
to 0217H
(Reserved for Future Extensions)
0218H
to 021FH
00220H
to 027FH
0280H
to 07FFH
0800H
to 087FH
0880H
to 08FFH
0900H
to 0FFFH
1000H
to 17FFH
1800H
and higher
Serial Number
Alarm Time Stamps and Durations
(Reserved for Future Extensions)
Temperature Histogram (63 Bins of 2 Bytes Each)
ADC Channel 1 Data Histogram (64 Bins of 2 Bytes Each)
(Reserved for Future Extensions)
Datalog Memory (64 pages)
(Reserved for Future Extensions)
5 of 29
page 3
to page 16
(excluding last
8 bytes of
page 16)
page 16
(last 8 bytes)
page 17
to page 19
page 20 - 63
page 64
to page 67
page 68
to page 71
page 72 - 127
page 128
to page 191
page 192 and
higher
DS1616
DS1616 RTC AND CONTROL PAGE Figure 2b
Addr.
00
01
02
Bit 7
0
0
0
03
04
05
06
07
08
09
0
0
Y2K
0A
0B
0C
0D
0E
MD
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
MS
MM
MH
EOSC
DR
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
10 h
Single Hours
A/P
0
0
0
0
Day Of Week
0
10 Date
Single Date
0
0
10 m.
Single Months
10 Years
Single Years
10 Seconds Alarm
Single Seconds Alarm
10 Minutes Alarm
Single Minutes Alarm
12/24
10 ha.
10 h.
Single Hours Alarm
A/P
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
MEM CLR
Y2K
(reads 00h)
(reads 00h)
Current Temperature
Start Delay Register (LSB)
Start Delay Register (MSB)
MIP
SIP
LOBAT
Minutes
Hours
Date
Month
Year
Low Byte
Medium Byte
High Byte
Low Byte
Medium Byte
High Byte
Current ADC Channel 1 Data
21
Current ADC Channel 2 Data
22
Current ADC Channel 3 Data
23
24
25
26
27
28
29
2A
2B-3F
0
0
CS0
(Temp)
ALF1
TLF
Low ADC Channel 1 Data Threshold
High ADC Channel 1 Data Threshold
Low ADC Channel 2 Data Threshold
High ADC Channel 2 Data Threshold
Low ADC Channel 3 Data Threshold
High ADC Channel 3 Data Threshold
CS1
CS2
CS3
ALIE
(ADC 1)
(ADC 2) (ADC 3)
AHF1
ALF2
AHF2
ALF3
(reads 00h)
6 of 29
THF
ALMF
Function
RealTime
Clock
Registers
RealTime
Clock
Alarm
Temperature
Alarm
Sample Rate
Control 1
Reserved
Reserved
Temperature
Start Delay
Start Delay
Status 1
Start
Time
Stamp
AHIE
0
AHF3
0
Current
Samples
Counter
Total
Samples
Counter
Sensor Input
1
Sensor Input
2
Sensor Input
3
ADC Data
Ch1 Alarm
ADC Data
Ch2 Alarm
ADC Data
Ch3 Alarm
Control 2
Status 2
Reserved
DS1616
DS1616 ALARM TIME STAMPS AND DURATIONS FOR THE THERMAL
SENSOR AND ADC CHANNEL 1 Figure 2c
Address
220
221
222
223
224
↓
233
234
235
236
237
238
239
23A
23B
23C
↓
24B
24C
24D
24E
24F
250
251
252
253
254
↓
263
264
265
266
267
268
269
26A
26B
26C
↓
27B
27C
27D
27E
27F
Register
T1 Low Samples Counter LSB
T1 Low Samples Counter
T1 Low Samples Counter MSB
T1 Low Duration
↓
T6 Low Samples Counter LSB
T6 Low Samples Counter
T6 Low Samples Counter MSB
T6 Low Duration
T1 High Samples Counter LSB
T1 High Samples Counter
T1 High Samples Counter MSB
T1 High Duration
↓
T6 High Samples Counter LSB
T6 High Samples Counter
T6 High Samples Counter MSB
T6 High Duration
D1 Low Samples Counter LSB
D1 Low Samples Counter
D1 Low Samples Counter MSB
D1 Low Duration
↓
D6 Low Samples Counter LSB
D6 Low Samples Counter
D6 Low Samples Counter MSB
D6 Low Duration
D1 High Samples Counter LSB
D1 High Samples Counter
D1 High Samples Counter MSB
D1 High Duration
↓
D6 High Samples Counter LSB
D6 High Samples Counter
D6 High Samples Counter MSB
D6 High Samples Duration
7 of 29
DS1616
DS1616 TEMPERATURE HISTOGRAM DATA BINS Figure 2d
Address
800
801
802
803
804
↓
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 (LSB)
↓
82°C Data Bin (LSB)
82°C Data Bin (MSB)
84°C Data Bin (LSB)
84°C Data Bin (MSB)
DS1616 ADC DATA HISTOGRAM DATA BINS Figure 2e
Address
880
881
882
883
884
↓
8FB
8FC
8FD
8FE
8FF
Register
Channel 1 Code 00-03h Data Bin (LSB)
Channel 1 Code 00-03h Data Bin (MSB)
Channel 1 Code 04-07h Data Bin (LSB)
Channel 1 Code 04-07h Data Bin (MSB)
↓
Channel 1 Code F8-FBh Data Bin (LSB)
Channel 1 Code F8-FBh Data Bin (MSB)
Channel 1 Code FC-FFh Data Bin (LSB)
Channel 1 Code FC-FFh Data Bin (MSB)
THERMAL SENSOR
The key to temperature monitoring in the DS1616 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 1.8°F increments). The thermal sensor provides an accuracy of ±2°C.
The thermal sensor is enabled by setting the CS0 bit of the Control 2 register to a logic 1. If the CS0 bit
is a logic 0, the thermal sensor will not be activated during a datalogging mission or for an individual
Read Data command. If CS0 = 0, the value in the Current Temperature register will be 11111111b.
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
8 of 29
DS1616
TEMPERATURE DATA BYTE FORMAT Table 1
MSb
T7
T6
T5
T4
T3
T2
T1
LSb
T0
When a datalog mission has been initiated and the thermal sensor is enabled (CS0=1), the DS1616
provides temperature recording at regular intervals. However, the device also allows for immediate
temperature sensing upon a user’s command when the device is not currently on a datalog mission and
the thermal sensor is enabled (CS0=1). This is accomplished by issuing the Read Data command to the
DS1616 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 Data command.
The status of the contents of this register is provided by the Data Ready (DR) bit in the Status 1 register.
If DR is a logic 1, the data is valid. If DR is a logic 0, the data may not be reliable. If CS0 in the Control
2 register is a 0 such that the thermal sensor is disabled, the value in the Current Temperature register will
be 11111111b. The Read Data command will not output this byte of data.
During a datalog mission, the DR 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 DR bit is cleared
immediately after the Read Data command is issued and is set to a logic 1 upon the completion of the
conversion. The Read Data command will only read the values in the current temperature/ADC data that
have been enabled by the CSx[03] bits in the control 2 register.
ANALOG-TO-DIGITAL CONVERTER (ADC)
The DS1616 contains an integrated 8-bit ADC with a 3 to 1 input mux to allow multiple sensors to be
monitored. An on-chip voltage reference is also provided by an integrated band gap circuit (2.04V ±3%).
The ADC input voltage must not be greater than the battery voltage.
An analog-to-digital conversion is the process of assigning a digital value to an analog input voltage.
This code represents the input value as a fraction of the full scale voltage (FSV) range. Thus the FSV
range is then divided by the ADC into 256 codes (8 bits). The FSV range is bounded by an upper limit
equal to the reference voltage and the lower limit which is ground. The 2.04V (typical) bandgap
reference provides a resolution of 8mV between codes.
An input voltage equal to the reference voltage converts to FFh while an input voltage equal to ground
converts to 00h. The relative linearity of the ADC is ±0.5 LSB.
When a datalog mission has been initiated and one or more of the Analog Inputs are enabled (CS[1-3] =
1), the DS1616 provides data conversion and recording at regular intervals. However, the device also
allows for immediate data conversion upon a user’s command when the device is not currently
performing a conversion and one or more of the Analog Inputs are enabled (CS[1-3] = 1). This is
accomplished by issuing the Read Data command to the DS1616 over the serial interface.
The most recently recorded data value is written to the Current Data register that corresponds to the
analog channel(s) that is(are) enabled, regardless of whether that value was recorded from a datalog
mission or from the issuance of the Read Data command. The status of the contents of this register is
provided by the Data Ready (DR) bit in the Status 1 register. If DR is a logic 1, the data is valid. If DR is
a logic 0, the data may not be reliable. If a channel is not enabled, CS[1-3] is a logic 0, the contents of
the corresponding Current Data register will be 00000000b and not outputted when a Read Data
command is issued.
9 of 29
DS1616
During a datalog mission, the DR bit is cleared to a logic 0 when a data conversion has been initiated and
is set to a logic 1 upon the completion of the conversion. Likewise, the DR bit is cleared immediately
after the Read Data command is issued and is set to a logic 1 upon the completion of the conversion.
DATA LOGGING
When the DS1616 datalogging function is enabled, the device is said to be on a “datalog mission” until
the datalogging is stopped.
During a datalog mission, temperature and/or ADC samples are successively written to the Datalog
memory pages. These memory pages are located at addresses 1000h to 17FFh.
The end user can program the DS1616 to record data from all four data channels or just one channel.
Channel selection is determined by the setting the Channel Select bits (CS0, CS1, CS2 and CS3) in the
Control 2 register to the appropriate states. A 1 in the CSx bit will enable the channel and allow the
results to be reported, while a 0 will disable the channel, prevent its data from being recorded, prevent the
data from being reported by the Read Data command, and set the contents of the memory location for the
Current Data register corresponding to that channel to a constant value, all 1s for the thermal sensor or all
0s for the ADC channels.
When 3 or 4 data channels are selected, the first data sample is written to address location 1000h, the
second is written to address location 1001h. The address is incremented with each additional data
sample, with samples alternating between the enabled channels. The second sample is always measured
immediately after the completion of the first measurement with the third and forth samples following the
second. The order of the sampling is the same as the order of the Channel Select registers. CS0 will be
sampled first, if it is enabled, followed by CS1, CS2 and CS3 if they are enabled. Any disabled channels
will be skipped. A total of 2048 registers have been reserved for datalog data, providing a total of 512
samples for each channel.
When three out of the four channels are enabled, a fourth byte of all 0s will be recorded in the Datalog
Memory after the three bytes of data from the enabled channels in order to allow the data to rollover and
remain in the correct positions. Without the extra, unused data byte, the channel’s memory location
would switch between even and odd sections, and there would be two extra bytes at the end of the first
682 samples recorded in the Datalog Memory. This would cause the first rollover to occur in the middle
of a datalog for the three channels. This would make finding a given channels data very difficult after a
few rollovers after a few rollovers.
When two data channels are selected, the first data sample is written to address location 1000h and the
second is then written to address location 1001h. The address is incremented with each additional data
sample, with samples alternating between the enabled channels. The second sample is always measured
immediately after the completion of the first measurement. A total of 2048 registers have been reserved
for datalog data, providing a total of 1024 samples each channel.
If just one data channel is selected, the entire datalog memory is dedicated to that one channel and
therefore a total of 2048 samples can be recorded.
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 1 register is cleared to a logic 0, the
start function of the ST pin is disabled and writing any non-0 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.
10 of 29
DS1616
Under this mode of operation, the DS1616 will begin a datalog mission when a non-0 value has been
written to the Sample Rate register and 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 1 register completes the mission.
Upon initiation of datalog mission by either method, the DS1616 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 1 register is set to a 1.
The time at which the first datalog sample is measured is dependent upon the value in the Start Delay
registers. The two-byte Start Delay register 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 register times one
minute. For example, if the Start Delay register contain a value of 10, then the device will begin
recording data approximately ten minutes after it received either the pushbutton start signal or start
instruction. The Start Delay register 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 DS1616. This is accomplished
by setting the Rollover bit (bit 3 of the Control 1 register) to 1. When the Rollover feature is enabled,
new data is written over previous data, starting with address 1000h. 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 recording data after the datalog memory
has been completely used. In other words, the DS1616 will stop recording data values after 2048 data
samples. This feature is enabled by disabling the Rollover feature. (Bit 3 of the Control 1 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 DS1616 has been designed such that the end user cannot write to the Datalog
Memory. This prevents the falsification of datalog data by writing values to datalog registers.
11 of 29
DS1616
DATA HISTOGRAM
While on a datalog mission, the DS1616 also records a histogram of the temperature and/or ADC
Channel 1 data. The temperature histogram is provided by a series of 63 2-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. See Figure 2d for temperature
histogram address map.
Likewise, the ADC Channel 1Data histogram is provided by a series of 64 2-byte “data bins” that are
located in the ADC Data Histogram memory pages (addresses 0880h to 08FFh). Each data bin represents
four ADC codes (32mV/bin). For example, bin 0 counts the frequency of ADC codes from 00-03h. Bin
1 counts the frequency of ADC codes from 04-07h, and so on. See Figure 2e for ADC Data histogram
address map.
After a temperature and/or ADC conversion is completed, the number of the bin to be updated is
determined by dropping the two least significant bits of the binary data value. For example, bin 0 of the
temperature histogram 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 64th bin exists, but
will always read 0s.
Since each data bin contains 2 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 rollover in the event of an overrun.
ALARM LOGGING
For some applications it may be essential to record exactly when a data sample exceeds a predefined
tolerance band and for how long the violation remained. The Thermal Sensor (CS1) and ADC Channel 1
(CS2) are equipped with the alarm logging feature. The ADC Channels 2 & 3 do not have the logging
feature, but they still have the alarm feature and the ability to trigger an interrupt. If an out of tolerance
condition occurs on channels 2 or 3, the time and duration can be calculated from the Memory if the
memory has not rolled over since the alarm.
A tolerance band is specified by means of the Temperature Alarm registers (addresses 000Bh and 000Ch)
and the ADC Data Alarm [1-3] registers (addresses 0024h to 0029h). See figure 2b for more details on
the memory mapping. One can set a high and a low threshold. As long as the data samples stay within
the tolerance bands (i.e., are higher than the low threshold and lower than the high threshold), the DS1616
will not record any alarm.
If the temperature violates the temperature band, the DS1616 will generate an alarm and set either the
Temperature-High Flag (THF) or the Temperature-Low Flag (TLF) in the Status 1 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.
12 of 29
DS1616
Likewise, if ADC Channel 1 Data measurement violates the ADC Data band, either the ADC Data-High
1 or Data-Low 1 Flag (AHF1 or ALF1) will be set, a time stamp will be generated, and the duration of the
violation will be recorded. The INT pin will be asserted by a high-alarm if the ADC Data-High Interrupt
Enable (AHIE) is set and will be asserted by a low-alarm if the ADC Data-Low Interrupt Enable (ALIE)
is set.
The device stores a time stamp of a violating condition by copying contents of the 3-byte Current
Samples Counter when the alarm occurred. The least significant byte is stored at the lower address. One
address higher than a time stamp, the DS1616 maintains a 1-byte duration counter that stores the number
of times the data was found to be beyond the threshold. If this counter has reached its limit after 255
consecutive data readings and the data 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 data 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 data again cross this threshold, new time stamp will
be recorded and its associated counter will increment with each data reading outside the tolerance band.
This algorithm is implemented for the low- as well as for the high- thresholds.
Time stamps and durations for low-temperature violations are stored in the Registers 0220h to 0237h
(24 bytes) and registers 0238h to 024Fh (24 bytes) are reserved for high-temperature violations.
Registers 0250h to 0267h are reserved for low-ADC Channel 1 Data violations and registers 0268h to
027Fh are reserved for high-ADC Channel 1 Data violations.
This allocation allows the recording of 24 individual alarm events and periods (six each for hightemperature, low-temperature, high-ADC Channel 1 Data, and low-ADC Channel 1 Data violations).
The date and time of each of these periods can be determined from the Start Time Stamp and the time
sample rate. Figure 2c illustrates the Alarm Time Stamps and Durations registers.
INSPEC AND OUTSPEC PINS
Two special output pins, INSPEC and OUTSPEC , are intended to output the status of the DS1616. 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
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
13 of 29
DS1616
Following a user request for the status of recorded data, the INSPEC pin will generate four low pulses if
the recorded data is within the user-defined limits (as set in the Threshold registers). If the recorded
temperature data contains any readings that fall outside of these high- and low-temperature thresholds or
if the recorded ADC data from any of the three ADC channels that are enabled contains any readings that
fall outside of these high- and low-ADC Channel [1-3] Data 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 sample
has been recorded, the INSPEC and OUTSPEC pins will generate a total of four low pulses alternately,
starting with the OUTSPEC pin.
The DS1616 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 0. These bits will always read 0 regardless of how they are written. The contents
of the time, calendar, and alarm registers are in the Binary-Coded Decimal (BCD) format and Year 2000
compliant.
The Real Time Clock (RTC) can be read at any time and the values used in other parts of the system
outside the data logger by issuing a Read Page command for memory page 0. See figure 2C for more
details on the RTC memory map.
The DS1616 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 1 being PM. In the 24-hour mode, bit 5 is the second 10-hour bit (20-23 hours).
The DS1616 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 timekeeping 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 registers) will stop a datalog mission and clear the Mission-inProgress (MIP) bit.
14 of 29
DS1616
TIME OF DAY ALARM BITS Table 2
ALARM REGISTER MASK BITS (bit 7)
SECONDS
MINUTES
HOURS
DAYS
MS
MM
MH
MD
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 DS1616.
CONTROL 1 REGISTER
MSb
EOSC
CLR
0
SE
RO
TLIE
THIE
LSb
AIE
EOSC - 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 DS1616 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.
CLR - Clear Enable - This bit enables the Clear Memory command. When this bit is set to a 1 and the
Clear Memory command is subsequently issued, the datalog, histogram, Temperature Alarm, Current
Samples, Start Time Stamp, Start Delay, Sample Rate register, and ADC Data Alarm are all cleared to 0.
Following the issuing of the Clear Memory command, the CLR bit is also cleared to 0. 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 0 and the contents of the datalog, histogram, temperature alarms, Current Samples registers,
Start Delay, Sample Rate, and ADC Data alarm register are unchanged.
SE - 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-0 value AND the ST pin has been held low for at least
0.5 seconds. When SE is a logic 0, writing any non-0 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 datalog function of the DS1616 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 datalog memory will “roll over” after all 2048 registers in the datalog memory have been used.
In other words, after the 2048th register is written, the following sample will be written to register 0000,
overwriting the original data. Likewise, subsequent samples will increment through the datalog registers,
overwriting their data.
15 of 29
DS1616
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 and ADC Data
alarms will also continue to function.
TLIE - Temperature Low Interrupt Enable - When set to a logic 1, this bit permits the Temperature Low
Flag (TLF) in the Status 1 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 1 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 1 register to assert INT . When the AIE bit is set to logic 0, the ALMF bit does not initiate the INT
signal.
STATUS 1 REGISTER
MSb
DR MEM MIP
CLR
SIP
LOBAT
TLF
THF
LSb
ALMF
DR - Data Ready - This bit indicates the status of the data value in the Current Temperature and/or ADC
Data [1-3] registers after the Read Data command has been executed. When this bit is a logic 1, the
DS1616 has completed the measurement of all of the selected channels (CSx = 1) and has written valid
value(s) to the Current Temperature and/or Current ADC Data [1-3] registers. When this bit is a logic 0,
the measurements have not been completed. This bit is cleared to 0 when the Read Data command is
sent.
MEM CLR - Memory Cleared - This bit indicates that the datalog memory, histogram memory,
Temperature Alarm, ADC Channel 1 Data Alarm, Current Samples, Start Time Stamp, Start Delay, and
Sample Rate registers are all cleared to 0. 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 DS1616. If MIP is a logic 1, the
device is currently on a “mission” in which it is operating in the data logging mode. The MIP bit is
changed to a logic 1 immediately following 1) the writing of a non-0 value to the Sample Rate register
when the SE bit is a 0 or 2) a falling edge on the ST pin if the Sample Rate register contains a non-0
value AND the SE bit is a 1.
If MIP is a logic 0, the DS1616 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 DS1616 is cleared
via the clear bit and clear instruction or when any of the RTC or Control registers (with the exception of
the Status registers) 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.
16 of 29
DS1616
SIP - Sample in Progress - This bit indicates that the DS1616 is currently in the process of acquiring a
temperature and/or ADC sample. When the SIP bit is 0, a data 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 data 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 1 for this bit indicates an exhausted lithium energy source.
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. The Clear Memory
command has no effect on this bit.
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. The Clear Memory
command has no effect on this bit.
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. The Clear Memory command has no effect on this bit.
SAMPLE RATE REGISTER
MSb
SR7
SR6
SR5
SR4
SR3
SR2
SR1
LSb
SR0
The data sample rate for the DS1616 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 1 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 DS1616 begins to take data
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.
17 of 29
DS1616
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
TL2
TL1
LSb
TL0
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 interrupt 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 if the CS0 bit in the Control 2
Register is set to 1. Otherwise, the value will be all 1s and will not be reported by the Read Data
command. It contains either the most recently measured sample from automatic datalogging or it
contains data that was acquired in response to a user’s instruction for an immediate temperature
measurement. When the DS1615 is not on a mission, an immediate measurement is acquired by issuing
the Read Data command with CS0 set to 1.
After issuing the Read Data command, the value in this register is valid only if the Data Ready (DR) bit
in the Status 1 register is a logic 1.
CURRENT SAMPLES COUNTER
This 3-byte register set provides the number of samples that have been logged during the current data
logging operation (also known as a “mission”). The contents 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.
CURRENT ADC DATA REGISTERS [1-3]
MSb
CA7
CA6
CA5
CA4
CA3
CA2
CA1
18 of 29
LSb
CA0
DS1616
These registers provide the most recently acquired ADC inputs. For the ADC channels that are enabled
with the CS[1-3] bits in the Control 2 register set to 1. Otherwise, the value in the corresponding Current
ADC Data [1-3] register will be all 0s and not reported by the Read Data command. It contains either the
most recently measured sample from automatic datalogging or it contains data that was acquired in
response to a user’s instruction for an immediate ADC conversion. When the DS1616 is not on a
mission, an immediate measurement is acquired by issuing the Read Data command with CSx set to a 1.
After issuing the Read Data command, the value in this register is valid only if the Data Ready (DR) bit
in the Status 2 register is a logic 1.
ADC DATA-HIGH THRESHOLD REGISTERS [1-3]
MSb
AH7
AH6
AH5
AH4
AH3
AH2
LSb
AH0
AH1
These registers determines the high threshold for interrupt generation from the three mux’ed ADC inputs.
If the data is greater than or equal to the value in the corresponding register, an interrupt will be activated
if the Data High Interrupt Enable (AHIE) bit is set to a logic 1.
ADC DATA-LOW THRESHOLD REGISTERS [1-3]
MSb
AL7
AL6
AL5
AL4
AL3
AL2
AL1
LSb
AL0
These registers determines the low threshold for interrupt generation from the three mux’ed ADC inputs.
If the data is less than or equal to the value in the corresponding register, an interrupt will be activated if
the Data Low Interrupt Enable (ALIE) bit is set to a logic 1.
CONTROL 2 REGISTER
MSb
0
CS0
CS1
CS2
CS3
ALIE
AHIE
LSb
0
CSx - Channel Select [0-3] - The value of these bits determines which channels are enabled. A 1 in the
CSx bit enables the channel for data collection, recording and reporting. A 0 in the CSx bit disables the
channel so data will not be taken, recorded, or reported. This causes a common problem in retrieving
data, if the CSx bit is set to 0, the datalog and histogram data will not be downloaded from the DS1616.
ALIE - ADC Data Low Interrupt Enable - When set to a logic 1, this bit permits the ADC Data Low Flag
[1-3] (ALFx[1-3]) in the Status 2 register to assert INT . When the ALIE bit is set to logic 0, the ALF bit
does not initiate the INT signal.
AHIE - ADC Data High Interrupt Enable - When set to a logic 1, this bit permits the ADC Data High
Flag [1-3] (AHFx[1-3]) in the Status 2 register to assert INT . When the AHIE bit is set to logic 0, the
AHF bit does not initiate the INT signal.
19 of 29
DS1616
STATUS 2 REGISTER
MSb
0
ALF1
AHF1
ALF2
AHF2
ALF3
AHF3
LSb
0
ALFx - ADC Data Low Flag [1-3] - A logic 1 in the ADC Data Low Flag [1-3] bits indicate that the
ADC Channel [1-3] Data from the corresponding channel is/has been less than or equal to the value in the
corresponding ADC Data Low Threshold [1-3] register. If ALIE is also a logic 1, the INT pin will go
low. ALFx is cleared by writing this bit to a logic 0. The Clear Memory command has no affect on this
bit.
AHFx - ADC Data High Flag [1-3] - A logic 1 in the ADC Data High Flag [1-3] bits indicate that the
corresponding ADC Channel [1-3] Data is/has been greater than or equal to the value in the
corresponding ADC Data High Threshold [1-3] register. If AHIE is also a logic 1, the INT pin will go
low. AHFx is cleared by writing this bit to a logic 0. The Clear Memory command has no effect on this
bit.
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 to identify the device type (19h). 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 8 bytes of the serial number are read-only
registers.
The DS1616 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 DS1616 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 DS1616 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
DS1616. 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.
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 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 1.
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 DS1616 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
20 of 29
DS1616
of samples since the Sample Rate register was written to a non-0 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 DS1616 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 DS1616 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 registers) will stop datalogging and clear the Mission-in-Progress (MIP) bit.
SERIAL INTERFACE
The DS1616 provides two different serial communications options; asynchronous and synchronous. Both
communications options transmit the data LSb First/MSb last.
The mode of communication is selected via the COMSEL pin. When this pin is pulled high, the DS1616
operates in synchronous mode. In this mode, communication with the DS1616 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 DS1616 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 DS1616 data format
implements 10-bit words including 1 start bit, 8 data bits, and 1 stop bit. Data is received by the DS1616
on the RX pin and transmitted by the TX pin.
COMMUNICATION WORD FORMAT Figure 3
START
BIT
DATA
BITS
D0
D1
D2
D3
D4
STOP
BIT
D5
D6
D7
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 DS1616, 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.
21 of 29
DS1616
General Communications Format
Communication with the DS1616 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 DS1616 can be seen in Table 3. Reads and writes to the
DS1616 differ in that writes are performed one byte at a time while reads are performed in page long (up
to 32-byte) bursts. Writing 1 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 written 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
DS1616 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 DS1616 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
DS1616 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 DS1616 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 DS1616. 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 16-bit CRC is transmitted by
the DS1616 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. The CRC is transmitted starting with bit 15 and ending with
bit 0.
CRC HARDWARE DESCRIPTION AND POLYNOMIAL Figure 4
Polynomial = X 16 + X15 + X2 + 1
BIT0
X0
BIT1
BIT8
X8
XOR
X1
BIT9
X9
BIT2
X2
BIT10
X10
BIT11
X11
BIT3
X3
BIT12
X12
BIT4
X4
BIT13
X13
BIT5
X5
BIT14
X14
BIT6
X6
BIT7
X7
XOR
BIT15
X15
XOR
X16
CRC
OUTPUT
22 of 29
INPUT
DATA
DS1616
Communication Reset (Asynchronous Mode)
When transmitting the command, parameters, or data to the DS1616, 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 DS1616 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 DS1616, 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
1 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
DS1616.
DS1616 COMMANDS
All communication with the DS1616 is accomplished by writing a command to the device followed by
parameter byte/s if required. Table 3 illustrates the commands supported by the DS1616.
The DS1616 commands are summarized below. Note that if an invalid command is issued, no action is
taken by the device.
DS1616 COMMANDS Table 3
COMMAND
22h
33h
44h
55h
FUNCTION
Write Byte
Read Page
Specification Test
Read Data
A5h
Clear Memory
1. Write Byte (22h)
Host Transmit:
D7 D6 D5 D4
0
0
1
0
0
a6
a5
a4
d7
d6
d5
d4
D3
0
a3
d3
D2
0
a2
d2
DESCRIPTION
Write 1 byte to RTC, Control registers, and User NV RAM
Read Page
Poll status of temperature and/or ADC Data extremes
Instructs DS1616 to immediately measure the temperature (if
CS0 = 1) and/or perform an analog to digital conversion on the
ADC Channels Selected (if CS[1-3] = 1) and store the result in
the Current Temperature and/or Current ADC Channel [1-3]
register(s) when MIP = 0.
This command clears the datalog, histogram, Temperature
Alarm, ADC Channel 1 Alarm, Current Samples, Start Time
Stamp, Start Delay, and Sample Rate registers when the Clear
Enable bit (CLR) in the Control 1 register is set to a 1.
D1
1
a1
d1
D0
0
a0
d0
DS1616 Response: None
Note that good programming practice insists that the Clear Memory command should be issued whenever
the DS1616 is programmed to begin a new datalogging mission.
23 of 29
DS1616
2. Read Page (33h)
Host Transmit:
D7
D6
D5
D4
0
0
1
1
a15 a14 a13 a12
a7
a6
a5
a4
D3
0
a11
a3
D2
0
a10
a2
D1
1
a9
a1
D0
1
a8
a0
DS1616 Response (Host Receives):
D7
D6
D5
D4
D3
D2
D1 D0
register a[15..0]
↓
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 DS1616 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 DS1616 will wraparound to the first register in the page and sequentially transmit data as
long as the clocks continue.
3. Specification Test (44h)
Host Transmit:
D7 D6 D5 D4 D3
0
1
0
0
0
D2
1
D1
0
D0
0
DS1616 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 DS1616 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 Highand Low-Temperature Threshold or the High- and Low-ADC Data boundaries. These pins, when used to
drive LEDs, can be used to provide a quick visual confirmation as to whether the samples remained
within the user-defined limits.
Note that the Specification test command is ignored if the ST button is pulled to ground when the
command is issued.
4. Read Data (55h)
Host Transmit:
D7 D6 D5 D4
0
1
0
1
D3
0
D2
1
D1
0
D0
1
DS1616 Response (Host Receives): When the device is not currently data logging (i.e., MIP = 0), the
temperature and/or the analog input(s) is/are immediately converted and the value(s) is/are written to the
Current Temperature and/or Current ADC Channel [1-3] Data registers. The channels that are enabled is
determined by the CSx bits of the Control 2 Register set to 1.
24 of 29
DS1616
The data value(s) obtained from this command is/are not stored in the datalog or histogram memory.
After this command has been executed, the user must read the Data Ready (DR) bit in the Status 1
register to determine if the measurements have been completed. If the DR bit is a logic 1, the
measurement has been completed and the value(s) in the Current Temperature and/or Current ADC
Channel [1-3] registers is/are valid. If the DR bit is a logic 0, the measurements have not been completed.
This command functions only when MIP = 0 (i.e., the device is not currently datalogging). If MIP =1, the
DS1616 takes no action in response to the command.
5. Clear Memory (A5h)
Host Transmit:
D7 D6 D5 D4 D3
1
0
1
0
0
D2
1
D1
0
D0
1
DS1616 Response: The contents of the datalog, histogram, Temperature Alarm, ADC Channel 1 Alarm,
Current Samples, Start Time Stamp, Start Delay, Sample Rate, and ADC Data Alarm registers are cleared
if the Clear Memory command has been enabled by setting the CLR bit in the Control 1 register to a one.
After clearing the memory, the MEM CLR bit in the Status 1 register is set. The Clear Memory
command functions only if the oscillator is active. The DS1616 is inaccessible for 500 µs after the Clear
Memory command has been issued.
25 of 29
DS1616
ABSOLUTE MAXIMUM RATINGS*
Voltage on VDD, Relative to Ground
Voltage on any other pin, Relative to Ground
Operating Temperature
Storage Temperature
Soldering Temperature
-0.3V to +7V
-0.3V to +7V
-55°C to +125°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.
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% of VCC
DC ELECTRICAL CHARACTERISTICS
PARAMETER
Input Leakage
Input Leakage COMSEL Pin
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
ADC Conversion Current
Oscillator Current
Battery Standby Current
(Oscillator Off)
DS1616 Thermometer Error
ADC Accuracy
Offset Error
Integral Non Linearity
Differential Non Linearity
Monotonicity
Reference Voltage
UNITS
V
V
V
V
(-40°C TO +85°C)
SYMBOL
ILI
ILIC
VOH
VOL
IOH
MIN
-1
-2.2
UNITS
µA
µA
V
V
mA
IOL
4
mA
IOL
10
mA
TYP
55
MAX
+1
100
2.4
0.4
ICCA
ITC
IADCC
IOSC
IBAT
10
600
500
500
250
mA
µA
µA
nA
nA
TERR
±2.0
°C
Offset
INL
DNL
1
0.25
0.25
LSB
LSB
LSB
Bits
V
VREF
NOTES
1
1
1
1
2
300
8
1.98
26 of 29
2.04
2.10
NOTES
6
9
8
DS1616
CAPACITANCE
PARAMETER
Input Capacitance
Crystal Capacitance
(TA = 25°C)
SYMBOL
CI
CX
MIN
SYMBOL
tSS
MAX
UNITS
pF
pF
NOTES
(-40°C to +85°C; VCC = 5.0V ±10%)
AC ELECTRICAL CHARACTERISTICS
PARAMETER
Delay from ST to INSPEC or
OUTSPEC Active
Delay from Specification Test
Command to INSPEC or OUTSPEC
Active
Temperature and All Three ADC
Channels Data Conversion Time
(CSx = 1)
One ADC Data Channel Only
Conversion Time (in response to
Read Data command) CS[1-3]=1
Temperature Only Conversion
Time (in response to Read Data
command) (CS0 = 1)
INSPEC and OUTSPEC Active
Low Pulse Width
INSPEC
and OUTSPEC High
Duration
TYP
10
6
MIN
TYP
tCS
MAX
560
UNITS
ms
560
ms
tCONV
153
230
ms
tDCONV
1
10
ms
tTCONV
150
200
ms
tSL
62.5
ms
tSH
437.5
ms
NOTES
ASYNCHRONOUS SERIAL INTERFACE TIMING
(-40°C to +85°C; Vcc = 5.0V ±10%)
PARAMETER
Data Rate
Turnaround Time
SYMBOL
fBIT
tTURN
MIN
9,408
27 of 29
TYP
9,600
2/ fBIT
MAX
9,792
UNITS
Bits/sec
s
NOTES
2
DS1616
SYNCHRONOUS (3-WIRE) SERIAL INTERFACE TIMING
(-40°C to +85°C; Vcc = 5.0V ±10%)
PARAMETER
Data to SCLK Setup
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
SYMBOL
tDC
tDC
tCDH
tDD
tCL
tCH
tCLK
t R , tF
tCC
tCCH
tCWH
tCDZ
tCCZ
MIN
50
50
70
TYP
MAX
200
250
250
DC
2.0
500
1
60
1
70
70
UNITS
ns
ns
ns
ns
ns
ns
MHz
ns
µs
ns
µs
ns
ns
NOTES
3
3
3
3,4,5
3
3
3
3
3
3
3, 7
3, 7
NOTES:
1.
2.
3.
4.
5.
6.
7.
8.
All voltages are referenced to ground,
The data rate fBIT is equal to 1/tBIT
Measured with VIH = 3.0V or VIL = 0V.
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.
The internal reference of 2.04V is set so that the ADC will work down to the minimum battery
voltage of 2.7V. The ADC input voltage must not be greater than the battery voltage.
9. The Integral Non-linearity does not take into consideration the tolerance of the Voltage Reference.
ASYNCHRONOUS SERIAL INTERFACE TIMING Figure 5
RX
START
tBIT
DATA
STOP
tTURN
START
TX
tBIT
28 of 29
DATA
STOP
DS1616
SYNCHRONOUS (3-WIRE) SERIAL INTERFACE READ TIMING Figure 6
RST#
tCC
SCLK
tCCZ
tCDH
tDC
tCDZ
tCDD
1
0
I/O
7
1
0
READ
COMMAND
7
0
ADDRESS
7
DATA
SYNCHRONOUS (3-WIRE) SERIAL INTERFACE WRITE TIMING Figure 7
tCWH
RST#
tR
tCL
tCC
SCLK
tCH
tCDH
tDC
I/O
0
tCCH
tF
1
7
1
0
WRITE
COMMAND
7
DATA
ADDRESS
SPECIFICATION POLLING FROM ST INPUT Figure 8
ST
tSS
INSPEC
OUTSPEC
tSL
tSH
NOTE:
INSPEC / OUTSPEC
generate a total of four low pulses.
SPECIFICATION POLLING FROM COMMAND Figure 9
RX
START
DATA = 55H
STOP
tCS
INSPEC
OUTSPEC
tSL
NOTE:
INSPEC / OUTSPEC
generate a total of four low pulses.
29 of 29
7
0
tSH