ETC DS1629S

DS1629
2-Wire Digital Thermometer
and Real Time Clock
www.dalsemi.com
PIN ASSIGNMENT
FEATURES
§ Measures temperatures from -55°C to
+125°C; Fahrenheit equivalent is -67°F to
257°F
§ Real time clock counts seconds, minutes,
hours, date of the month, month, day of the
week, and year with leap year compensation
through the year 2100
§ Thermometer accuracy is ±2.0°C (typ)
§ Thermometer resolution is 9 bits (expandable)
§ Thermostatic and time alarm settings are user
definable. Dedicated open-drain Alarm output
§ 32 bytes SRAM for general data storage
§ Data is read from/written to via a 2-wire serial
interface. (open drain I/O lines)
§ Wide power supply range (2.2V - 5.5V)
§ Applications include personal
computers/PDAs, cellular telephones, office
equipment, dataloggers, or any thermally
sensitive system
§ 8-pin 150mil SOIC package
SDA
1
8
VDD
SCL
2
7
OSC
ALRM
3
X1
GND
4
6
5
X2
DS1629S 8-Pin SOIC
(150-mil)
PIN DESCRIPTION
SDA
SCL
GND
ALRM
X1
X2
OSC
VDD
- 2-Wire Serial Data Input/Output
- 2-Wire Serial Clock
- Ground
- Thermostat & Clock Alarm
Output
- 32.768 kHz Crystal Input
- 32.768 kHz Crystal Feedback
Output
- Buffered Oscillator Output
- Power Supply Voltage (+2.2V to
+5V)
DESCRIPTION
The DS1629 2-Wire Digital Thermometer and Real Time Clock integrates the critical functions of a real
time clock and a temperature monitor in a small outline 8-pin SOIC package. Communication to the
DS1629 is accomplished via a 2-wire interface. The wide power supply range and minimal power
requirement of the DS1629 allow for accurate time/temperature measurements in battery-powered
applications.
The digital thermometer provides 9-bit temperature readings which indicate the temperature of the device.
No additional components are required; the device is truly a “temperature-to-digital” converter.
The clock/calendar provides seconds, minutes, hours, day, date of the month, day of the week, month, and
year. The end of the month date is automatically adjusted for months with less than 31 days, including
corrections for leap years. It operates in either a 12- or 24-hour format with AM/PM indicator in 12-hour
mode.The crystal oscillator frequency is internally divided, as specified by device configuration. An
open-drain output is provided that can be used as the oscillator input for a microcontroller.
1 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
The open-drain alarm output of the DS1629 will become active when either the measured temperature
exceeds the programmed over-temperature limit (TH) or current time reaches the programmed alarm
setting. The user can configure which event (time only, temperature only, either, or neither) will generate
an alarm condition. For storage of general system data or time/temperature datalogging, the DS1629
features 32 bytes of SRAM. Applications for the DS1629 include personal computers/ PDAs, cellular
telephones, office equipment, thermal dataloggers, or any microprocessor-based, thermally-sensitive
system.
DETAILED PIN DESCRIPTION Table 1
PIN
1
2
3
SYMBOL
SDA
SCL
ALRM
4
5
6
7
8
GND
X2
X1
OSC
VDD
DESCRIPTION
Data input/output pin for 2-wire serial communication port.
Clock input/output pin for 2-wire serial communication port.
Alarm output Open drain time/temperature alarm output with configurable active
state
Ground pin.
32.768 kHz Feedback Output .
32.768 kHz Crystal input.
Oscillator Output. Open-drain output used for microcontroller clock input.
Supply voltage 2.2V - 5.5V input power pin.
OVERVIEW
A block diagram of the DS1629 is shown in Figure 1.
The DS1629 consists of six major components:
1.
Direct-to-digital temperature sensor
2.
Real time clock
3.
2-wire interface
4.
Data registers
5.
Thermal & clock alarm comparators
6.
Oscillator divider & buffer
The factory-calibrated temperature sensor requires no external components. The very first time the
DS1629 is powered up it begins temperature conversions, and performs conversions continuously. The
host can periodically read the value in the temperature register, which contains the last completed
conversion. As conversions are performed in the background, reading the temperature register does not
affect the conversion in progress.
The host can modify DS1629 configuration such that it does not power up in the auto-convert or
continuous convert modes. This could be beneficial in power-sensitive applications.
The real time clock/calendar maintains a BCD count of seconds, minutes, hours, day of the week, day of
the month, month, and year. It does so with an internal oscillator/ divider and a required 32.768 kHz
crystal. The end of the month date is automatically updated for months with less than 31 days, including
compensation for leap years through the year 2100. The clock format is configurable as a 12- (power-up
default) or 24-hour format, with an AM/PM indicator in the 12-hour mode. The RTC can be shut down
by clearing a bit in the clock register.
2 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
The crystal frequency is internally divided by a factor that the user defines. The divided output is buffered
and can be used to clock a microcontroller.
The DS1629 features an open-drain alarm output. It can be configured to activate on a thermal event, time
event, either thermal or time, or neither thermal nor time (disabled, power-up state). The thermal alarm
becomes active when measured temperature is greater than or equal to the value stored in the TH
thermostat register. It will remain active until temperature is equal to or less than the value stored in TL,
allowing for programmable hysteresis. The clock alarm will activate at the specific minute of the week
that is programmed in the clock alarm register. The time alarm is cleared by reading from or writing to
either the clock register or the clock alarm register.
The DS1629 configuration register defines several key items of device functionality. It sets the
conversion mode of the digital thermometer and what event, if any, will constitute an alarm condition. It
also sets the active state of the alarm output. Finally, it enables/disables and sets the division factor for the
oscillator output.
The DS1629 also features 32 bytes of SRAM for storage of general information. This memory space has
no bearing on thermometer or chronograph operation.
Possible uses for this memory are
time/temperature histogram storage, thermal datalogging, etc.
Digital data is written to/read from the DS1629 via a 2-wire interface, and all communication is MSb
first. Individual registers are accessed by unique 8-bit command protocols.
The DS1629 features a wide power supply range (2.2V ≤ VDD ≤ 5.5V) for clock functionality, SRAM
data retention, and 2-wire communication. EEPROM writes and temperature conversions should only be
performed at 2.7V ≤VDD ≤5.5V for reliable results.
3 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
DS1629 FUNCTIONAL BLOCK DIAGRAM Figure 1
OPERATION-Measuring Temperature
The DS1629 measures temperature through the use of an on-chip temperature measurement technique
with an operating range from -55°C to +125°C. The device can be configured to perform a single
conversion, store the result, and return to a standby mode or it can be programmed to convert
continuously. Regardless of the mode used, the last completed digital temperature conversion is retrieved
from the temperature register using the Read Temperature (AAh) protocol, as described in detail in the
“Command Set” section. Details on how to change the settings after power-up are contained in the
“OPERATION-Configuration” section.
The DS1629 measures temperature by counting the number of clock cycles that an oscillator with a low
temperature coefficient goes through during a gate period determined by a high temperature coefficient
oscillator. The counter is preset with a base count that corresponds to -55°C. If the counter reaches 0
before the gate period is over, the temperature register, which is also preset to the -55°C value, is
incremented, indicating that the temperature is higher than -55°C.
4 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
At the same time, the counter is then preset with a value determined by the slope accumulator circuitry.
This circuitry is needed to compensate for the parabolic behavior of the oscillators over temperature. The
counter is then clocked again until it reaches 0. If the gate period is still not finished, then this process
repeats.
The slope accumulator is used to compensate for the nonlinear behavior of the oscillators over
temperature, yielding a high resolution temperature measurement. This is done by changing the number
of counts necessary for the counter to go through for each incremental degree in temperature. To obtain
the desired resolution, therefore, both the value of the counter and the number of counts per degree C (the
value of the slope accumulator) at a given temperature must be known.
Internally, this calculation is done inside the DS1629 to provide 0.5°C resolution. Table 2 describes the
exact relationship of output data to measured temperature. For Fahrenheit usage, a lookup table or
conversion factor must be used.
Note that temperature is represented in the DS1629 in terms of a 0.5°C LSB, yielding the 9-bit format
illustrated in Table 2. Higher resolutions may be obtained by implementing the algorithm in Application
Note 105 and performing the following calculation. The 8-bit COUNT_REMAIN value can be obtained
via the Read Counter (A8h) command and the COUNT_PER_C value (also 8-bit) is read via the Read
Slope command (A9h).
T = TEMP_READ -0.25 +
(COUNT_PER _C_COUNT_REMAIN)
COUNT_PER_ C
Temperature/Data Relationships Table 2
S
MSb
2-1
26
25
24
0
0
0
TEMPERATURE
+125°C
+25°C
0.5°C
0°C
-0.5°C
-25°C
-55°C
23
(unit = °C)
0
DIGITAL OUTPUT
(Binary)
01111101 00000000
00011001 00000000
00000000 10000000
00000000 00000000
11111111 10000000
11100111 00000000
11001001 00000000
5 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
22
21
0
0
20
LSb
0
MSB
LSB
DIGITAL OUTPUT
(Hex)
7D00h
1900
0080
0000
FF80
E700h
C900h
102299
DS1629
OPERATION-Real Time Clock/Calendar
DS1629 real-time clock/calendar data is accessed with the 2-wire command protocol C0h. If the R/ W bit
in the 2-wire control byte is set to 0, the bus master will set the clock (write to the clock register). The bus
master sets the R/ W bit to 1 to read the current time (read from the clock register). Refer to the “2-Wire
Serial Bus” section for details on this protocol.
The format of the clock register is shown below in Figure 2. Data format for the clock register is binarycoded decimal (BCD). Most of the clock register is self-explanatory, but a few of the bits require
elaboration.
CH = Clock halt bit. This bit is set to 0 to enable the oscillator and set to 1 to disable it. If the bit is
changed during a write to the clock register, the oscillator will not be started (or stopped) until the bus
master issues a STOP pulse. The DS1629 power-up default has the oscillator enabled (CH=0) so that
OSC can be used for clocking a microcontroller at power-up.
12/24 = Clock mode bit. This bit is set high when the clock is in the 12-hour mode and set to 0 in the 24hour mode. Bit 5 of byte 02h of the clock register contains the MSb of the hours (1 for hours 20-23) if the
clock is in the 24-hour mode. If the clock mode is set to the 12-hour mode, this is the AM/PM bit. In the
12-hour mode, a 0 in this location denotes AM and a 1 denotes PM. When setting the clock, this bit must
be written to according to the clock mode used.
Bits in the clock register filled with 0 are a "don't care" on a write, but will always read out as 0.
DS1629 CLOCK REGISTER FORMAT Figure 2
6 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
OPERATION-Alarms
The DS1629 features an open-drain alarm output with a user-definable active state (factory default is
active low). By programming the configuration register, the user also defines the event, if any, would
generate an alarm condition. The four possibilities are:
• Temperature alarm only
• Time alarm only
• Either temperature or time alarm
• Alarm disabled (power–up default)
Refer to the “OPERATION-Configuration” section for programming protocol.
If the user chooses the alarm mode under which a thermal or time event generates an alarm condition, it is
possible that either or both are generating the alarm. There are status bits in the configuration register
(TAF, CAF) that define the current state of each alarm. In this way, the master can determine which event
generated the alarm. If both events (thermal and time) are in an alarm state, the ALRM output will remain
active until both are cleared. ALRM is the logical OR of the TAF and CAF flags if the device is
configured for either to trigger the ALRM output. Figure 3 illustrates a possible scenario with this alarm
mode. Refer to the “Thermometer Alarm” and “Clock Alarm” sections on how respective alarms are
cleared.
DS1629 ALARM TRANSFER FUNCTION Figure 3
7 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
Thermometer Alarm
The thermostat comparator updates as soon as a temperature conversion is complete. When the DS1629’s
temperature meets or exceeds the value stored in the high temperature trip register (TH), the TAF flag
becomes active (high), and will stay active until the temperature falls below the temperature stored in the
low temperature trigger register (TL).
The respective register can be accessed over the 2-wire bus via the Access TH (A1h) or Access TL (A2h)
commands. Reading from or writing to the respective register is controlled by the state of the R/ W bit in
the 2-wire control byte (See “2-wire Serial Data Bus” section).
The format of the TH and TL registers is identical to that of the Thermometer register; that is, 9-bit 2’s
complement representation of the temperature in °C. Both TH and TL are nonvolatile EEPROM registers
guaranteed to 2K write cycles.
Thermostat Setpoint (TH/TL) Format Table 3
S
MSb
2-1
26
25
24
0
0
0
23
(unit = °C)
0
22
21
0
0
20
LSb
0
MSB
LSB
Clock Alarm
The clock alarm flag (CAF) becomes active within one second after the second, minute, hour, and day (of
the week) of the clock register match the respective bytes in the clock alarm register. CAF will remain
active until the bus master writes to or reads from either the clock register via the C0h command or the
clock alarm register via the C7h command.
The format of the clock alarm register is shown in Figure 4. The power-up default of the DS1629 has the
clock alarm set to 12:00AM on Sunday. The register can be accessed over the 2-wire bus via the Access
Clock Alarm (C7h) command. Reading from or writing to the register is controlled by the state of the
R/ W bit in the 2-wire control byte (See “2-wire Serial Data Bus” section).
The master must take precaution in programming bit 5 of byte 02h to ensure that the alarm setting
matches the current clock mode. Bits designated with a 0 are a "don't care" on writes, but will always read
out as a 0.
OPERATION-USER SRAM
The DS1629 has memory reserved for any purpose the user intends. The page is organized as 32 bytewide
locations. The SRAM space is formatted as shown in Table 4. It is accessed via the 2-wire protocol 17h.
If the R/ W bit of the control byte is set to 1, the SRAM will be read and a 0 in this location allows the
master to write to the array. Reads or writes can be performed in the single byte or page mode. As such,
the master must write the byte address of the first data location to be accessed.
If the bus master is writing to/reading from the SRAM array in the page mode (multiple byte mode), the
address pointer will automatically wrap from address 1Fh to 00h following the ACK after byte 1Fh.
The SRAM array does not have a defined power-up default state. Refer to the “Command Set” section for
details of the Access Memory protocol.
8 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
DS1629 SRAM FORMAT Table 4
BYTE
00h
01h
02h
•
•
•
1Eh
1Fh
CONTENTS
SRAM BYTE 0
SRAM BYTE 1
SRAM BYTE 2
•
•
•
SRAM BYTE 30
SRAM BYTE 31
DS1629 CLOCK ALARM REGISTER FORMAT Figure 4
OPERATION-Configuration/Status Register
The configuration/status register is accessed via the Access Config (ACh) function command. Writing to
or reading from the register is determined by the R/ W bit of the 2-wire control byte (See “2-Wire Serial
Data Bus” section). Data is read from or written to the configuration register MSb first. The format of the
register is illustrated in Figure 5. The effect each bit has on DS1629 functionality is described along with
the power-up state and volatility. The user has read/write access to the MSB and read-only access to the
LSB of the register.
Configuration/Status Register Figure 5
OS1
MSb
CAF
OS0
A1
A0
0
CNV
POL
TAF
CAL
TAL
0
0
0
1SH
LSb
0
MSB
LSB
1SH = Temperature Conversion Mode. If 1SHOT is "1", the DS1629 will perform one temperature
conversion upon reception of the Start Convert T protocol. If 1SHOT is "0", the DS1629 will
continuously perform temperature conversions and store the last completed result in the Thermometer
Register. The user has read/ write access to the nonvolatile bit, and the factory default state is "0"
(continuous mode).
POL = ALRM Polarity Bit. If POL = "1", the active state of the ALRM output will be high. A "0" stored
in this location sets the thermostat output to an active low state. The user has read/write access to the
nonvolatile POL bit, and the factory default state is "0" (active low).
CNV = Power-up conversion state. If CNV="0" (factory default), the DS1629 will automatically initiate a
temperature conversion upon power-up and supply stability. Setting CNV="1" will cause the DS1629 to
power-up in a standby state. Table 5 illustrates how the user can set 1SH and CNV, depending on the
power consumption sensitivity of the application.
9 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
DS1629 Thermometer Power-up Modes Table 5
CNV
0
0
ISH
0
1
1
0
1
1
MODE
Powers up converting continuously (factory default)
Automatically performs one conversion upon power-up. Subsequent conversions
require a Start Convert command.
Powers up in standby; upon Start Convert command, conversions will be performed
continuously.
Powers up in standby; upon Start Convert command, a single conversion will be
performed and stored.
A0, A1 = Alarm Mode. Table 6 defines the DS1629 alarm mode, based on the settings of the A0 and A1
bits. These bits define what event will activate the ALRM output. The alarm flags, CAF, TAF, CAL,
TAL, are functional regardless of the state of these bits. Both locations are read/write and nonvolatile, and
the factory default state disables the ALRM output (A0=A1=0).
Alarm Mode Configuration Table 6
A1
0
0
1
1
A0
0
1
0
1
ALARM MODE
Neither Thermal or Time (Disabled)
Thermal only
Time only
Either Thermal or Time
OS0, OS1 = Oscillator Output Setting. Table 7 defines the frequency of the OSC output, as defined by
the settings of these bits. Both locations are read/write and nonvolatile, and the factory default state sets
the OSC frequency equal to the crystal frequency (OS0=OS1="1"). The output should be disabled if the
user does not intend to use it to reduce power consumption.
OSC Frequency Configuration Table 7
OS1
0
0
1
1
OS0
0
1
0
1
OSC FREQUENCY
Disabled
1/8f0
1/4f0
f0
CAF = Clock Alarm Flag. This volatile status bit will be set to "1" when the clock comparator is in an
active state. Once set, it will remain "1" until reset by writing to or reading from either the clock register
or clock alarm register. A "0" in this location indicates the clock is not in an alarm condition. This is a
read-only bit (writes to this location constitute a "don’t care") and the power-up default is the flag cleared
(CAF="0").
TAF = Thermal Alarm Flag. This volatile status bit will be set to "1" when the thermal comparator is in
an active state. Once set, it will remain "1" until measured temperature falls below the programmed TL
setting. A "0" in this location indicates the thermometer is not in an alarm condition. This is a read-only
bit (writes to this location constitute a “don’t care”) and the power-up default is the flag cleared
(TAF="0").
10 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
CAL = Clock Alarm Latch. This volatile status bit will be set to "1" when the clock comparator becomes
active. Once set, it will remain latched until DS1629 power is cycled. A "0" in this location indicates the
clock has never been in an alarm condition since the DS1629 was powered-up. This is a read-only bit
(writes to this location constitute a “don’t care”) and the power-up default is the flag cleared (CAL="0").
TAL = Thermal Alarm Latch. This volatile status bit will be set to "1" when the thermal comparator
becomes active. Once set, it will remain latched until DS1629 power is cycled. A "0" in this location
indicates the DS1629 temperature has never exceeded TH since power-up. This is a read-only bit (writes
to this location constitute a “don’t care”) and the power-up default is the flag cleared (TAL="0").
0 = Don’t care. "Don’t care" on a write, but will always read out as a "0".
2-WIRE SERIAL DATA BUS
The DS1629 supports a bi-directional two-wire bus and data transmission protocol. A device that sends
data onto the bus is defined as a transmitter, and a device receiving data as a receiver. The device that
controls the message is called a “master.” The devices that are controlled by the master are “slaves.” The
bus must be controlled by a master device which generates the serial clock (SCL), controls the bus access,
and generates the START and STOP conditions. The DS1629 operates as a slave on the 2-wire bus.
Connections to the bus are made via the open-drain I/O lines SDA and SCL.
The following bus protocol has been defined:
• Data transfer may be initiated only when the bus is not busy.
• During data transfer, the data line must remain stable whenever the clock line is HIGH. Changes in
the data line while the clock line is high will be interpreted as control signals.
Accordingly, the following bus conditions have been defined:
Bus not busy: Both data and clock lines remain HIGH.
Start data transfer: A change in the state of the data line, from HIGH to LOW, while the clock is HIGH,
defines a START condition.
Stop data transfer: A change in the state of the data line, from LOW to HIGH, while the clock line is
HIGH, defines the STOP condition.
Data valid: The state of the data line represents valid data when, after a START condition, the data line
is stable for the duration of the HIGH period of the clock signal. The data on the line must be changed
during the LOW period of the clock signal. There is one clock pulse per bit of data.
Each data transfer is initiated with a START condition and terminated with a STOP condition. The
number of data bytes transferred between START and STOP conditions is not limited, and is determined
by the master device. The information is transferred byte-wise and each receiver acknowledges with a 9th
bit.
The maximum clock rate of the DS1629 is 400 kHz.
11 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
Acknowledge: Each receiving device, when addressed, is obliged to generate an acknowledge after the
reception of each byte. The master device must generate an extra clock pulse which is associated with this
acknowledge bit.
A device that acknowledges must pull down the SDA line during the acknowledge clock pulse in such a
way that the SDA line is stable LOW during the HIGH period of the acknowledge related clock pulse. Of
course, setup and hold times must be taken into account. A master must signal an end of data to the slave
by not generating an acknowledge bit on the last byte that has been clocked out of the slave. In this case,
the slave must leave the data line HIGH to enable the master to generate the STOP condition.
Figure 6 details how data transfer is accomplished on the two-wire bus. Depending upon the state of the
R/ W bit, two types of data transfer are possible:
1.
Data transfer from a master transmitter to a slave receiver. The first byte transmitted by the
master is the slave address. Next follows a number of data bytes. The slave returns an
acknowledge bit after each received byte.
2.
Data transfer from a slave transmitter to a master receiver. The 1st byte (the slave address) is
transmitted by the master. The slave then returns an acknowledge bit. Next follows a number of
data bytes transmitted by the slave to the master. The master returns an acknowledge bit after all
received bytes other than the last byte. At the end of the last received byte, a ‘not acknowledge’ is
returned.
The master device generates all of the serial clock pulses and the START and STOP conditions. A
transfer is ended with a STOP condition or with a repeated START condition. Since a repeated START
condition is also the beginning of the next serial transfer, the bus will not be released.
The DS1629 may operate in the following two modes:
1.
Slave receiver mode: Serial data and clock are received through SDA and SCL. After each byte
is received, an acknowledge bit is transmitted. START and STOP conditions are recognized as the
beginning and end of a serial transfer. Address recognition is performed by hardware after
reception of the slave address and direction bit.
2.
Slave transmitter mode: The first byte is received and handled as in the slave receiver mode.
However, in this mode, the direction bit will indicate that the transfer direction is reversed. Serial
data is transmitted on SDA by the DS1629 while the serial clock is input on SCL. START and
STOP conditions are recognized as the beginning and end of a serial transfer.
SLAVE ADDRESS
A control byte is the 1st byte received following the START condition from the master device. The
control byte consists of a 4-bit control code; for the DS1629, this is set as 1001 binary for read and write
operations. The next 3 bits of the control byte are the device select bits (A2, A1, A0). All 3 bits are hardwired high for the DS1629. Thus, only one DS1629 can reside on a 2-wire bus to avoid contention;
however, as many as seven other devices with the 1001 control code can be dropped on the 2-wire bus so
long as none contain the 111 address. The last bit of the control byte (R/ W ) defines the operation to be
performed. When set to a 1 a read operation is selected, and when set to a 0 a write operation is selected.
Following the START condition, the DS1629 monitors the SDA bus checking the device type identifier
being transmitted. Upon receiving the control byte, the slave device outputs an ACK on the SDA line.
12 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
2-WIRE SERIAL COMMUNICATION WITH DS1629 Figure 6
13 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
2-WIRE SERIAL COMMUNICATION WITH DS1629 Figure 6 (continued)
14 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
COMMAND SET
The command set for the DS1629 as shown in Table 8 is as follows:
Access Config [ACh]
If R/ W is "0", this command writes to the configuration register. After issuing this command, the next
data byte value is to be written into the configuration register. If R/ W is "1", the next data byte read is the
value stored in the configuration register. Because the MSB of the configuration register is read/write and
the LSB is read-only, the user only needs to write one byte to the register. One or two bytes can be read.
Start Convert T [EEh]
This command begins a temperature conversion. No further data is required. In one-shot mode, the
temperature conversion will be performed and then the DS1629 will remain idle. In continuous mode, this
command will initiate continuous conversions. Issuance of this protocol may not required upon DS1629
power-up, depending upon the state of the CNV bit in the configuration register.
Stop Convert T [22h]
This command stops temperature conversion. No further data is required. This command may be used to
halt a DS1629 in continuous conversion mode. After issuing this command, the current temperature
measurement will be completed, and then the DS1629 will remain idle until a Start Convert T is issued to
resume conversions.
Read Temperature [AAh]
This command reads the last temperature conversion result from the Thermometer Register in the format
described in the “OPERATION-Measuring Temperature” section. If one’s application can accept
thermometer resolution of only 1.0°C, the master only must read the first data byte and follow with a
NACK and STOP. For higher resolution, both bytes must be read.
Read Counter [A8h]
This command returns the 8-bit COUNT_REMAIN value, used for high resolution thermometer
calculations.
Read Slope [A9h]
This command returns the 8-bit COUNT_PER_C value, used for high resolution thermometer
calculations.
Access Clock [C0h]
Accesses the DS1629 clock/calendar register. If R/ W is "0" the master will write to the clock register (set
the clock). If R/ W is "1", the clock register is read. The clock register is addressed, so the user must
provide a beginning byte address, whether a read or write is performed. A write to or read from this
register or the clock alarm register is required to clear the clock alarm flag (CAF). Refer to Figure 6 for
the protocol and Figure 2 for the clock register map.
Access Clock Alarm [C7h]
Accesses the DS1629 clock alarm register. If R/ W is "0" the master will write to the clock alarm register
(set/ change the alarm). If R/ W is "1", the clock alarm register is read. The clock alarm register is
addressed, so the user must provide a beginning byte address, whether a read or write is performed. A
write to or read from this register or the clock register is required to clear the clock alarm flag (CAF).
Refer to Figure 6 for the protocol and Figure 4 for the clock alarm register map.
15 of 22
102299
Powered by ICminer.com Electronic-Library Service CopyRight 2003
DS1629
Access TH [A1h]
If R/ W is "0", this command writes to the TH register. After issuing this command, the next two bytes
written to the DS1629, in the format described for thermostat set-points, will set the high temperature
threshold for operation of the ALRM output and TAF/TAL flags. If R/ W is "1", the value stored in this
register is read back.
Access TL [A2h]
If R/ W is "0", this command writes to the TL register. After issuing this command, the next two bytes
written to the DS1629, in the format described for thermostat set-points, will set the high temperature
threshold for operation of the ALRM output and TAF flag. If R/ W is "1", the value stored in this register
is read back.
Access Memory [17h]
This command instructs the DS1629 to access the user-SRAM array, starting with the specified byte
address. Read/write depends upon the state of the R/ W in the 2-wire control byte. The user can read/write
all 32 bytes in succession within one command sequence, with the pointer automatically wrapping from
1Fh to 00h; if the master attempts to read/write more than 32 bytes, the address pointer will wrap to the
1st byte after the 32nd is read/written and ACK’d by the master/slave. Refer to Figure 6 for command
protocol.
DS1629 Command Set Table 8
INSTRUCTION
Access
Configuration
Access
Memory
PROTOCOL
DESCRIPTION
2-wire bus data after
issuing protocol
CONFIGURATION / MEMORY COMMANDS
Writes to 8-bit configuration register
1 data byte
ACh
Reads from configuration/status
1 or 2 data bytes
register
Writes to SRAM array
Starting Address+Nbytes
17h
Read from SRAM array
Starting Address+Nbytes
THERMOMETER COMMANDS
EEh
Initiates temperature conversion(s)
Idle
Start
Convert T
Stop
Convert T
Read
Temperature
Read Counter
Read Slope
Access TH
22h
Terminates continuous conversions
AAh
NOTES
1, 5
1, 2
3
Idle
3
Reads Temperature Register
Read 1 or 2 data bytes
4
A8h
A9h
A1h
Reads COUNT_REMAIN
Reads COUNT_PER_C
Writes to/Reads from TH register
Access TL
A2h
Writes to/Reads from TL register
Read 1 data byte
Read 1 data byte
Write 2 data bytes
Read 1 or 2 data bytes
Write 2 data bytes
Read 1 or 2 data bytes
Access Clock
C0h
CLOCK COMMANDS
Sets/Reads Clock
Access Clock
Alarm
C7h
Sets/
Reads Clock Alarm
16 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
Starting Address + Nbytes
Starting Address + Nbytes
1, 5
1, 5
1, 2
1, 2
102299
DS1629
NOTES:
1.
Data direction depends upon R/ W bit in the 2-wire control byte.
2.
When accessing (reading from or writing to) addressed SRAM in the page mode, the address
pointer will automatically roll from the most significant byte to the least significant byte following
the ACK of the most significant byte.
3.
In continuous conversion mode, a Stop Convert T command will halt continuous conversion. To
restart, the Start Convert T command must be issued. In one-shot mode, a Start Convert T
command must be issued for every temperature reading desired.
4.
If the user only desires 8-bit thermometer resolution, the master need only read 1 data byte, and
follow with a NACK and STOP. If higher resolution is required, 2 bytes must be read.
5.
Writing to E2 registers typically requires 10 ms at room temperature (50 ms max). After issuing a
write command, no further writes should be requested for 50 ms. E2 writes should only occur
under the conditions 2.7V ≤VDD ≤5.5V and 0°C ≤TJ ≤70°C.
17 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
Sample Command Sequence Table 9
Example: The bus master configures the DS1629 in the power-up one-shot mode. It sets the ALRM
output active low with only the thermometer generating an ALRM and disables the oscillator output. It
then sets the clock to 11:30AM on Thursday, January 1, 1998. It sets the thermostat with TH=50°C.
BUS MASTER DS1629
DATA (MSB
MODE
MODE
FIRST)
COMMENTS
TX
RX
START
Bus Master initiates a START condition
TX
RX
9Eh
Bus Master sends DS1629 address; R/ W = 0
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
ACh
Bus Master sends access configuration protocol
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
11h
Write to configuration as specified
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
START
Bus Master initiates a repeated START condition
TX
RX
9Eh
Bus Master sends DS1629 address; R/ W =0
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
C0h
Bus Master sends access clock protocol
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
00h
Bus Master sends starting clock register address
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
00h
Bus Master sets seconds and enables the clock
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
30h
Bus Master sets clock minutes
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
51h
Bus Master sets clock hours and AM/PM clock mode
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
05h
Bus Master sets day to Thursday
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
01h
Bus Master sets date to the first of the month
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
01h
Bus Master sets month to January
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
98h
Bus Master sets year to ‘98
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
START
Bus Master initiates a repeated START condition
TX
RX
9Eh
Bus Master sends DS1629 address; R/ W =0
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
A1h
Bus Master sends access TH protocol
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
32h
Bus Master writes MSB of TH (50°C)
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
00h
Bus Master writes LSB of TH (50°C)
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
STOP
Bus Master initiates STOP condition
18 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
Sample Command Sequence Table 10
Example: Assuming the DS1629 is configured such that the clock is running and the thermometer is
converting, read the current time and temperature. Also read the status of the alarm flags.
BUS MASTER DS1629
DATA (MSB
MODE
MODE
FIRST)
COMMENTS
TX
RX
START
Bus Master initiates a START condition
TX
RX
9Eh
Bus Master sends DS1629 address; R/ W = 0
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
AAh
Bus Master sends read temperature protocol
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
START
Bus Master initiates a Repeated START condition
TX
RX
9Fh
Bus Master sends DS1629 address; R/ W = 1
RX
TX
ACK
DS1629 generates acknowledge bit
RX
TX
<data byte>
DS1629 generates MSB of temperature
TX
RX
ACK
Bus Master generates acknowledge bit
RX
TX
<data byte>
DS1629 generates LSB of temperature
TX
RX
NACK
Master generates no-acknowledge bit
TX
RX
START
Bus Master initiates a repeated START condition
TX
RX
9Eh
Bus Master sends DS1629 address; R/ W = 0
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
C0h
Bus Master sends access clock protocol
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
01h
Bus Master set clock register address to “minutes”
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
START
Bus Master initiates a Repeated START condition
TX
RX
9Fh
Bus Master sends DS1629 address; R/ W = 1
RX
TX
ACK
DS1629 generates acknowledge bit
RX
TX
<data byte>
DS1629 generates minutes
TX
RX
ACK
Bus Mastergenerates acknowledge bit
RX
TX
<data byte>
DS1629 generates hours and clock mode
TX
RX
ACK
Bus Master generates acknowledge bit
•
•
•
•
RX
TX
<data byte>
DS1629 generates year
TX
RX
NACK
Master generates no-acknowledge bit
TX
RX
START
Bus Master initiates a repeated START condition
TX
RX
9Eh
Bus Master sends DS1629 address; R/ W = 0
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
ACh
Bus Master sends access configuration protocol
RX
TX
ACK
DS1629 generates acknowledge bit
TX
RX
9Fh
Bus Master sends DS1629 address; R/ W = 1
RX
TX
ACK
DS1629 generates acknowledge bit
RX
TX
<data byte>
DS1629 generates MSB of configuration register
TX
RX
ACK
Master generates acknowledge bit
RX
TX
<data byte>
DS1629 generates LSB of configuration register
(flags)
TX
RX
NACK
Master generates no-acknowledge bit
TX
RX
STOP
Bus Master initiates STOP condition
19 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
ABSOLUTE MAXIMUM RATINGS*
Voltage on VDD, Relative to Ground (Note 1)
Voltage on any other pin, Relative to Ground
Operating Temperature
Storage Temperature
Soldering Temperature
-0.3V to +7.0V
-0.3V to (VDD +0.3V)
-55°C to +125°C
-55°C to +125°C
260°C for 10 seconds
This is a stress rating only and functional operation of the device at these or any other conditions above
those indicated in the operation sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods of time may affect reliability.
RECOMMENDED DC OPERATING CONDITIONS
(-55°C to +125°C; 2.2V ≤ VDD ≤ 5.5V)
PARAMETER
Supply Voltage
SYMBOL
VDD
CONDITION
DC ELECTRICAL CHARACTERISTICS
PARAMETER
Logic 0 Input
Logic 1 Input
SDA Logic 0 Output
ALRM Saturation
Voltage
Input Current
Each I/O Pin
SYMBOL
VIL
VIH
VOL1
CONDITION
VOL2
IALRM=4mA
Standby Current
IDDS
Timekeeping Current
IDDC
2-Wire
Communication
IDD2
Thermometer Current
IDDT
Active Current
IDD
0.4<VI/O<0.9
VDD
VDD=2.2V
VDD=5.0V
VDD=2.2V
VDD=5.0V
VDD=2.2V
VDD=5.0V
VDD=2.7V
VDD=5.0V
VDD=2.7V
VDD=5.0V
20 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
MIN
2.2
TYP
MAX
5.5
UNITS
V
NOTES
(-55°C to +125°C; 2.2V ≤ VDD ≤ 5.5V)
MIN
-0.5
0.7VDD
0
-10
TYP
MAX
0.3VDD
VDD+0.5
0.4
UNITS
V
V
V
0.4
V
+10
µA
3
µA
4
µA
5
µA
5
µA
5
µA
5
0.1
0.2
0.3
1
100
100
300
500
500
1000
NOTES
2
102299
DS1629
DC ELECTRICAL CHARACTERISTICS:
DIGITAL THERMOMETER
PARAMETER
DS1629 Thermometer
Error
Resolution
Conversion Time
SYMBOL
TERR
CONDITION
-10°C to
+85°C
2.7V ≤VDD
≤5.5V
MIN
TYP
0.03
tCONVT
400
AC ELECTRICAL CHARACTERISTICS:
2-WIRE INTERFACE
PARAMETER
SCL Clock Period
Data In Setup Time to
SCL High
Data Out Stable after
SCL Low
SDA Low Setup
Time to SCL
Low (START)
SDA High Hold
Time After SCL
High (STOP)
Capacitance Load for
each Bus Line
Input Capacitance
Crystal Capacitance
(-55°C to +125°C; 2.7V ≤ VDD ≤ 5.5V)
SYMBOL
t1
CONDITION
MAX
UNITS
NOTES
±2.0
°C
6
0.5
1000
°C
ms
7
(-55°C to +125°C; 2.2V ≤ VDD ≤ 5.5V)
MIN
2.5
TYP
MAX
UNITS
µs
t2
100
ns
t3
0
ns
t4
100
ns
t5
100
ns
Cb
400
CI
CC
5
12.5
NOTES
pF
8
pF
pF
9
NOTES:
1.
All voltages are referenced to ground, unless otherwise noted.
2.
Logic 0 voltage specified at a sink current of 4 mA at VDD =5.0V and 1.5 mA at VDD =2.2V.
3.
I/O pins of fast mode devices must not obstruct the SDA and SCL lines if VDD is switched off.
4.
Standby current specified with temperature conversions and clock oscillator/buffer shut down,
ALRM pin open, and SDA, SCL = VDD, 0°C to +70°C.
5.
IDDX specified with ALRM pin open, and 0°C to +70°C.
6.
See typical accuracy curve for specification limits outside the temperature range indicated.
Thermometer error is specified for 2.7V ≤ VDD ≤ 5.5V. Accuracy will degrade approximately
0.5°C if ALRM is sinking the maximum current.
7.
Thermometer resolution (in °C) = 1/COUNT_PER_C(T). The calibration algorithm is such that
COUNT_PER_C and thus resolution varies over temperature (but is constant at a given
temperature for a given device) and from device to device.
21 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299
DS1629
8.
Cb - total capacitance of one bus line in pF.
9.
Refer to Application Note 58.
2-WIRE BUS TIMING DIAGRAM Figure 7
Typical DS1629 Thermometer Performance Curve Figure 9
22 of 22
Powered by ICminer.com Electronic-Library Service CopyRight 2003
102299