DS2756: High-Accuracy Battery Fuel Gauge with Programmable Suspend Mode
22 of 27
the function command and wait for a reset pulse. This command can be used with one or more slave devices on
the bus.
Skip Net Address [CCh]. This command saves time when there is only one DS2756 on the bus by allowing the
bus master to issue a function command without specifying the address of the slave. If more than one slave device
is present on the bus, a subsequent function command can cause a data collision when all slaves transmit data at
the same time.
Search Net Address [F0h]. This command allows the bus master to use a process of elimination to identify the 1-
Wire net addresses of all slave devices on the bus. The search process involves the repetition of a simple three-
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 three-step routine on each bit location of the net address. After one complete pass through all
64 bits, the bus master knows the address of one device. The remaining devices can then be identified on
additional iterations of the process. See Chapter 5 of the Book of DS19xx iButton Standards for a comprehensive
discussion of a net address search, including an actual example. This publication can be found on the
Maxim/Dallas website at www.maxim-ic.com.
FUNCTION COMMANDS
After successfully completing one of the net address commands, the bus master can access the features of the
DS2756 with any of the function commands described in the following paragraphs. The name of each function is
followed by the 8-bit opcode for that command in square brackets.
Read Data [69h, XX]. This command reads data from the DS2756 starting at memory address XX. The LSb of the
data in address XX is available to be read immediately after the MSb of the address has been entered. Because
the address is automatically incremented after the MSb of each byte is received, the LSb of the data at address XX
+ 1 is available to be read immediately after the MSb of the data at address XX. If the bus master continues to read
beyond address FFh, the DS2756 outputs logic 1 until a reset pulse occurs. Addresses labeled “reserved” in the
memory map contain undefined data. The Read Data command can be terminated by the bus master with a reset
pulse at any bit boundary.
Write Data [6Ch, XX]. This command writes data to the DS2756 starting at memory address XX. The LSb of the
data to be stored at address XX can be written immediately after the MSb of the address has been entered.
Because the address is automatically incremented after the MSb of each byte is written, the LSb to be stored at
address XX + 1 can be written immediately after the MSb to be stored at address XX. If the bus master continues
to write beyond address FFh, the DS2756 ignores the data. Writes to read-only addresses, reserved addresses
and locked EEPROM blocks are ignored. Incomplete bytes are not written. Writes to unlocked EEPROM blocks are
to shadow RAM rather than EEPROM. See the Memory section for more details.
Copy Data [48h, XX]. This command copies the contents of shadow RAM to EEPROM for the 32-byte EEPROM
block containing address XX. Copy Data commands that address locked blocks are ignored. While the Copy Data
command is executing, the EEC bit in the EEPROM Register is set to 1 and writes to EEPROM addresses are
ignored. Reads and writes to non-EEPROM addresses can still occur while the copy is in progress. The Copy Data
command execution time, tEEC, is 2ms typical and starts after the last address bit is transmitted.
Recall Data [B8h, XX]. This command recalls the contents of the 32-byte EEPROM block containing address XX
to shadow RAM.
Lock [6Ah, XX]. This command locks (write-protects) the 32-byte block of EEPROM memory containing memory
address XX. The LOCK bit in the EEPROM Register must be set to l before the Lock command is executed. If the
LOCK bit is 0, the Lock command has no effect. The Lock command is permanent; a locked block can never be
written again.
Sync [D2h, XX]. This command allows the bus to be used to trigger current and voltage Snapshot readings.
Following the issue of the Sync command, the bus returns to the idle state awaiting the measurement trigger.
When the bus transitions high to low and then low to high on the first data bit issued after the command byte, the
Snapshot measurements are performed. Only one bit of the data byte is required to trigger the Snapshot
measurements. One Snapshot command must be issued for each Snapshot trigger event.