Wire bus system, Bit net address, Figure 18. 1-wire net address format – Rainbow Electronics DS2756 User Manual

Page 20: Crc generation, Figure 19. 1-wire crc generation block diagram, Hardware configuration

Advertising
background image

DS2756: High-Accuracy Battery Fuel Gauge with Programmable Suspend Mode

20 of 26

1-Wire BUS SYSTEM

The 1-Wire bus is a system that has a single bus master and one or more slaves. A multidrop bus is a 1-Wire bus
with multiple slaves. A single-drop bus has only one slave device. In all instances, the DS2756 is a slave device.
The bus master is typically a microprocessor in the host system. The discussion of this bus system consists of four
topics: 64-Bit Net Address, Hardware Configuration, Transaction Sequence, and 1-Wire Signaling.

64-BIT NET ADDRESS

Each DS2756 has a unique, factory-programmed 1-Wire net address that is 64 bits in length. The first 8 bits are the
1-Wire family code (35h for DS2756). The next 48 bits are a unique serial number. The last 8 bits are a CRC of the
first 56 bits (see Figure 18). The 64-bit net address and the 1-Wire I/O circuitry built into the device enable the
DS2756 to communicate through the 1-Wire protocol detailed in the 1-Wire Bus System section of this data sheet.

Figure 18. 1-Wire Net Address Format

8-Bit CRC

48-Bit Serial Number

8-Bit Family
Code (35h)

MSb

LSb

CRC GENERATION

The DS2756 has an 8-bit CRC stored in the most significant byte of its 1-Wire net address. To ensure error-free
transmission of the address, the host system can compute a CRC value from the first 56 bits of the address and
compare it to the CRC from the DS2756. The host system is responsible for verifying the CRC value and taking
action as a result. The DS2756 does not compare CRC values and does not prevent a command sequence from
proceeding as a result of a CRC mismatch. Proper use of the CRC can result in a communication channel with a
very high level of integrity.

The CRC can be generated by the host using a circuit consisting of a Shift Register and XOR gates as shown in
Figure 19, or it can be generated in software. Additional information about the Dallas 1-Wire CRC is available in
Application Note 27: Understanding and Using Cyclic Redundancy Checks with Dallas Semiconductor iButton

Ò

Products.

Figure 19. 1-Wire CRC Generation Block Diagram







In the circuit in Figure 19, the shift bits are initialized to 0. 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.

HARDWARE CONFIGURATION

Because the 1-Wire bus has only a single line, 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 connect to the bus with open-drain
or tri-state output drivers. The DS2756 uses an open-drain output driver as part of the bidirectional interface
circuitry shown in Figure 20. If a bidirectional pin is not available on the bus master, separate output, and input pins
can be connected together.

The 1-Wire bus must have a pullup resistor at the bus-master end of the bus. For short line lengths, the value of
this resistor should be approximately 5k

W. The idle state for the 1-Wire bus is high. If, for any reason, a bus

transaction must be suspended, the bus must be left in the idle state in order to properly resume the transaction

MSb

XOR

XOR

LSb

XOR

INPUT

iButton is a registered trademark of Dallas Semiconductor.

Advertising