Single-Channel 1-Wire Master with Sleep Mode
I2C Communication Examples (continued)
1-Wire Read Byte (To Read a Byte from the 1-Wire Line)
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 line.
Case B: 1-Wire Idle (1WB = 0), No Busy Polling, Set Read Pointer Before Idle Time
S AD,0 A 1WRB A
Sr AD,0 A SRP A E1h A
P
(Idle) S AD,1 A <byte> A\
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 line.
Case C: 1-Wire Idle (1WB = 0), Busy Polling Until the 1-Wire Command is Completed
S AD,0 A 1WRB A
REPEAT UNTIL THE 1WB BIT
HAS CHANGED TO 0.
Sr AD,1 A <byte> A <byte> A\
Sr AD,0 A SRP A E1h A
Sr AD,1 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 line.
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-101 does not acknowledge the command code.
1-Wire Triplet (To Perform a Search ROM Function on the 1-Wire Line)
Case A: 1-Wire Idle (1WB = 0), No Busy Polling
S AD,0 A 1WT A <byte> A
P (Idle)
S AD,1 A <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.
20 ______________________________________________________________________________________