Dallas DS2482-800 Eight-channel 1-wire master Datasheet

DS2482-800
Eight-Channel 1-Wire Master
www.maxim-ic.com
GENERAL DESCRIPTION
The DS2482-800 is an I²C™ to 1-Wireâ bridge device
that interfaces directly to standard (100kHz max) or
fast (400kHz max) I²C masters to perform bidirectional protocol conversion between the I²C
master and any downstream 1-Wire slave devices.
Relative to any attached 1-Wire slave device, the
DS2482-800 is a 1-Wire master. Internal factorytrimmed timers relieve the system host processor
from generating time-critical 1-Wire waveforms,
supporting both standard and Overdrive 1-Wire
communication speeds. To optimize 1-Wire
waveform generation, the DS2482-800 performs
slew-rate control on rising and falling 1-Wire edges
and has a programmable feature to mask the fast
presence pulse edge that some 1-Wire slave devices
can generate. Programmable strong pullup features
support 1-Wire power delivery to 1-Wire devices such
as EEPROMs and sensors. The DS2482-800
combines these features with eight independent 1Wire I/O channels. The I²C slave address assignment
is controlled by three binary address inputs, resolving
potential conflicts with other I²C slave devices in the
system.
§
I²C Host Interface, Supports 100kHz and 400kHz
I²C Communication Speeds
1-Wire Master I/O with Selectable Active or
Passive 1-Wire Pullup
Provides Reset/Presence, 8-Bit, Single-Bit, and
Three-Bit 1-Wire I/O Sequences
Eight Channels of Independently Operated
1-Wire I/O
Standard and Overdrive 1-Wire Communication
Speeds
Slew Controlled 1-Wire Edges
Selectable 1-Wire Slave Presence Pulse Falling
Edge Masking to Control Fast Edges on the
1-Wire Line
Supports Low-Impedance 1-Wire Strong Pullup
for EEPROMs, Temp Sensors, or Other 1-Wire
Slaves That Have Momentary High Current
Modes
Three Address Inputs for I²C Address
Assignment
Wide Operating Range: 2.9V to 5.5V, -40°C to
+85°C
16-Pin SO Package (150 mil)
§
§
§
§
§
§
§
§
§
§
ORDERING INFORMATION
APPLICATIONS
§
§
§
§
§
FEATURES
PART
DS2482S-800
DS2482S-800/T&R
Wireless Base Stations
Central Office Switches
PBXs
Rack-Based Servers
Medical Clinical Diagnostic Equipment
VCC
(I²C port)
SDA
SCL
µC
AD0
AD1
AD2
Rt
IO0
IO1
IO2
IO3
IO4
IO5
IO6
IO7
1-Wire lines
PIN-PACKAGE
16 SO (150 mil )
16 SO (150 mil )
PIN CONFIGURATION
TYPICAL OPERATING CIRCUIT
RP
TEMP RANGE
-40 to +85°C
-40 to +85°C
1-Wire
Device #1
1-Wire
Device #2
DS2482 800
IO3
1
16
IO2
SCL
2
15
IO1
SDA
3
14
IO0
VDD
4
13
GND
NC
5
12
IO4
AD2
6
11
IO5
AD1
7
10
IO6
AD0
8
9
IO7
I2C is a trademark of Philips Corp. Purchase of I2C components from Maxim Integrated Products, Inc., or one of its sublicensed Associated
Companies, conveys a license under the Philips I2C Patent Rights to use these components in an I2C system, provided that the system
conforms to the I2C Standard Specification as defined by Philips.
1-Wire is a registered trademark of Dallas Semiconductor.
Note: Some revisions of this device may incorporate deviations from published specifications known as errata. Multiple revisions of any device
may be simultaneously available through various sales channels. For information about device errata, click here: www.maxim-ic.com/errata.
1 of 22
REV: 061804
DS2482-800: Eight-Channel 1-Wire Master
ABSOLUTE MAXIMUM RATINGS
Voltage Range on Any Pin Relative to Ground
Maximum Current Into Any Pin
Operating Temperature Range
Junction Temperature
Storage Temperature Range
Soldering Temperature
-0.5V, +6V
±20mA
-40°C to +85°C
+150°C
-55°C to +125°C
See IPC/JEDEC J-STD-020A
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only,
and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is
not implied. Exposure to the absolute maximum rating conditions for extended periods may affect device.
ELECTRICAL CHARACTERISTICS
(VCC = 2.9V to 5.5V, TA = -40°C to +85°C.)
PARAMETER
SYMBOL
Supply Voltage
VCC
Operating Current
ICC
1-Wire Input High
VIH1
1-Wire Input Low
VIL1
CONDITIONS
RWPU
(Note 4)
VOL1
At 4mA load
Standard (Notes 4, 5)
Overdrive (Notes 4, 5)
Strong Pullup Voltage Drop
DVSTRPU
3.3V Pulldown Slew Rate
(Note 6)
PDSRC
5V Pulldown Slew Rate
(Note 6)
PDSRC
3.3V Pullup Slew Rate (Note 6)
PUSRC
5V Pullup Slew Rate (Note 6)
PUSRC
Power-On Reset Trip Point
MAX
2.9
4.5
3.3
5.0
3.7
5.5
0.75
1.9
3.4
1-Wire Output Low
tAPUOT
TYP
3.3V
5V
(Note 1)
3.3V (Notes 2, 3)
5V (Notes 2, 3)
3.3V (Notes 2, 3)
5V (Notes 2, 3)
1-Wire Weak Pullup Resistor
Active Pullup On Time
MIN
V
mA
V
0.75
1.0
V
800
1675
W
V
2.3
0.4
0.4
2.7
0.6
2.5
0.5
VCC ³ 3.2V, 1.5mA load
0.3
VCC ³ 5.2V, 3mA load
0.5
Standard (3.3V ±5%)
Overdrive (3.3V ±5%)
Standard (5.0V ±5%)
Overdrive (5.0V ±5%)
Standard (3.3V ±5%)
Overdrive (3.3V ±5%)
Standard (5.0V ±5%)
Overdrive (5.0V ±5%)
UNITS
1
5
2
10
0.8
1.3
2.7
3.4
4.2
22.1
6.5
40
4
6
20
31
VPOR
µs
V
V/µs
V/µs
V/µs
V/µs
2.2
V
µs
1-Wire TIMING (Note 16) See Figures 3, 5, 6, and 7
Write 1/Read Low Time
tW1L
Read Sample Time
tMSR
1-Wire Time Slot
tslot
Fall Time High-to-Low at
Standard Speed (Note 6)
Fall Time High-to-Low at
Overdrive Speed (Note 6)
tF1
Standard
Overdrive
7.6
0.9
8
1
8.4
1.1
Standard
Overdrive
Standard
Overdrive
3.3V to 0V (Note 5)
5.5V to 0V (Note 5)
3.3V to 0V (Note 5)
13.3
1.4
65.8
9.9
0.6
0.7
0.1
14
1.5
69.3
10.5
15
1.8
72.8
11.0
2.6
2.2
0.5
5.5V to 0V (Note 5)
0.1
2 of 22
0.4
µs
µs
µs
DS2482-800: Eight-Channel 1-Wire Master
PARAMETER
SYMBOL
Write 0 Low Time
tW0L
Write 0 Recovery Time
tREC0
Reset Low Time
tRSTL
Presence-Detect Sample Time
tMSP
Sampling for Short and
Interrupt
tSI
Reset High Time
tRSTH
Presence Pulse Mask Start
Presence Pulse Mask Stop
I²C-Pins (Note 8) See Figure 10
tppm1
tppm2
LOW Level Input Voltage
VIL
CONDITIONS
Standard
Overdrive
Standard
Overdrive
Standard
Overdrive
Standard
Overdrive
Standard
Overdrive
Standard
Overdrive
(Note 7)
(Note 7)
VCC = 2.9V to 3.7V
MIN
TYP
MAX
60
7.1
5.0
2.8
570
68.4
66.5
7.1
7.6
0.7
554.8
70.3
9.5
57
64
7.5
5.3
3.0
600
72
70
7.5
8
0.75
584
74
10
60
68
7.9
5.6
3.2
630
75.6
73.5
7.9
8.4
0.8
613.2
77.7
10.5
63
-0.5
VCC = 4.5V to 5.5V
HIGH Level Input Voltage
Hysteresis of Schmitt Trigger
Inputs
LOW Level Output Voltage at
3mA Sink Current
Output Fall Time from VIhmin to
VILmax with a Bus Capacitance
from 10pF to 400pF
Pulse Width of Spikes that are
Suppressed by the Input Filter
Input Current Each I/O Pin with
an Input Voltage Between
0.1VCCmax and 0.9VCCmax
Input Capacitance
SCL Clock Frequency
Hold Time (Repeated) START
Condition. After this Period, the
First Clock Pulse is Generated.
LOW Period of the SCL Clock
HIGH Period of the SCL Clock
Setup Time for a Repeated
START Condition
Data Hold Time
Data Setup Time
Setup Time for STOP Condition
Bus Free Time Between a
STOP and START Condition
Capacitive Load for Each Bus
Line
Oscillator Warm-Up Time
0.7 ×
VCC
0.05 ×
VCC
VIH
Vhys
VOL
tof
tSP
Ii
Ci
fSCL
µs
µs
µs
µs
µs
µs
µs
µs
V
V
V
0.4
V
250
ns
50
ns
-10
10
µA
0
10
400
pF
kHz
60
SDA and SCL pins only
(Notes 9, 10)
0.25 ×
VCC
0.22 ×
VCC
VCC +
0.5V
UNITS
(Note 9)
tHD:STA
0.6
µs
tLOW
tHIGH
1.3
0.6
µs
µs
tSU:STA
0.6
µs
tHD:DAT
tSU:DAT
tSU:STO
(Notes 11, 12)
(Note 13)
tBUF
250
0.6
0.9
µs
ns
µs
1.3
µs
Cb
(Note 14)
400
pF
tOSCWUP
(Note 15)
100
µs
3 of 22
DS2482-800: Eight-Channel 1-Wire Master
Note 1:
Note 2:
Note 3:
Note 4:
Note 5:
Note 6:
Note 7:
Note 8:
Note 9:
Note 10:
Note 11:
Note 12:
Note 13:
Note 14:
Note 15:
Note 16:
Operating current with 1-Wire write byte sequence followed by continuous Read of Status Register at
400KHz in Overdrive.
With standard speed the total capacitive load of the 1-Wire bus should not exceed 1nF, otherwise the
passive pullup on threshold VIL1 may not be reached in the available time. With Overdrive speed the
capacitive load on the 1-Wire bus must not exceed 300pF.
Active pullup guaranteed to turn on between VIL1MAX and VIH1MIN.
Active or resistive pullup choice is configurable.
Fall time high to low (tF1) is derived from PDSRC, referenced from 0.9 × VCC to 0.1 × VCC.
These values apply at full load, i. e., 1nF at standard speed and 0.3nF at Overdrive speed. For
reduced load, the pulldown slew rate is slightly faster.
Presence pulse masking only applies to standard speed.
All I²C timing values are referred to VIHmin and VILmax levels.
Applies to SDA, SCL, and AD0, AD1, AD2.
I/O pins of the DS2482 do not obstruct the SDA and SCL lines if VCC is switched off.
The DS2482 provides a hold time of at least 300ns for the SDA signal (referred to the VIHmin of the SCL
signal) to bridge the undefined region of the falling edge of SCL.
The maximum tHD:DAT has only to be met if the device does not stretch the LOW period (tLOW ) of the
SCL signal.
A Fast-mode I²C-bus device can be used in a standard-mode I²C-bus system, but the requirement
tSU:DAT ³250ns must then be met. This is automatically the case if the device does not stretch the LOW
period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must
output the next data bit to the SDA line tr max + tSU:DAT = 1000 + 250 = 1250ns (according to the
standard-mode I²C-bus specification) before the SCL line is released.
CB = total capacitance of one bus line in pF. If mixed with HS-mode devices, faster fall-times according
to I²C-Bus Specification v2.1 are allowed.
I²C communication should not take place for the max tOSCWUP time following a power-on reset.
Except for tF1, all 1-Wire timing specifications and tAPUOT are derived from the same timing circuit.
Therefore, if one of these parameters is found to be off the typical value, it is safe to assume that all of
these parameters deviate from their typical value in the same direction and by the same degree.
PIN DESCRIPTION
PIN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
NAME
IO3
SCL
SDA
VCC
NC
AD2
AD1
AD0
IO7
IO6
IO5
IO4
GND
IO0
IO1
IO2
FUNCTION
IO Driver for 1-Wire Line #3
I²C Serial Clock Input; must be tied to VCC through a pullup resistor.
I²C Serial Data Input/Output; must be tied to VCC through a pullup resistor.
Power Supply Input
Not Connected
I²C Address Inputs; must be tied to VCC or GND. These inputs determine the I²C slave
address of the device, see Figure 9.
IO Driver for 1-Wire Line #7
IO Driver for 1-Wire Line #6
IO Driver for 1-Wire Line #5
IO Driver for 1-Wire Line #4
Ground Reference
IO Driver for 1-Wire Line #0
IO Driver for 1-Wire Line #1
IO Driver for 1-Wire Line #2
4 of 22
DS2482-800: Eight-Channel 1-Wire Master
Figure 1. Block Diagram
T-Time OSC
Config
Register
SDA
SCL
I²C
Interface
Controller
AD0
AD1
AD2
I/O
Controller
Channel
Select
Status
Register
Read Data
Register
Line
XCVR
IO0
Line
XCVR
IO1
Line
XCVR
IO2
Line
XCVR
IO3
Line
XCVR
IO4
Line
XCVR
IO5
Line
XCVR
IO6
Line
XCVR
IO7
DETAILED DESCRIPTION
The DS2482-800 is a self-timed 8-channel 1-Wire master, which supports advanced 1-Wire waveform features
including standard and Overdrive speeds, active pullup, strong pullup for power delivery, and presence pulse
masking. Once supplied with command and data, the I/O controller of the DS2482 performs time-critical 1-Wire
communication functions such as reset/presence detect cycle, read-byte, write-byte, single-bit R/W and triplet for
ROM Search, without requiring interaction with the host processor. The host obtains feedback (completion of a 1Wire function, presence pulse, 1-Wire short, search direction taken) through the Status Register and data through
the Read Data register. The DS2482 communicates with a host processor through its I²C bus interface in standardmode or in fast-mode. The logic state of three address pins (2 address pins with the 1-channel version) determines
the I²C slave address of the DS2482, allowing up to 8 devices operating on the same bus segment without
requiring a hub.
DEVICE REGISTERS
The DS2482 has four registers that the I²C host can read: Channel Selection, Configuration, Status, and Read
Data. These registers are addressed by a read pointer. The position of the read pointer, i.e., the register that the
host will read in a subsequent read access, is defined by the instruction that the has DS2482 executed last. The
host has read and write access to the Channel Selection and Configuration Registers to select one of several 1Wire channels and to enable certain 1-Wire features.
5 of 22
DS2482-800: Eight-Channel 1-Wire Master
Channel Selection Register
The content of the Channel Selection Register specifies which of the channels is selected and will be the target of
subsequent 1-Wire communication commands. The DS2482-800 supports eight 1-Wire communication channels
IO0 to IO7. Only one of these channels can be active/selected at any time. Once selected, a 1-Wire channel
remains selected until a different channel is selected through the Channel Select command or by initiating a
device reset. After a device reset (power-up cycle or initiated by the Device Reset command) the IO0 channel is
selected.
Configuration Register
The DS2482 supports allows four 1-Wire features that are enabled or selected through the Configuration Register.
These features are:
§ Active Pullup (APU)
§ Presence Pulse Masking (PPM)
§ Strong Pullup (SPU)
§ 1-Wire Speed (1WS)
These features can be selected in any combination. They apply equally to all 1-Wire channels. While APU, PPM
and 1WS maintain their state, SPU returns to its inactive state as soon as the strong pullup has ended.
Configuration Register Bit Assignment
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
1WS
SPU
PPM
APU
1WS
SPU
PPM
APU
After a device reset (power-up cycle or initiated by the Device Reset command) the Configuration Register reads
00h. When writing to the Configuration Register, the new data is accepted only if the upper nibble (bits 7 to 4) is the
one's complement of the lower nibble (bits 3 to 0). When read, the upper nibble is always 0h.
Active Pullup (APU)
The APU bit controls whether an active pullup (controlled slew-rate transistor) or a passive pullup (RWPU resistor)
will be used to drive a 1-Wire line from low to high. When APU = 0, active pullup is disabled (resistor mode). Active
Pullup should be selected if the 1-Wire line has a substantial length (30 meters or more) or if there is a large
number (~20 or more) of devices connected to a 1-Wire line. The active pullup does not apply to the rising
edge of a presence pulse or a recovery after a short on the 1-Wire line.
The circuit that controls rising edges (Figure 2) operates as follows: At t1 the pulldown (from DS2482 or 1-Wire
slave) ends. From this point on the 1-Wire bus is pulled high through RWPU internal to the DS2482. VCC and the
capacitive load of the 1-Wire line determine the slope. In case that active pullup is disabled (APU = 0), the resistive
pullup continues, as represented by the solid line. With active pullup enabled (APU = 1), when at t2 the voltage has
reached a level between VIL1max and VIH1min, the DS2482 actively pulls the 1-Wire line high applying a controlled
slew rate, as represented by the dashed line. The active pullup continues until tAPUOT is expired at t3. From that time
on the resistive pullup will continue.
Figure 2. Rising Edge Pullup
VCC
VIH1MIN
APU = 1
APU = 0
VIL1MAX
0V
1-Wire bus is
discharged
tAPUOT
t1
t2
t3
6 of 22
DS2482-800: Eight-Channel 1-Wire Master
Presence Pulse Masking (PPM)
The PPM bit controls whether the DS2482 will mask the leading edge (falling) of presence pulses. When PPM = 0,
masking is disabled. Presence pulse masking applies only to standard 1-Wire speed (1WS = 0); this bit has no
function if 1WS = 1 (Overdrive speed). Presence pulse masking can improve the performance of large 1-Wire
networks since it prevents the fast falling edge of a presence pulse generated by a 1-Wire slave device from
propagating through the network and getting reflected. Reflections can cause glitches in the network that in turn
may cause slave devices to lose synchronization with the 1-Wire master.
Figure 3 shows the timing references for the PPM. If enabled (PPM = 1), the DS2482 begins pulling the 1-Wire line
low at tPPM1 after the reset low time tRSTL is expired. The pulldown ends at tPPM2, at which a 1-Wire slave, if present,
will be pulling the 1-Wire line low. The falling edge of the presence pulse mask is slew rate controlled.
Figure 3. Presence Pulse Masking
RESET PULSE
PRESENCE PULSE
VCC
APU controlled edge
Resistive
pull-up
0V
tPPM1
tPPM2
tRSTL
Pull-up
tRSTH
DS2482 Pull-down
1-W Slave Pull-down
DS2482 pull-down with PPM = 1; Standard speed only
Strong Pullup (SPU)
The SPU bit controls whether the DS2482 applies a low-impedance pullup to VCC on the 1-Wire line after the last
bit of either a 1-Wire Write Byte command or after a 1-Wire Single Bit command has completed. The strong
pullup feature is commonly used with 1-Wire EEPROM devices when copying scratchpad data to the main memory
or when performing a SHA-1 computation, and with parasitically powered temperature sensors or A-to-D
converters. The respective device data sheets specify the location in the communications protocol after which the
strong pullup should be applied. The SPU bit in the configuration register of the DS2482 must be set immediately
prior to issuing the command that puts the 1-Wire device into the state where it needs the extra power.
If SPU is 1, the DS2482 applies active pullup to the rising edge of the time slot in which the strong pullup starts,
regardless of the APU bit setting. However, in contrast to setting APU = 1 for active pullup, the low-impedance
pullup will not end after tAPUOT is expired. Instead, as shown in Figure 4, the low-impedance pullup remains active
until: a) the next 1-Wire communication command (the typical case), b) by writing to the Configuration Register with
the SPU bit being 0 (alternative), or c) by issuing the Device Reset command. Additionally, when the pullup ends,
the SPU bit is automatically reset to 0. Using the strong pullup does not change the state of the APU bit in the
Configuration Register.
7 of 22
DS2482-800: Eight-Channel 1-Wire Master
Figure 4. Low-Impedance Pullup Timing
Vcc
Last bit of 1-Wire Write Byte or 1-Wire Single Bit Function
Write 1
Edges with
active pull-up
Write 0
0V
Next
Time
Slot
tSLOT
Pull-up
DS2482 Pull-down
DS2482 Low Impedance Pull-up
1-Wire Speed (1WS)
The 1WS bit determines the timing of any 1-Wire communication generated by the DS2482. All 1-Wire slave
devices support standard speed (1WS = 0), where the transfer of a single bit (tSLOT in Figure 4) is completed within
65µs. Many 1-Wire device can also communicate at a higher data rate, called Overdrive speed. To change from
standard to Overdrive speed, a 1-Wire device needs to receive an Overdrive Skip ROM or Overdrive Match ROM
command, as explained in the device data sheets. The change in speed occurs immediately after the 1-Wire device
has received the speed-changing command code. The DS2482 must take part in this speed change to stay
synchronized. This is accomplished by writing to the Configuration Register with the 1WS bit being 1 immediately
after the 1-Wire Byte command that changes the speed of a 1-Wire device. Writing to the Configuration Register
with the 1WS bit being 0 followed by a 1-Wire Reset command changes the DS2482 and any 1-Wire devices on
the active 1-Wire line back to standard speed.
Status Register
The read-only Status Register is the general means for the DS2482 to report bit-type data from the 1-Wire side, 1Wire busy status and its own reset status to the host processor. All 1-Wire communication commands and the
Device Reset command position the read pointer at the Status Register for the host processor to read with minimal
protocol overhead. Status information is updated during the execution of certain commands only. Details are given
in the description of the various status bits below.
Status Register Bit Assignment
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
DIR
TSB
SBR
RST
LL
SD
PPD
1WB
1-Wire Busy (1WB)
The 1WB bit reports to the host processor whether the 1-Wire line is busy. During 1-Wire communication 1WB is 1;
once the command is completed, 1WB returns to its default 0. Details on when 1WB changes state and for how
long it remains at 1 are found in the Function Commands section.
Presence Pulse Detect (PPD)
The PPD bit is updated with every 1-Wire Reset command. If the DS2482 detects a presence pulse from a 1-Wire
device at tMSP during the Presence Detect cycle, the PPD bit will be set to 1. This bit will return to its default 0 if
there is no presence pulse or if the 1-Wire line is shorted during a subsequent 1-Wire Reset command.
Short Detected (SD)
The SD bit is updated with every 1-Wire Reset command. If the DS2482 detects a logic 0 on the 1-Wire line at tSI
during the Presence Detect cycle, the SD bit will be set to 1. This bit will return to its default 0 with a subsequent 1Wire Reset command provided that the short has been removed. If SD is 1, PPD will be 0. The DS2482 cannot
distinguish between a short and a DS1994 or DS2404 signaling a 1-Wire interrupt. For this reason, if a
DS2404/DS1994 is used in the application, the interrupt function must be disabled. The interrupt signaling is
explained in the respective device data sheets.
8 of 22
DS2482-800: Eight-Channel 1-Wire Master
Logic Level (LL)
The LL bit reports the logic state of the active 1-Wire line without initiating any 1-Wire communication. The 1-Wire
line is sampled for this purpose every time the Status Register is read. The sampling and updating of the LL bit
takes place when the host processor has addressed the DS2482 in read mode (during the acknowledge cycle),
provided that the Read Pointer is positioned at the Status Register.
Device Reset (RST)
If the RST bit is 1, the DS2482 has performed an internal reset cycle, either caused by a power-on reset or from
executing the Device Reset command. The RST bit is cleared automatically when the DS2482 executes a Write
Configuration command to restore the selection of the desired 1-Wire features.
Single Bit Result (SBR)
The SBR bit reports the logic state of the active 1-Wire line sampled at tMSR of a 1-Wire Single Bit command or the
first bit of a 1-Wire Triplet command. The power-on default of SBR is 0. If the 1-Wire Single Bit command sends a
0-bit, SBR should be 0. With a 1-Wire Triplet command, SBR could be 0 as well as 1, depending on the response
of the 1-Wire devices connected. The same result applies to a 1-Wire Single Bit command that sends a 1-bit.
Triplet Second Bit (TSB)
The TSB bit reports the logic state of the active 1-Wire line sampled at tMSR of the second bit of a 1-Wire Triplet
command. The power-on default of TSB is 0. This bit is updated only with a 1-Wire Triplet command and has no
function with other commands.
Branch Direction Taken (DIR)
Whenever a 1-Write Triplet command is executed, this bit reports to the host processor the search direction that
was chosen by the 3rd bit of the triplet. The power-on default of DIR is 0. This bit is updated only with a 1-Wire
Triplet command and has no function with other commands. For additional information see the description of the 1Wire Triplet command and the Dallas Application Note 187, "1-Wire Search Algorithm".
FUNCTION COMMANDS
The DS2482 understands 9 function commands, which fall into four categories: device control, I²C communication,
1-Wire setup and 1-Wire communication. The feedback path to the host is controlled by a read pointer, which is set
automatically by each function command for the host to efficiently access relevant information. The host processor
sends these commands and applicable parameters as strings of one or two bytes using the I²C interface. The I²C
protocol requires that each byte be acknowledged by the receiving party to confirm acceptance or not be
acknowledged to indicate an error condition (invalid code or parameter) or to end the communication. Details of the
I²C protocol including acknowledge are found in the I²C interface description of this document.
Device Reset
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
F0h
None
Performs a global reset of device state machine logic, which in turn
selects IO0 as the active 1-Wire channel.
Terminates any ongoing 1-Wire communication.
Device initialization after power-up; re-initialization (reset) as desired.
None (can be executed at any time)
None
Maximum 525ns, counted from falling SCL edge of the command code
acknowledge bit.
Ends maximum 262.5ns after the falling SCL edge of the command code
acknowledge bit.
Status Register (for busy polling)
RST set to 1,
1WB, PPD, SD, SBR, TSB, DIR set to 0
1WS, APU, PPM, SPU set to 0
9 of 22
DS2482-800: Eight-Channel 1-Wire Master
Set Read Pointer
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
E1h
Pointer Code
Sets the read pointer to the specified register. Overwrites the read pointer
position of any 1-Wire communication command in progress.
To prepare reading the result from a 1-Wire Byte command; random read
access of registers.
None (can be executed at any time)
If the pointer code is not valid, the pointer code will not be acknowledged
and the command will be ignored.
None; the read pointer is updated on the rising SCL edge of the pointer
code acknowledge bit.
Not Affected
As Specified by the Pointer Code
None
None
Valid Pointer Codes
Register Selection
Code
Status Register
F0h
Read Data Register
E1h
Channel Selection Register
D2h
Configuration Register
C3h
Write Configuration
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
D2h
Configuration Byte
Writes a new configuration byte. The new settings take effect immediately.
NOTE: When writing to the Configuration Register, the new data is
accepted only if the upper nibble (bits 7 to 4) is the one's complement of
the lower nibble (bits 3 to 0). When read, the upper nibble is always 0h.
Defining the features for subsequent 1-Wire communication.
1-Wire activity must have ended before the DS2482 can process this
command.
Command code and parameter will not be acknowledged if 1WB = 1 at the
time the command code is received and the command will be ignored.
None; the configuration register is updated on the rising SCL edge of the
configuration byte acknowledge bit.
None
Configuration Register (to verify write)
RST set to 0
1WS, SPU, PPM, APU updated
10 of 22
DS2482-800: Eight-Channel 1-Wire Master
Channel Select
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
C3h
Selection Code
Sets the 1-Wire IO channel for subsequent 1-Wire communication
commands. NOTE: The selection code read back is different from the
code written. See the table below for the respective values.
Selecting a 1-Wire IO channel other that IO0; randomly selecting one of
the available 1-Wire IO channels.
1-Wire activity must have ended before the DS2482 can process this
command.
Command code and parameter will not be acknowledged if 1WB = 1 at the
time the command code is received and the command will be ignored.
If the selection code is not valid, the selection code will not be
acknowledged and the command will be ignored.
None; the channel selection register is updated on the rising SCL edge of
the selection code acknowledge bit.
None
Channel Selection Register (to verify write)
None
None
Valid Channel Selection Codes
Channel Selection
Code (to be written)
Code (read back)
Channel IO0 (default)
F0h
B8h
Channel IO1
E1h
B1h
Channel IO2
D2h
AAh
Channel IO3
C3h
A3h
Channel IO4
B4h
9Ch
Channel IO5
A5h
95h
Channel IO6
96h
8Eh
Channel IO7
87h
87h
Figure 5. 1-Wire Reset/Presence Detect Cycle
RESET PULSE
PRESENCE/SHORT DETECT
tSI
VCC
tMSP
VIH1
VIL1
0V
tF1
tRSTL
Pullup
tRSTH
DS2482 Pulldown
1-W Slave Pulldown
For presence-pulse masking and pullup details see Figure 3.
11 of 22
DS2482-800: Eight-Channel 1-Wire Master
1-Wire Reset
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
B4h
None
Generates a 1-Wire Reset/Presence Detect cycle (Figure 5) at the
selected IO channel. The state of the 1-Wire line is sampled at tSI and tMSP
and the result is reported to the host processor through the status register,
bits PPD and SD.
To initiate or end any 1-Wire communication sequence.
1-Wire activity must have ended before the DS2482 can process this
command.
Command code will not be acknowledged if 1WB = 1 at the time the
command code is received and the command will be ignored.
tRSTL + tRSTH + maximum 262.5ns, counted from the falling SCL edge of the
command code acknowledge bit.
Begins maximum 262.5ns after the falling SCL edge of the command
code acknowledge bit.
Status Register (for busy polling)
1WB (set to 1 for tRSTL + tRSTH),
PPD is updated at tRSTL + tMSP,
SD is updated at tRSTL + tSI
1WS, PPM, APU apply
1-Wire Single Bit
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
87h
Bit Byte
Generates a single 1-Wire time slot with a bit value ‘V’ as specified by the
bit byte at the selected 1-Wire IO channel. A ‘V’ value of 0b will generate a
write-zero time slot (Figure 6), a value of 1b will generate a write one slot,
which also functions as a read data time slot (Figure 7). In either case the
logic level at the 1-Wire line is tested at tMSR and SBR is updated.
To perform single bit writes or reads on a 1-Wire IO channel when single
bit communication is necessary (the exception).
1-Wire activity must have ended before the DS2482 can process this
command.
Command code and bit byte will not be acknowledged if 1WB = 1 at the
time the command code is received and the command will be ignored.
tSLOT + maximum 262.5ns, counted from the falling SCL edge of the first
bit (MS bit) of the bit byte.
Begins maximum 262.5ns after the falling SCL edge of the MS bit of the
bit byte.
Status Register (for busy polling and data reading)
1WB (set to 1 for tSLOT)
SBR is updated at tMSR
DIR (may change its state)
1WS, APU, SPU apply
Bit Allocation in the Bit Byte
bit 7
bit 6
V
x
x = don’t care
bit 5
x
bit 4
x
bit 3
x
bit 2
x
bit 1
x
bit 0
x
12 of 22
DS2482-800: Eight-Channel 1-Wire Master
Figure 6. Write-0 Time Slot
Vcc
tW0L
tMSR
VIH1
VIL1
0V
tF1
tSLOT
Pullup (see Fig. 2)
tREC0
DS2482 Pulldown
Figure 7. Write-1 and Read-Data Time Slot
tW1L
Vcc
tMSR
VIH1
VIL1
0V
tF1
tSLOT
Pullup (see Fig. 2)
DS2482 Pulldown
1-W Slave Pulldown
NOTE on Figure 7: Depending on its internal state, a 1-Wire slave device will transmit data to its master (e.g., the
DS2482). When responding with a 0, a 1-Wire slave will start pulling the line low during tW1L; its internal timing
generator determines when this pulldown ends and the voltage starts rising again. When responding with a 1, a 1Wire slave will not hold the line low at all, and the voltage starts rising as soon as tW1L is over. 1-Wire device data
sheets use the term tRL instead of tW1L to describe a read-data time slot. Technically, tRL and tW1L have identical
specifications and cannot be distinguished from each other.
1-Wire Write Byte
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
A5h
Data Byte
Writes single data byte to selected 1-Wire IO channel.
To write commands or data to a 1-Wire IO channel; equivalent to
executing eight 1-Wire Single Bit commands, but faster due to less I²C
traffic.
1-Wire activity must have ended before the DS2482 can process this
command.
Command code and data byte will not be acknowledged if 1WB = 1 at the
time the command code is received and the command will be ignored.
8 × tSLOT + maximum 262.5ns, counted from falling edge of the last bit (LS
bit) of the data byte.
Begins maximum 262.5ns after falling SCL edge of the LS bit of the data
byte (i.e., before the data byte acknowledge).
NOTE: The bit order on the I²C bus and the 1-Wire line is different.
(1-Wire: LS-bit first; I²C: MS-bit first) Therefore, 1-Wire activity cannot
begin before the DS2482 has received the full data byte.
Status Register (for busy polling)
1WB (set to 1 for 8 × tSLOT)
1WS, SPU, APU apply
13 of 22
DS2482-800: Eight-Channel 1-Wire Master
1-Wire Read Byte
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
96h
None
Generates eight read data time slots on the selected 1-Wire IO channel
and stores result in the Read Data Register.
To read data from a 1-Wire IO channel; equivalent to executing eight 1Wire Single Bit commands with V = 1 (write 1 time slot), but faster due to
less I²C traffic.
1-Wire activity must have ended before the DS2482 can process this
command.
Command code will not be acknowledged if 1WB = 1 at the time the
command code is received and the command will be ignored.
8 × tSLOT + maximum 262.5ns, counted from the falling SCL edge of the
command code acknowledge bit.
Begins maximum 262.5ns after the falling SCL edge of the command
code acknowledge bit.
Status Register (for busy polling)
NOTE: To read the data byte received from the 1-Wire IO channel, issue
the Set Read Pointer command and select the Read Data Register. Then
access the DS2482 in read mode.
1WB (set to 1 for 8 × tSLOT)
1WS, APU apply
1-Wire Triplet
Command Code
Command Parameter
Description
Typical Use
Restriction
Error Response
Command Duration
1-Wire Activity
Read Pointer Position
Status Bits Affected
Configuration Bits Affected
78h
Direction Byte
Generates three times slots, two read-time slots and one-write time slot, at
the selected 1-Wire IO channel. The type of write-time slot depends on the
result of the read-time slots and the direction byte.
The direction byte determines the type of write-time slot if both read-time
slots are 0 (a typical case). In this case the DS2482 will generate a write-1
time slot if V = 1 and a write-0 time slot if V = 0.
If the read-time slots are 0 and 1, there will follow a write 0 time slot.
If the read-time slots are 1 and 0, there will follow a write 1 time slot.
If the read-time slots are both 1 (error case), the subsequent write time
slot will be a write 1.
To perform a 1-Wire Search ROM sequence; a full sequence requires this
command to be executed 64 times to identify and address one device.
1-Wire activity must have ended before the DS2482 can process this
command.
Command code and direction byte will not be acknowledged if 1WB = 1 at
the time the command code is received and the command will be ignored.
3 × tSLOT + maximum 262.5ns, counted from the falling SCL edge of the
first bit (MS bit) of the direction byte.
Begins maximum 262.5ns after the falling SCL edge of the MS bit of the
direction byte.
Status Register (for busy polling)
1WB (set to 1 for 3 × tSLOT)
SBR is updated at the first tMSR
TSB and DIR are updated at the second tMSR (i.e., at tSLOT + tMSR)
1WS, APU apply
14 of 22
DS2482-800: Eight-Channel 1-Wire Master
Bit Allocation in the Direction Byte
bit 7
bit 6
V
x
x = don’t care
bit 5
x
bit 4
x
bit 3
x
bit 2
x
bit 1
x
bit 0
x
I²C INTERFACE
General Characteristics
The I²C bus uses a data line (SDA) plus a clock signal (SCL) for communication. Both SDA and SCL are
bidirectional lines, connected to a positive supply voltage through a pullup resistor. When there is no
communication, both lines are HIGH. The output stages of devices connected to the bus must have an open-drain
or open-collector to perform the wired-AND function. Data on the I²C bus can be transferred at rates of up to
100kbps in the Standard-mode, up to 400kbps in the Fast-mode. The DS2482 works in both modes.
A device that sends data on the bus is defined as a transmitter, and a device receiving data as a receiver. The
device that controls the communication is called a “master.” The devices that are controlled by the master are
“slaves.” To be individually accessed, each device must have a slave address that does not conflict with other
devices on the bus.
Data transfers may be initiated only when the bus is not busy. The master generates the serial clock (SCL),
controls the bus access, generates the START and STOP conditions, and determines the number of data bytes
transferred between START and STOP (Figure 8). Data is transferred in bytes with the most significant bit being
transmitted first. After each byte follows an acknowledge bit to allow synchronization between master and slave.
Figure 8. I²C Protocol Overview
R/W
MS-bit
ACK
bit
ACK
bit
SDA
Slave Address
Acknowledgment
from Receiver
SCL
1
Idle
START
Condition
2
6
7
8
9
ACK
Repeated if more bytes
are transferred
1
2
8
9
ACK
STOP Condition
Repeated START
Condition
Slave Address
The slave address to which the DS2482 responds is shown in Figure 9. The logic states at the address pins AD0,
AD1 and AD2 determine the value of the address bits A0, A1, and A2. The address pins allow the device to
respond to one of eight possible slave addresses. The slave address is part of the slave-address/control byte. The
last bit of the slave-address/control byte (R/W) defines the data direction. When set to a 0, subsequent data will
flow from master to slave (write access); when set to a 1, data will flow from slave to master (read access).
15 of 22
DS2482-800: Eight-Channel 1-Wire Master
Figure 9. DS2482 Slave Address
7-Bit Slave Address
A6
A5
A4
A3
0
1
1
0
Most Significant Bit
A2
A1
A0
AD2 AD1 AD0 R/W
AD2, AD1, AD0
Pin States
Determines
Read or Write
I²C Definitions
The following terminology is commonly used to describe I²C data transfers. The timing references are defined in
Figure 10.
Bus Idle or Not Busy: Both, SDA and SCL, are inactive and in their logic HIGH states.
START Condition: To initiate communication with a slave, the master has to generate a START condition. A
START condition is defined as a change in state of SDA from HIGH to LOW while SCL remains HIGH.
STOP Condition: To end communication with a slave, the master has to generate a STOP condition. A STOP
condition is defined as a change in state of SDA from LOW to HIGH while SCL remains HIGH.
Repeated START Condition: Repeated starts are commonly used for read accesses to select a specific data
source or address to read from. The master can use a repeated START condition at the end of a data transfer to
immediately initiate a new data transfer following the current one. A repeated START condition is generated the
same way as a normal START condition, but without leaving the bus idle after a STOP condition.
Data Valid: With the exception of the START and STOP condition, transitions of SDA may occur only during the
LOW state of SCL. The data on SDA must remain valid and unchanged during the entire high pulse of SCL plus
the required setup and hold time (tHD:DAT after the falling edge of SCL and tSU:DAT before the rising edge of SCL, see
Figure 10). There is one clock pulse per bit of data. Data is shifted into the receiving device during the rising edge
of the SCL.
When finished with writing, the master must release the SDA line for a sufficient amount of setup time (minimum
tSU:DAT + tR in Figure 10) before the next rising edge of SCL to start reading. The slave shifts out each data bit on
SDA at the falling edge of the previous SCL pulse and the data bit is valid at the rising edge of the current SCL
pulse. The master generates all SCL clock pulses, including those needed to read from a slave.
Acknowledge: Usually, a receiving device, when addressed, is obliged to generate an acknowledge after the
receipt of each byte. The master must generate a clock pulse that is associated with this acknowledge bit. A device
that acknowledges must pull SDA LOW during the acknowledge clock pulse in such a way that SDA is stable LOW
during the HIGH period of the acknowledge-related clock pulse plus the required setup and hold time (tHD:DAT after
the falling edge of SCL and tSU:DAT before the rising edge of SCL).
Not Acknowledged by Slave: A slave device may be unable to receive or transmit data, e.g., because it is busy
performing some real-time function. In this case the slave device will not acknowledge its slave address and leave
the SDA line HIGH.
A slave device that is ready to communicate will acknowledge at least its slave address. However, some time later
the slave may refuse to accept data, e.g., because of an invalid command code or parameter. In this case the slave
device will not acknowledge any of the bytes that it refuses and will leave SDA HIGH. In either case, after a slave
has failed to acknowledge, the master first needs to generate a repeated START condition or a STOP condition
followed by a START condition to begin a new data transfer.
16 of 22
DS2482-800: Eight-Channel 1-Wire Master
Not Acknowledged by Master: At some time when receiving data, the master must signal an end of data to the
slave device. To achieve this, the master does not acknowledge the last byte that it has received from the slave. In
response, the slave releases SDA, allowing the master to generate the STOP condition.
Figure 10. I²C Timing Diagram
SDA
tBUF
tHD:STA
tF
tLOW
tSP
SCL
tHD:STA
tR
tSU:STA
tHIGH
tHD:DAT
Spike
Suppression
tSU:STO
tSU:DAT
Repeated
START
STOP START
NOTE: Timing is referenced to VILMAX and VIHMIN.
Writing to the DS2482
To write to the DS2482, the master must access the device in write mode, i.e., the slave address must be sent with
the direction bit set to 0. The next byte to be sent is a command code, which, depending on the command, may be
followed by a command parameter. The DS2482 will acknowledge valid command codes and expected/valid
command parameters. Additional bytes or invalid command parameters will never be acknowledged.
Reading from the DS2482
To read from the DS2482, the master must access the device in read mode, i. e., the slave address must be sent
with the direction bit set to 1. The read pointer determines the register that the master will read from. The master
may continue reading the same register over and over again, without having to re-address the device, e. g., to
watch the 1WB changing from 1 to 0. To read from a different register, the master must issue the Set Read Pointer
command and then access the DS2482 again in read mode.
I²C Communication—Legend
SYMBOL
S
DESCRIPTION
SYMBOL
DESCRIPTION
START Condition
DRST
Command "Device Reset", F0h
AD,0
Select DS2482 for Write Access
WCFG
Command "Write Configuration", D2h
AD,1
Select DS2482 for Read Access
CHSL
Command "Channel Select", C3h
Sr
Repeated START Condition
SRP
Command "Set Read Pointer", E1h
P
STOP Condition
1WRS
Command "1-Wire Reset", B4h
A
Acknowledged
1WWB
Command "1-Wire Write Byte", A5h
A\
Not Acknowledged
1WRB
Command "1-Wire Read Byte", 96h
Bus Not Busy
1WSB
Command "1-Wire Single Bit", 87h
(Idle)
<byte>
Transfer of 1 Byte
1WT
17 of 22
Command "1-Wire Triplet", 78h
DS2482-800: Eight-Channel 1-Wire Master
Data Direction Codes
Master-to-Slave
Slave-to-Master
I²C Communication Examples
Device Reset, e.g., after power-up
S
AD,0
A
DRST
A
Sr
AD,1
A
<byte>
A\
P
This example includes an optional read access to verify the success of the command.
Write Configuration, e.g., before starting 1-Wire activity power-up
Case A: 1-Wire idle (1WB = 0)
S
AD,0
A
WCFG
A
<byte>
A
Sr
AD,1
A
<byte>
A\
P
This example includes an optional read access to verify the success of the command.
Case B: 1-Wire busy (1WB = 1)
S
AD,0
A
WCFG
A\
P
The master should stop and restart as soon as the DS2482 does not acknowledge the command code.
Channel Select, e.g., to select another 1-Wire channel
Case A: 1-Wire idle (1WB = 0)
S
AD,0
A
CHSL
A
E1h
A
Sr
AD,1
A
<byte>
A\
P
E1h is the valid channel selection code for IO1. This example includes an optional read access to verify the
success of the command.
Case B: 1-Wire idle (1WB = 0), invalid channel selection code
S
AD,0
A
CHSL
A
E5h
A\
P
E5h is an invalid channel selection code.
Case C: 1-Wire busy (1WB = 1)
S
AD,0
A
CHSL
A\
P
The master should stop and restart as soon as the DS2482 does not acknowledge the command code.
Set Read Pointer, e.g., to read from another register
Case A: valid read pointer code
S
AD,0
A
SRP
A
C3h
A
P
C3h is the valid read pointer code for the configuration register.
Case B: invalid read pointer code
S
AD,0
A
SRP
A
E5h
A\
E5h is an invalid read pointer code.
18 of 22
P
DS2482-800: Eight-Channel 1-Wire Master
1-Wire Reset, e.g., to begin or end 1-Wire communication
Case A: 1-Wire idle (1WB = 0), no busy polling to read the result
S
AD,0
A
1WRS
A
P
(Idle)
S
AD,1
A
<byte>
A\
P
In the first cycle, the master sends the command; then the master waits (Idle) for the 1-Wire Reset to complete. In
the second cycle the DS2482 is accessed to read the result of the 1-Wire Reset from the Status Register.
Case B: 1-Wire idle (1WB = 0), busy polling until the 1-Wire Command is completed, then read the result
S
AD,0
A
1WRS
A
Sr
AD,1
A
<byte>
A
<byte>
A\
P
Repeat until the 1WB bit has changed to 0
Case C: 1-Wire busy (1WB = 1)
S
AD,0
A
1WRS
A\
P
The master should stop and restart as soon as the DS2482 does not acknowledge the command code.
1-Wire Write Byte, e.g., to send a command code to a 1-Wire IO channel
Case A: 1-Wire idle (1WB = 0), no busy polling
S
AD,0
A
1WWB
A
33h
A
P
(Idle)
33h is the valid 1-Wire ROM function command for Read ROM. The idle time is needed for the 1-Wire function to
complete. There is no data read back from the 1-Wire line with this command.
Case B: 1-Wire idle (1WB = 0), busy polling until the 1-Wire Command is completed.
S
AD,0
A
1WWB
A
33h
Sr
Repeat until the 1WB
bit has changed to 0
A
AD,1
A
<byte>
A
<byte>
A\
P
When 1WB has changed from 1 to 0, the 1-Wire Write Byte command is completed.
Case C: 1-Wire busy (1WB = 1)
S
AD,0
A
1WWB
A\
P
The master should stop and restart as soon as the DS2482 does not acknowledge the command code.
1-Wire Read Byte, e. g., to read a byte from a 1-Wire IO channel
Case A: 1-Wire idle (1WB = 0), no busy polling, set read pointer after idle time.
S
AD,0
A
1WRB
A
P
(Idle)
S
AD,0
A
SRP
A
E1h
A
Sr
AD,1
A
<byte>
A\
P
The idle time is needed for the 1-Wire function to complete. Then set the read pointer to the read data register
(code E1h) and access the device again to read the data byte that was obtained from the 1-Wire IO channel.
Case B: 1-Wire idle (1WB = 0), no busy polling, set read pointer before idle time.
S
AD,0
A
1WRB
A
Sr
(Idle)
AD,0
S
A
AD,1
SRP
A
A
<byte>
E1h
A\
A
P
P
The read pointer is set to the read data register (code E1h) while the 1-Wire Read Byte command is still in
progress. Then, after the 1-Wire function is completed, the device is accessed to read the data byte that was
obtained from the 1-Wire IO channel.
19 of 22
DS2482-800: Eight-Channel 1-Wire Master
Case C: 1-Wire idle (1WB = 0), busy polling until the 1-Wire Command is completed.
S
AD,0
A
1WRB
A
Sr
Sr
AD,0
A
SRP
A
AD,1
E1h
A
A
<byte>
Sr
A
AD,1
Repeat until the 1WB
bit has changed to 0
<byte>
A
A\
<byte>
A\
P
Poll the Status Register until the 1WB bit has changed from 1 to 0. Then set the read pointer to the read data
register (code E1h) and access the device again to read the data byte that was obtained from the 1-Wire IO
channel.
Case D: 1-Wire busy (1WB = 1)
S
AD,0
A
1WRB
A\
P
The master should stop and restart as soon as the DS2482 does not acknowledge the command code.
1-Wire Single Bit, e. g., to generate a single time slot on a 1-Wire IO channel
Case A: 1-Wire idle (1WB = 0), no busy polling
S
AD,0
A
1WSB
A
<byte>
S
A
AD,1
P
A
(Idle)
<byte>
A\
P
The idle time is needed for the 1-Wire function to complete. Then access the device in read mode to get the result
from the 1-Wire single-bit command.
Case B: 1-Wire idle (1WB = 0), busy polling until the 1-Wire Command is completed.
S
AD,0
A
1WSB
A
<byte>
A
Sr
AD,1
A
<byte>
A
Repeat until the 1WB
bit has changed to 0
<byte>
A\
P
When 1WB has changed from 1 to 0, the Status Register holds the valid result of the 1-Wire Single Bit command.
Case C: 1-Wire busy (1WB = 1)
S
AD,0
A
1WSB
A\
P
The master should stop and restart as soon as the DS2482 does not acknowledge the command code.
1-Wire Triplet, e.g., to perform a Search ROM function on a 1-Wire IO channel
Case A: 1-Wire idle (1WB = 0), no busy polling
S
AD,0
A
1WT
A
<byte>
S
A
AD,1
P
A
(Idle)
<byte>
A\
P
The idle time is needed for the 1-Wire function to complete. Then access the device in read mode to get the result
from the 1-Wire Triplet command.
Case B: 1-Wire idle (1WB = 0), busy polling until the 1-Wire Command is completed.
S
AD,0
A
1WT
A
<byte>
Sr
Repeat until the 1WB
bit has changed to 0
A
AD,1
A
<byte>
A
<byte>
A\
P
When 1WB has changed from 1 to 0, the Status Register holds the valid result of the 1-Wire Triplet command.
20 of 22
DS2482-800: Eight-Channel 1-Wire Master
Case C: 1-Wire busy (1WB = 1)
S
AD,0
A
1WT
A\
P
The master should stop and restart as soon as the DS2482 does not acknowledge the command code.
Figure 11. Application Schematic
VCC
*RP
SDA
SCL
(I²C port)
µC
AD0
AD1
AD2
*Rt
IO0
IO1
IO2
IO3
IO4
IO5
IO6
IO7
1-Wire lines
1-Wire
Device #1
1-Wire
Device #2
DS2482-800
* Rt Line termination resistor, typically 100W
RP I²C pull-up resistor, see Application Information
for RP sizing.
VCC
SDA
SCL
VCC
AD0
AD1
AD2
IO0
IO1
IO2
IO3
IO4
IO5
IO6
IO7
*Rt
DS2482-800
Application Information
SDA and SCL Pullup Resistors
SDA is an open-drain output on the DS2482 that requires a pullup resistor to realize high logic levels. Because the
DS2482 uses SCL only as input (no clock stretching) the master can drive SCL either through an opendrain/collector output with a pullup resistor or a push-pull output.
Pullup Resistor RP Sizing
According to the I²C specification, a slave device must be able to sink at least 3mA at a VOL of 0.4V. This DC
condition determines the minimum value of the pullup resistor: Rpmin = (VCC - 0.4V)/3mA. With an operating
voltage of 5.5V, the minimum value for the pullup resistor is 1.7kW. The "Minimum RP" line in Figure 12 shows how
the minimum pullup resistor changes with the operating voltage.
For I²C systems, the rise time and fall time are measured from 30% to 70% of the pullup voltage. The maximum
bus capacitance CB is 400pF. The maximum rise time at standard speed must not exceed 1000ns and 300ns at
fast speed. Assuming maximum rise time, the maximum resistor value at any given capacitance Cb is calculated
as: Rpmaxs = 1000ns/(CB*ln(7/3)) (standard speed) and Rpmaxf = 300ns/(CB*ln(7/3)) (fast speed). For a bus
21 of 22
DS2482-800: Eight-Channel 1-Wire Master
capacitance of 400pF the maximum pullup resistor values are 2.95kW at standard speed and 885W at fast speed. A
value between of 1.7kW and 2.95kW meets all requirements at standard speed.
Since a 885W pullup resistor, as would be required to meet the rise time specification at fast speed and 400pF bus
capacitance, is lower than Rpmin at 5.5V, a different approach is necessary. The "Max. Load…" line in Figure 12 is
generated by first calculating the minimum pullup resistor at any given operating voltage ("Minimum Rp" line) and
then calculating the respective bus capacitance that yields a rise time of 300ns.
Only for pullup voltages of 3V and lower can the maximum permissible bus capacitance of 400pF be maintained. A
reduced bus capacitance of 300pF is acceptable for pullup voltages of 4V and lower. For fast speed operation at
any pullup voltage, the bus capacitance must not exceed 200pF. The corresponding pullup resistor value at the
voltage is indicated by the "Minimum Rp" line.
Figure 12. I²C Fast Speed Pullup Resistor Selection Chart
Max. Load at Min. Rp fast mode
2000
500
1600
400
1200
300
800
200
400
100
0
Load (pF)
Minimum Rp (Ohms)
"Minimum Rp"
0
1
2
3
4
5
Pull-up Voltage
PACKAGE INFORMATION
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information, go to
www.maxim-ic.com/DallasPackInfo.)
22 of 22
Similar pages