DALLAS DS2450S

TM
1-Wire
DS2450
Quad A/D Converter
www.dalsemi.com
FEATURES
§ Four high-impedance inputs to measure
analog voltages over the 1-Wire bus
§ User programmable input range (2.56V,
5.12V), resolution (1 to 16 bits) and alarm
thresholds
§ 5V, single supply operation
§ Very low power: 2.5 mW active, 25 µW idle
§ Built-in multidrop controller allows multiple
DS2450’s to be identified and operated on a
common 1-Wire bus
§ Responds to Conditional Search if the analog
voltage crosses the alarm thresholds
§ Channels not used as analog input can serve
as open drain digital outputs for closed-loop
control
§ Directly connects to a single port pin of a
microprocessor and communicates at up to
16.3k bits per second
§ Overdrive mode boosts communication speed
to 142k bits per second
§ On-chip 16-bit CRC-generator for
safeguarding data transfers
§ Unique, factory-lasered and tested 64-bit
registration number (8-bit family code + 48bit serial number 8-bit CRC tester) assures
absolute traceability because no two parts are
alike
§ 8-bit family code specifies device
communication requirements to bus master
§ Operating temperature range from -40°C to
+85°C
§ Compact, low cost 8-pin SOIC surface mount
package
PIN ASSIGNMENT
VCC
1
8
AIN-D
NC
2
7
AIN-C
DATA
3
6
AIN-B
GND
4
5
AIN-A
8-PIN SOIC (208 MIL)
PIN DESCRIPTION
VCC
NC
DATA
GND
AIN-A
AIN-B
AIN-C
AIN-D
4.5 to 5.5 Volts
Do Not Connect
1-Wire Bus
Ground
Analog Input A
Analog Input B
Analog Input C
Analog Input D
ORDERING INFORMATION
DS2450S
8-pin SOIC
DESCRIPTION
The DS2450 1-Wire Quad A/D Converter is based on a successive-approximation analog to digital
converter with a four to one analog multiplexer. Each input channel has its own register set to store the
input voltage range, resolution, and alarm threshold values as well as flags to enable participation of the
device in the conditional search if the input voltage leaves the specified range. Two alarm flags for each
channel indicate if the voltage measured was too high or too low without requiring the bus master to do
1 of 24
102199
DS2450
the comparison. Each A/D conversion is initiated by the bus master. A channel not used as analog input
can serve as a digital open-drain output. After disabling the input the bus master can directly switch on or
off the open-drain transistor at the selected channel. All device settings are stored in SRAM and kept
non-volatile while the device gets power either through the 1-Wire bus or through its VCC pin. After
powering up a power-on reset flag signals the bus master the need to restore the device settings before the
regular operation can resume. All device registers and conversion read-out registers are organized as
three 8-byte memory pages similar to the Status Memory of a DS2505/6 device. An on-chip CRC16
generator protects the communication against transmission errors when reading through the end of a
memory page as well as when writing individual bytes.
OVERVIEW
The block diagram in Figure 1 shows the major function blocks of the device. The DS2450 contains a
factory-lasered registration number that includes a unique 48-bit serial number, an 8-bit CRC, and an 8bit family code (20H). The 64-bit ROM portion of the DS2450 not only creates an absolutely unique
electronic identification for the device itself but also is a means to locate and address the device in order
to exercise its control functions.
The device gets its power either from the 1-Wire bus or through its VCC pin. Without a VCC supply the
device stores energy on an internal capacitor during periods where the signal line is high and continues to
operate off of this “parasite” power source during the low times of the 1-Wire line until it returns to high
to replenish the parasite (capacitor) supply. This, however, provides sufficient energy only for
communication. To perform an A/D conversion a strong pullup of the 1-Wire bus to 5V or a VCC supply
is required.
DS2450 BLOCK DIAGRAM Figure 1
2 of 24
102199
DS2450
HIERARCHICAL STRUCTURE FOR 1-WIRE PROTOCOL Figure 2
The DS2450 uses the standard Dallas Semiconductor 1-Wire protocol for data transfers. Communication
to and from the DS2450 requires a single bi-directional line that is typically a port pin of a
microcontroller. The hierarchical structure of the 1-Wire protocol is shown in Figure 2. The 1-Wire bus
master must first provide one of the seven ROM Function Commands, 1) Read ROM, 2) Match ROM, 3)
Search ROM, 4) Conditional Search ROM, 5) Skip ROM, 6) Overdrive-Skip ROM or 7) OverdriveMatch ROM. Upon completion of an overdrive ROM command byte executed at standard speed, the
device will enter Overdrive mode where all subsequent communication occurs at a higher speed. The
protocol required for these ROM function commands is described in Figure 9. After a ROM function
command is successfully executed, the memory and control functions become accessible and the master
may provide any one of the available commands. The protocol for these commands is described in Figure
6. All data is read and written least significant bit first.
64-BIT LASERED ROM
Each DS2450 contains a unique ROM code that is 64 bits long. The first eight bits are a 1-Wire family
code. The next 48 bits are a unique serial number. The last eight bits are a CRC of the first 56 bits. (See
Figure 3.) The 1-Wire CRC is generated using a polynomial generator consisting of a shift register and
XOR gates as shown in Figure 4. The polynomial is X8 + X5 + X4 + 1. Additional information about the
Dallas 1-Wire Cyclic Redundancy Check is available in the Book of DS19xx iButtonTM Standards. The
shift register acting as the CRC accumulator is initialized to zero. Then starting with the least significant
bit of the family code, one bit at a time is shifted in. After the 8th bit of the family code has been entered,
then the serial number is entered. After the 48th bit of the serial number has been entered, the shift
register contains the CRC value. Shifting in the eight bits of CRC should return the shift register to all
zeros.
3 of 24
102199
DS2450
64-BIT LASERED ROM Figure 3
1-WIRE CRC-GENERATOR Figure 4
DEVICE REGISTERS
All registers of the DS2450 are mapped into a linear memory range of 24 adjacent bytes organized as
three 8-byte pages. The first page, called conversion read-out, contains the memory area where the chipinternal logic places the results of a conversion for the bus master to read. Starting with channel A at the
lowest address, each channel has an area of 16 bits assigned for the conversion result, as shown in Figure
5a. The power-on default for the conversion read-out registers is all zeros. Regardless of the resolution
requested, the most significant bit of the conversion is always at the same bit position. If less than 16-bit
resolution is requested, the least significant bits of the conversion result will be filled with zeros in order
to always generate a 16-bit result. For applications that require less than four analog inputs, one should
start using input D for the first channel, input C for the second one, etc. The advantage is that when
reading the conversion results one reaches the end of the page and with it the CRC16 sooner and
minimizes the traffic on the 1-Wire bus. For more details on reading please refer to the Read Memory
command description.
MEMORY MAP PAGE 0, CONVERSION READ-OUT Figure 5a
Address
00
01
02
03
04
05
06
07
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
A
MSBIT A
B
MSBIT B
C
MSBIT C
D
MSBIT D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
LSBIT A
A
LSBIT B
B
LSBIT C
C
LSBIT D
D
The control and status information for all channels is located in memory page 1 (Figure 5b). As for the
conversion read-out, each channel has assigned 16 bits. The four least significant bits, called RC3 to
RC0, are an unsigned binary number that represents the number of bits to be converted. A code of 1111
(15 decimal) will generate a 15-bit result. For a full 16-bit conversion the code number needs to be 0000.
The next two bits beyond RC3 will always read 0. They have no function and cannot be changed to 1s.
4 of 24
102199
DS2450
The next bits, OC (output control) and OE (enable output) control the alternate use of a channel as output.
For normal operation as analog input the OE bit of a channel needs to be 0, rendering the OC bit to a
don’t care. With OE set to 1, a 0 for OC will make the channel’s output transistor conducting, a 1 for OC
will switch the transistor off. With a pullup resistor to a positive voltage, for example, the OC bit will
directly translate into the voltage equivalent of its logic state. Enabling the output does not disable the
analog input. Conversions remain possible, but will result in values close to 0 if the transistor is
conducting.
The IR bit in the second byte of a channel’s control and status memory selects the input voltage range.
With IR set to 0, the highest possible conversion result is reached at 2.55V. Setting IR to 1 requires an
input voltage of 5.10V for the same result. The next bit beyond IR has no function. It will always read 0
and cannot be changed to 1.
The next two bits, AEL alarm enable low and AEH alarm enable high, control whether the device will
respond to the Conditional Search command (see ROM Functions) if a conversion results in a value
higher (AEH) than or lower (AEL) than the channel’s alarm threshold voltage as specified in the alarm
settings. The alarm flags AFL (low) and AFH (high) tell the bus master whether the channel’s input
voltage was beyond the low or high threshold at the latest conversion. These flags are cleared
automatically if a new conversion reveals a non-alarming value. They can alternatively be written to 0 by
the bus master without a conversion.
The next bit of a channel’s control and status memory always reads 0 and cannot be changed to 1. The
POR bit (power on reset) is automatically set to 1 as the device performs a power-on reset cycle. As long
as this bit is set the device will always respond to the Conditional Search command in order to notify the
bus master that the control and threshold data is no longer valid. After powering-up the POR bit needs to
be written to 0 by the bus master. This may be done together with restoring the control and threshold
data. It is possible for the bus master to write the POR bit to a 1. This will make the device participate in
the conditional search but will not generate a reset cycle. Since the POR bit is related to the device and
not channel-specific the value written with the most recent setting of an input range or alarm enable
applies. The power-on default setting for the control/status data is 08h for the first and 8Ch for the
second byte of each channel.
MEMORY MAP PAGE 1, CONTROL/STATUS DATA Figure 5b
Address
08
09
0A
0B
0C
0D
0E
0F
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
OE-A
POR
OE-B
POR
OE-C
POR
OE-D
POR
OC-A
0
OC-B
0
OC-C
0
OC-D
0
0
AFH-A
0
AFH-B
0
AFH-C
0
AFH-D
0
AFL-A
0
AFL-B
0
AFL-C
0
AFL-D
RC3-A
AEH-A
RC3-B
AEH-B
RC3-C
AEH-C
RC3-D
AEH-D
RC2-A
AEL-A
RC2-B
AEL-B
RC2-C
AEL-C
RC2-D
AEL-D
RC1-A
0
RC1-B
0
RC1-C
0
RC1-D
0
RC0-A
IR-A
RC0-B
IR-B
RC0-C
IR-C
RC0-D
IR-D
5 of 24
102199
DS2450
MEMORY MAP PAGE 2, ALARM SETTINGS Figure 5c
Address
10
11
12
13
14
15
16
17
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
MSBL-A
MSBH-A
MSBL-B
MSBH-B
MSBL-C
MSBH-C
MSBL-D
MSBH-D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
A
A
B
B
C
C
D
D
LSBL-A
LSBH-A
LSBL-B
LSBH-B
LSBL-C
LSBH-C
LSBL-D
LSBH-D
The registers for the alarm threshold voltages of each channel are located in memory page 2 with the low
threshold being at the lower address (Figure 5c). The power-on default thresholds are 00h for low alarm
and FFh for high alarm. The alarm settings are always eight bits. For a resolution higher or equal to
eight bits the alarm flag will be set if the eight most significant bits of the conversion result yield a
number higher than stored in the high alarm register (AFH) or lower than stored in the low alarm register
(AFL). For a resolution lower than eight bits the least significant bits of the alarm registers are ignored.
There is a fourth memory page in the address range of 18 to 1F used during calibration at the factory.
This memory page is accessible to the user through the Read Memory and Write Memory commands.
Changing the data of this page arbitrarily will de-calibrate the A/D converter or make the device
nonfunctional until it undergoes a power-on reset. If the device is VCC powered the analog circuitry
must be kept permanently active by writing a value of 40 hex to memory address 1C after power-up.
This also eliminates the offset time otherwise needed with each CONVERT command. See the
description of the CONVERT command for details.
FUNCTION COMMANDS
The Function Command Flow Chart (Figure 6) describes the protocols necessary for accessing the device
registers. Since the memory map of the DS2450 is small compared to the 16-bit addressing capabilities
the 11 most significant bits of the address will be forced to 0 before they enter the CRC-generator. The
communication between master and DS2450 takes place either at regular speed (default, OD = 0) or at
Overdrive Speed (OD = 1). If not explicitly set into Overdrive mode the device assumes regular speed.
READ MEMORY [AAH]
The Read Memory command is used to read conversion results, control/status data and alarm settings.
The bus master follows the command byte with a two byte address (TA1=(T7:T0), TA2=(T15:T8)) that
indicates a starting byte location within the memory map. With every subsequent read data time slot the
bus master receives data from the DS2450 starting at the supplied address and continuing until the end of
an eight-byte page is reached. At that point the bus master will receive a 16-bit CRC of the command
byte, address bytes and data bytes. This CRC is computed by the DS2450 and read back by the bus
master to check if the command word, starting address and data were received correctly. If the CRC read
by the bus master is incorrect, a Reset Pulse must be issued and the entire sequence must be repeated.
Note that the initial pass through the Read Memory flow chart will generate a 16-bit CRC value that is the
result of clearing the CRC-generator and then shifting in the command byte followed by the two address
bytes, and finally the data bytes beginning at the first addressed memory location and continuing through
to the last byte of the addressed page. Subsequent passes through the Read Memory flow chart will
generate a 16-bit CRC that is the result of clearing the CRC-generator and then shifting in the new data
bytes starting at the first byte of the next page.
6 of 24
102199
DS2450
WRITE MEMORY [55H]
The Write Memory command is used to write to memory pages 1 and 2 in order to set the channelspecific control data and alarm thresholds. The bus master will follow the command byte with a two byte
starting address (TA1=(T7:T0), TA2=(T15:T8)) and a data byte of (D7:D0). A 16-bit CRC of the
command byte, address bytes, and data byte is computed by the DS2450 and read back by the bus master
to confirm that the correct command word, starting address, and data byte were received. Now the
DS2450 copies the data byte to the specified memory location. With the next eight time slots the bus
master receives a copy of the same byte but read from memory for verification. If the verification fails, a
Reset Pulse should be issued and the current byte address should be written again.
If the bus master does not issue a Reset Pulse and the end of memory was not yet reached, the DS2450
will automatically increment its address counter to address the next memory location. The new two-byte
address will also be loaded into the 16-bit CRC-generator as a starting value. The bus master will send
the next byte using eight write time slots. As the DS2450 receives this byte it also shifts it into the CRCgenerator and the result is a 16-bit CRC of the new data byte and the new address. With the next sixteen
read time slots the bus master will read this 16-bit CRC from the DS2450 to verify that the address
incremented properly and the data byte was received correctly. If the CRC is incorrect, a Reset Pulse
should be issued in order to repeat the Write Memory command sequence.
Note that the initial pass through the Write Memory flow chart will generate a 16-bit CRC value that is
the result of shifting the command byte into the CRC-generator, followed by the two address bytes, and
finally the data byte. Subsequent passes through the Write Memory flow chart due to the DS2450
automatically incrementing its address counter will generate a 16-bit CRC that is the result of loading (not
shifting) the new (incremented) address into the CRC-generator and then shifting in the new data byte.
The decision to continue after having received a bad CRC or if the verification fails is made entirely by
the bus master. Write access to the conversion read-out registers is not possible. If a write attempt is
made to a page 0 address the device will follow the Write Memory flow chart correctly but the
verification of the data byte read back from memory will usually fail. The Write Memory command
sequence can be ended at any point by issuing a Reset Pulse.
7 of 24
102199
DS2450
FUNCTION COMMAND FLOW CHART Figure 6
8 of 24
102199
DS2450
FUNCTION COMMAND FLOW CHART Figure 6 (continued)
9 of 24
102199
DS2450
CONVERT [3CH]
The Convert command is used to initiate the analog to digital conversion for one or more channels at the
resolution specified in memory page 1, control/status data. The conversion takes between 60 and 80 µs
per bit plus an offset time of maximum 160 µs every time the convert command is issued. For four
channels with 12-bit resolution each, as an example, the convert command will not take more than
4x12x80 µs plus 160 µs offset, which totals 4 ms. If the DS2450 gets its power through the VCC pin, the
bus master may communicate with other devices on the 1-Wire bus while the DS2450 is busy with A/D
conversions. If the device is powered entirely from the 1-Wire bus, the bus master must instead provide a
strong pullup to 5V for the estimated duration of the conversion in order to provide sufficient energy.
The conversion is controlled by the input select mask (Figure 7a) and the read-out control byte (Figure
7b). In the input select mask the bus master specifies which channels participate in the conversion. A
channel is selected if the bit associated to the channel is set to 1. If more than one channel is selected, the
conversion takes place one channel after another in the sequence A, B, C, D, skipping those channels that
are not selected. The bus master can read the result of a channel’s conversion before the conversion of all
the remaining selected channels is completed. In order to distinguish between the previous result and the
new value the bus master uses the read-out control byte. This byte allows presetting the conversion readout registers for each selected channel to all 1’s or all 0’s. If the expected result is close to 0 then one
should preset to all 1’s or to all 0’s if the conversion result will likely be a high number. In applications
where the bus master can wait until all selected channels are converted before reading, a preset of the
read-out registers is not necessary. Note that for a channel not selected in the input select mask, the
channel’s read-out control setting has no effect. If a channel constantly yields conversion results close to
0 the channel’s output transistor may be conducting. See section Device Registers for details.
INPUT SELECT MASK (CONVERSION COMMAND) Figure 7a
bit 7
bit 6
bit 5
“don’t care”
bit 4
bit 3
D
bit 2
C
bit 1
B
bit 0
A
bit 1
Set A
bit 0
Clear A
READ-OUT CONTROL (CONVERSION COMMAND) Figure 7b
bit 7
Set D
Set
0
0
1
1
bit 6
Clear D
bit 5
Set C
Clear
0
1
0
1
bit 4
Clear C
bit 3
Set B
bit 2
Clear B
Explanation
no preset, leave as is
preset to all 0’s
preset to all 1’s
(illegal code)
Following the Convert command byte the bus master transmits the input select mask and the read-out
control byte. Now the bus master reads the CRC16 of the command byte, select mask and control byte.
The conversion will start no earlier than 10 µs after the most significant bit of the CRC is received by the
bus master.
With a parasitic power supply the bus master must activate the strong pullup within this 10 µs window for
a duration that is estimated as explained above. After that, the data line returns to an idle high state and
communication on the bus can resume. The bus master would normally send a reset pulse to exit the
Convert command. Read data time slots generated after the strong pullup has ended but before issuing a
reset pulse should result in all 1’s if the conversion time was calculated correctly.
10 of 24
102199
DS2450
With VCC power supply the bus master may either send a reset pulse to exit the Convert command or
continuously generate read data time slots. As long as the DS2450 is busy with conversions the bus
master will read 0’s. After the conversion is completed the bus master will receive 1’s instead. Since in a
open-drain environment a single 0 overwrites multiple 1’s the bus master can monitor multiple devices
converting simultaneously and immediately knows when the last one is ready. As in the parasitically
powered scenario the bus master finally has to exit the Convert command by issuing a rest pulse.
1-WIRE BUS SYSTEM
The 1-Wire bus is a system which has a single bus master and one or more slaves. In all instances the
DS2450 is a slave device. The discussion of this bus system is broken down into three topics: hardware
configuration, transaction sequence, and 1-Wire signaling (signal types and timing). A 1-Wire protocol
defines bus transactions in terms of the bus state during specific time slots that are initiated on the falling
edge of sync pulses from the bus master. For a more detailed protocol description, refer to Chapter 4 of
the Book of DS19xx iButton Standards.
HARDWARE CONFIGURATION
The 1-Wire bus has only a single line by definition; it is important that each device on the bus be able to
drive it at the appropriate time. To facilitate this, each device attached to the 1-Wire bus must have open
drain or 3-state outputs. The 1-Wire port of the DS2450 is open drain with an internal circuit equivalent
to that shown in Figure 8. A multidrop bus consists of a 1-Wire bus with multiple slaves attached. At
regular speed the 1-Wire bus has a maximum data rate of 16.3k bits per second. The speed can be
boosted to 142k bits per second by activating the Overdrive Mode. The 1-Wire bus requires a pullup
resistor of approximately 5kΩ at regular speed or maximum 2.2kΩ at Overdrive speed for
communication. During A/D conversions the bus master must provide a strong pullup to 5V to supply
sufficient energy if the DS2450 is powered entirely from the 1-Wire bus.
The idle state for the 1-Wire bus is high. If for any reason a transaction needs to be suspended, the bus
MUST be left in the idle state if the transaction is to resume. If this does not occur and the bus is left low
for more than 16 µs (Overdrive Speed) or more than 120 µs (regular speed), one or more devices on the
bus may be reset.
HARDWARE CONFIGURATION Figure 8
SEE TEXT
11 of 24
102199
DS2450
TRANSACTION SEQUENCE
The protocol for accessing the DS2450 via the 1-Wire port is as follows:
§ Initialization
§ ROM Function Command
§ Memory/Convert Function Command
§ Transaction/Data
INITIALIZATION
All transactions on the 1-Wire bus begin with an initialization sequence. The initialization sequence
consists of a reset pulse transmitted by the bus master followed by presence pulse(s) transmitted by the
slave(s). The presence pulse lets the bus master know that the DS2450 is on the bus and is ready to
operate. For more details, see the “1-Wire Signaling” section.
ROM FUNCTION COMMANDS
Once the bus master has detected a presence, it can issue one of the seven ROM function commands. All
ROM function commands are eight bits long. A list of these commands follows (refer to flowchart in
Figure 9):
Read ROM [33H]
This command allows the bus master to read the DS2450’s 8-bit family code, unique 48-bit serial
number, and 8-bit CRC. This command can only be used if there is a single DS2450 on the bus. If more
than one slave is present on the bus, a data collision will occur when all slaves try to transmit at the same
time (open drain will produce a wired-AND result). The resultant family code and 48-bit serial number
will result in a mismatch of the CRC.
MATCH ROM [55H]
The match ROM command, followed by a 64-bit ROM sequence, allows the bus master to address a
specific DS2450 on a multidrop bus. Only the DS2450 that exactly matches the 64-bit ROM sequence
will respond to the following memory/convert function command. All slaves that do not match the 64-bit
ROM sequence will wait for a reset pulse. This command can be used with a single or multiple devices
on the bus.
SKIP ROM [CCH]
This command can save time in a single drop bus system by allowing the bus master to access the
memory/ convert functions without providing the 64-bit ROM code. If more than one slave is present on
the bus and a read command is issued following the Skip ROM command, data collision will occur on the
bus as multiple slaves transmit simultaneously (open drain pulldowns will produce a wired-AND result).
SEARCH ROM [F0H]
When a system is initially brought up, the bus master might not know the number of devices on the 1Wire bus or their 64-bit ROM codes. The Search ROM command allows the bus master to use a process
of elimination to identify the 64-bit ROM codes of all slave devices on the bus. The search ROM process
is the repetition of a simple 3-step routine: read a bit, read the complement of the bit, then write the
desired value of that bit. The bus master performs this simple, 3-step routine on each bit of the ROM.
After one complete pass, the bus master knows the contents of the ROM in one device. The remaining
number of devices and their ROM codes may be identified by additional passes. See Chapter 5 of the
Book of DS19xx iButton Standards for a comprehensive discussion of a Search ROM, including an actual
example.
12 of 24
102199
DS2450
CONDITIONAL SEARCH [ECH]
The Conditional Search ROM command operates similarly to the Search ROM command except that only
devices fulfilling the specified condition will participate in the search. The DS2450 will respond to the
Conditional Search command if a channel’s alarm enable flags AEH and/or AEL are set and the
conversion results in a value outside the range specified by the channel’s alarm threshold voltages. See
section Device Registers for details. The Conditional Search ROM provides an efficient means for the
bus master to determine devices on a multidrop system that have to signal an important event, such as a
voltage leaving the tolerance band. After each pass of the Conditional Search that successfully
determined the 64-bit ROM for a specific device on the multidrop bus, that particular device can be
individually accessed as if a Match ROM had been issued since all other devices will have dropped out of
the search process and are waiting for a reset pulse.
OVERDRIVE SKIP ROM [3CH]
On a single-drop bus this command can save time by allowing the bus master to access the
memory/convert functions without providing the 64-bit ROM code. Unlike the normal Skip ROM
command the Overdrive Skip ROM sets the DS2450 in the Overdrive Mode (OD = 1). All
communication following this command has to occur at Overdrive Speed until a reset pulse of minimum
480 µs duration resets all devices on the bus to regular speed (OD = 0).
When issued on a multidrop bus this command will set all Overdrive-supporting devices into Overdrive
mode. To subsequently address a specific Overdrive-supporting device, a reset pulse at Overdrive speed
has to be issued followed by a Match ROM or Search ROM command sequence. This will speed up the
time for the search process. If more than one slave supporting Overdrive is present on the bus and the
Overdrive Skip ROM command is followed by a read command, data collision will occur on the bus as
multiple slaves transmit simultaneously (open drain pulldowns will produce a wired-AND result).
Overdrive Match ROM [69H]
The Overdrive Match ROM command, followed by a 64-bit ROM sequence transmitted at Overdrive
Speed, allows the bus master to address a specific DS2450 on a multidrop bus and to simultaneously set it
in Overdrive Mode. Only the DS2450 that exactly matches the 64-bit ROM sequence will respond to the
subsequent memory function command. Slaves already in Overdrive mode from a previous Overdrive
Skip or Match command will remain in Overdrive mode. All overdrive-capable slaves will return to
regular speed at the next Reset Pulse of minimum 480 µs duration. The Overdrive Match ROM
command can be used with a single or multiple devices on the bus.
13 of 24
102199
DS2450
ROM FUNCTIONS FLOW CHART Figure 9
14 of 24
102199
DS2450
ROM FUNCTIONS FLOW CHART Figure 9 (continued)
15 of 24
102199
DS2450
USAGE EXAMPLE (set-up section)
There is a single VCC powered DS2450 on the 1-Wire bus. Set-up channel D for 12 bits, 5.12V range and
alarm thresholds of 2.0V (64h) and 3.0V (96h) (increment 20 mV) and convert the input voltage; turn on
the channel A output if low alarm occurs and the channel B output if high alarm occurs, respectively.
MASTER MODE
TX
RX
TX
TX
TX
TX
TX
RX
RX
TX
RX
RX
TX
RX
RX
TX
RX
RX
TX
RX
RX
TX
RX
RX
TX
RX
RX
TX
RX
RX
DATA (LSB FIRST)
Reset
Presence
CCh
55h
08h
00h
C0h
<CRC16>
C0h
00h
<CRC16>
00h
C0h
<CRC16>
C0h
00h
<CRC16>
00h
C0h
<CRC16>
C0h
00h
<CRC16>
00h
0Ch
<CRC16>
0Ch
0Dh
<CRC16>
0Dh
COMMENTS
Reset Pulse (480 - 960 µs)
Presence Pulse
Issue “Skip ROM” Command
Issue “Write Memory” Command
TA1, beginning address
TA2, address = 0008h
data byte (address 0008)
CRC of command, address, data byte
read-back for simple verification
next data byte (address 0009h)
CRC of address, data byte
read-back for simple verification
data byte (address 000A)
CRC of address, data byte
read-back for simple verification
next data byte (address 000Bh)
CRC of address, data byte
read-back for simple verification
data byte (address 000C)
CRC of address, data byte
read-back for simple verification
next data byte (address 000Dh)
CRC of address, data byte
read-back for simple verification
data byte (address 000E)
CRC of address, data byte
read-back for simple verification
next data byte (address 000Fh)
CRC of address, data byte
read-back for simple verification
CH-A
CH-B
CH-C*
CH-D
Continued on the next page.
*In a multi-drop environment it takes less time to set-up an unused channel rather than skipping it.
16 of 24
102199
DS2450
USAGE EXAMPLE (set-up continued, conversion, read flags)
MASTER MODE
TX
RX
TX
TX
TX
TX
TX
RX
RX
TX
RX
RX
TX
RX
TX
TX
TX
TX
RX
RX
TX
RX
TX
TX
TX
TX
RX
RX
DATA (LSB FIRST)
Reset
Presence
CCh
55h
16h
00h
64h
<CRC16>
64h
96h
<CRC16>
96h
Reset
Presence
CCh
3Ch
08h
40h
<CRC16>
<multiple data bytes>
Reset
Presence
CCh
Aah
0Fh
00h
<data byte>
<CRC16>
COMMENTS
Reset Pulse (480 - 960 µs)
Presence Pulse
Issue “Skip ROM” Command
Issue “Write Memory” Command
TA1, beginning address
TA2, address = 0016h
data byte (address 0016)
CRC of command, address, data byte
read-back for simple verification
next data byte (address 0017h)
CRC of address, data byte
read-back for simple verification
Reset Pulse (480 - 960 µs)
Presence Pulse
Issue “Skip ROM” Command
Issue “Convert” Command
input select mask
read-out control byte
CRC of command, mask, control byte
continue reading until byte is FFh
Reset Pulse (480 - 960 µs)
Presence Pulse
Issue “Skip ROM” Command
Issue “Read Memory” Command
TA1, beginning address
TA2, address = 000Fh
status data*
CRC of command, address, data byte
CH-D
CH-D
CH-D
Continued on the next page.
*The status data byte includes the channel D alarm flags AFH and AFL which are used to control the
channel A and B outputs (see next page).
17 of 24
102199
DS2450
USAGE EXAMPLE (control channel A and channel B outputs)
MASTER MODE
TX
RX
TX
TX
TX
TX
TX
RX
RX
TX
RX
RX
TX
RX
RX
TX
RX
DATA (LSB FIRST)
Reset
Presence
CCh
55h
08h
00h
80h if AFL = 1 / C0h if
AFL = 0
<CRC16>
<data byte>
00h
<CRC16>
00h
80h if AFH = 1 / C0h if
AFH = 0
<CRC16>
<data byte>
Reset
Presence
COMMENTS
Reset Pulse (480 - 960 µs)
Presence Pulse
Issue “Skip ROM” Command
Issue “Write Memory” Command
TA1, beginning address
TA2, address = 0008h
data byte (address 0008)
CH-A
CRC of command, address, data byte
read-back for simple verification
next data byte (address 0009h)*
CRC of address, data byte
read-back for simple verification
data byte (address 000A)
CH-B
CRC of address, data byte
read-back for simple verification
Reset Pulse (480 - 960 µs)
Presence Pulse
*In a multi-drop environment it takes less time to perform a non-changing write cycle rather than
skipping a byte.
1-WIRE SIGNALING
The DS2450 requires strict protocols to ensure data integrity. The protocol consists of four types of
signaling on one line: reset sequence with reset pulse and presence pulse, Write 0, Write 1 and Read Data.
All these signals except presence pulse are initiated by the bus master. The DS2450 can communicate at
two different speeds, regular speed and Overdrive Speed. If not explicitly set into the Overdrive mode,
the DS2450 will communicate at regular speed. While in Overdrive mode the fast timing applies to all
wave forms.
The initialization sequence required to begin any communication with the DS2450 is shown in Figure 10.
A Reset Pulse followed by a Presence Pulse indicates the DS2450 is ready to send or receive data given
the correct ROM command and memory function command. The bus master transmits (TX) a reset pulse
(tRSTL, minimum 480 µs at regular speed, 48 µs at Overdrive Speed). The bus master then releases the
line and goes into receive mode (RX). The 1-Wire bus is pulled to a high state via the pullup resistor.
After detecting the rising edge on the data pin, the DS2450 waits (tPDH,15-60 µs at regular speed, 2-6 µs
at Overdrive speed) and then transmits the Presence Pulse (tPDL, 60-240 µs at regular speed, 8-24 µs at
Overdrive Speed).
A Reset Pulse of 480 µs or longer will exit the Overdrive Mode returning the device to regular speed. If
the DS2450 is in Overdrive Mode and the Reset Pulse is no longer than 80 µs the device will remain in
Overdrive Mode.
18 of 24
102199
DS2450
INITIALIZATION PROCEDURE “RESET AND PRESENCE PLUSES” Figure 10
*IN ORDER NOT TO MASK INTERRUPT SIGNALING BY OTHER DEVICES ON THE 1-WIRE BUS, tRSTL + tR
SHOULD ALWAYS BE LESS THAN 960 µs
**INCLUDES RECOVERY TIME
READ/WRITE TIME SLOTS
The definitions of write and read time slots are illustrated in Figure 11. All time slots are initiated by the
master driving the data line low. The falling edge of the data line synchronizes the DS2450 to the master
by triggering a delay circuit in the DS2450. During write time slots, the delay circuit determines when
the DS2450 will sample the data line. For a read data time slot, if a “0” is to be transmitted, the delay
circuit determines how long the DS2450 will hold the data line low overriding the 1 generated by the
master. If the data bit is a “1”, the device will leave the read data time slot unchanged.
READ/WRITE TIME DIAGRAM Figure 11
Write-one Time Slot
19 of 24
102199
DS2450
READ/WRITE TIMING DIAGRAM Figure 11 (continued)
Write-zero Time Slot
Read-data Time Slot
20 of 24
102199
DS2450
CRC HARDWARE DESCRIPTION AND POLYNOMIAL Figure 12
CRC-GENERATION
With the DS2450 there are two different types of CRCs (Cyclic Redundancy Checks). One CRC is a 8bit type and is stored in the most significant byte of the 64-bit ROM. The bus master can compute a CRC
value from the first 56 bits of the 64-bit ROM and compare it to the value stored within the DS2450 to
determine if the ROM data has been received error-free by the bus master. The equivalent polynomial
function of this CRC is X8 + X5 + X4 + 1. This 8-bit CRC is received in the true (non inverted) form
when reading the ROM of the DS2450. It is computed once at the factory and lasered into the ROM.
The other CRC is a 16-bit type, generated according to the standardized CRC16 polynomial function X16
+ X15 + X2 + 1. This CRC is used to safeguard data when reading from or writing to the device’s
memory. It is the same type of CRC as is used with NV RAM based iButtons to safeguard data packets
of the iButton File Structure. In contrast to the 8-bit CRC, the 16-bit CRC is always returned in the
complemented (inverted) form. A CRC-generator inside the DS2450 chip (Figure 12) will calculate a
new 16-bit CRC at every situation shown in the command flow chart of Figure 6.
The DS2450 provides this CRC value to the bus master to validate the transfer of command, address, and
data to and from the bus master. When reading the memory, the 16-bit CRC is transmitted when the end
of each 8-byte memory page is reached. At the initial pass through the Read Memory flow chart the 16bit CRC will be generated by clearing the CRC-generator, shifting in the command byte, low address,
high address and the data bytes beginning at the first addressed memory location and continuing until the
last byte of the addressed memory page is reached. Subsequent passes through the Read Memory flow
chart will generate a 16-bit CRC that is the result of clearing the CRC-generator and then shifting in the
new data bytes starting at the first byte of the next page and continuing until the last byte of the page is
reached.
When writing to the DS2450, the bus master receives a 16-bit CRC to verify the correctness of the data
transfer before the device copies the data byte to its memory. With the initial pass through the Write
Memory flow chart the 16-bit CRC will be generated by clearing the CRC-generator, shifting in the
command, address low, address high and the data byte. Subsequent passes through the Write Memory
flow chart due to the DS2450 automatically incrementing its address counter will generate an 16-bit CRC
that is the result of loading (not shifting) the new (incremented) address into the CRC-generator and then
shifting in the new data byte.
For more details on generating CRC values including example implementations in both hardware and
software, see the Book of DS19xx iButton Standards.
21 of 24
102199
DS2450
TRANSFER CHARACTERISTIC
INCREMENT AND MINIMUM FULL SCALE INPUT VOLTAGE VERSUS
RESOLUTION
Resolution
2 bits
3 bits
4 bits
5 bits
6 bits
7 bits
8 bits
9 bits
10 bits
11 bits
12 bits
13 bits
14 bits
15 bits
16 bits
Range = 2.56V
1 LS bit equivalent
minimum full scale
input voltage(mV)
input voltage (V)
640
320
160
80
40
20
10
5
2.5
1.25
0.625
0.313
0.156
0.078
0.039
1.60
2.08
2.32
2.44
2.50
2.53
2.545
2.5525
2.5563
2.5581
2.5591
2.5595
2.5598
2.5599
2.5599
Range = 5.12V
1 LS bit equivalent
minimum full scale
input voltage (mV)
input voltage (V)
1280
640
320
160
80
40
20
10
5
2.5
1.25
0.625
0.313
0.156
0.078
3.20
4.16
4.64
4.88
5.00
5.06
5.09
5.105
5.1125
5.1163
5.1181
5.1191
5.1195
5.1198
5.1199
In the shaded areas the accuracy is less than the resolution. The conversion results may include random
noise.
22 of 24
102199
DS2450
ABSOLUTE MAXIMUM RATINGS*
Voltage on DATA to Ground
Operating Temperature
Storage Temperature
Soldering Temperature
-0.5V to +7.0V
-40°C to +85°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.
DC ELECTRICAL CHARACTERISTICS (-40°C to +85°C; VPUP or VCC =5V ±10%)
PARAMETER
Logic 1
Logic 0
Output Logic Low @ 4 mA
Output Logic High
Input Load Current
Operating Current
Quiescent Current
SYMBOL
VIH
VIL
VOL
VOH
IL
ICC
ICCQ
MIN
2.2
-0.3
TYP
VPUP
5
0.5
MAX
+0.8
0.4
6.0
5
CAPACITANCE
PARAMETER
I/O (1-Wire)
Analog Input
NOTES
1
1
1
1, 2
3
7
8
(tA= 25°C)
SYMBOL
CIN/OUT
CAIN
MIN
TYP
100
MAX
800
50
RESISTANCES
PARAMETER
Analog Input
UNITS
V
V
V
V
µA
mA
µA
UNITS
pF
pF
NOTES
5
(tA= 25°C)
SYMBOL
ZAIN
MIN
TYP
1.0
MAX
UNITS
MΩ
NOTES
AC ELECTRICAL CHARACTERISTICS REGULAR SPEED
(VPUP=4.0V to 6.0V; -40°C to +85°C)
PARAMETER
Time Slot
Write 1 Low Time
Write 0 Low Time
Read Low Time
Read Data Valid
Release Time
Read Data Setup
Recovery Time
Reset Time High
Reset Time Low
Presence Detect High
Presence Detect Low
SYMBOL
tSLOT
tLOW
tLOW0
tLOWR
tRDV
tRELEASE
tSU
tREC
tRSTH
tRSTL
tPDH
tPDL
MIN
60
1
60
1
0
1
480
480
15
60
23 of 24
TYP
exactly 15
15
MAX
120
15
120
15
45
1
60
240
UNITS
µs
µs
µs
µs
µs
µs
µs
µs
µs
µs
µs
µs
NOTES
4
6
102199
DS2450
AC ELECTRICAL CHARACTERISTICS
OVERDRIVE SPEED
(VPUP =4.0V to 6.0V; -40°C to +85°C)
PARAMETER
Time Slot
Write 1 Low Time
Write 0 Low Time
Read Low Time
Read Data Valid
Release Time
Read Data Setup
Recovery Time
Reset Time High
Reset Time Low
Presence Detect High
Presence Detect Low
SYMBOL
tSLOT
tLOW1
tLOW0
tLOWR
tRDV
tRELEASE
tSU
tREC
tRSTH
tRSTL
tPDH
tPDL
MIN
6
1
6
1
0
TYP
Exactly 2
1.5
1
48
48
2
8
MAX
16
2
16
2
4
1
80
6
24
UNITS
µs
µs
µs
µs
µs
µs
µs
µs
µs
µs
µs
µs
NOTES
4
AC ELECTRICAL CHARACTERISTICS (VPUP or VCC =5V ±10%; -40°C to +85°C)
PARAMETER
Sample & Hold Aperture
SYMBOL
tSH
MIN
TYP
20
Equivalent Input Noise
VINOISE
t.b.d.
Total Conversion Error
NERR
± 1/2
MAX
UNITS
µs
µV
RMS
LSB
NOTES
9
NOTES:
1. All voltages are referenced to ground.
2. VPUP = external pullup voltage.
3. Input load is to ground.
4. Read data setup time refers to the time the host must pull the 1-Wire bus low to read a bit. Data is
guaranteed to be valid within 1 µs of this falling edge.
5. Capacitance on the data pin could be 800 pF when power is first applied. If a 5 kΩ resistor is used to
pull up the data line to VPUP, 5 µs after power has been applied the parasite capacitance will not affect
normal communications.
6. The reset low time (tRSTL) should be restricted to a maximum of 960 µs, to allow interrupt signaling,
otherwise, it could mask or conceal interrupt pulses.
7. Measured with VCC = 5.0V supply and 1-Wire input open.
8. Measured with VCC = 5.0V supply, 1-Wire input open and analog circuitry inactive.
9. At 8-bit resolution regardless of range and temperature; includes offset, non-linearity and noise.
24 of 24
102199