|1-Wire communication protocol was developed by Dallas Semiconductor owned by Maxim. This protocol allows communication of multiple chips to one host with minimal pin count. The protocol is called 1-Wire because it uses 1 wire to transfer data. 1-Wire architecture uses pull up resistor to pull voltage of data line at master side.
1-Wire protocol uses CMOS/TTL logic and operates at supply voltage range 2.8 to 6V. Master and slave can be receivers and transmitters, but only one direction at a time. LSB goes first always. Data in 1-wire network is is transferred by time slots. For instance to write logic “1”, master pulls the bus low for 15us or less. To write logic “0” master pulls buss low for at least 60us. System clock is not required as each part is self clocked and synchronized by faling edge of master.
Before communicating master resets network by holding the bus low for at least 480us and then looking for responding pulse from slaves. Then master calls slave by its address which is unique for each slave device.
Each device has 48 bit (six bytes) globally unique address where last eight bits are CRC of first 56 bits. First byte stores a device family code, that identifies device type.
When there is more than one chip in 1-wire circuit then it is called 1-wire network or so called MicroLAN. This network requires one master and at least one slave. Standard allows putting as many slaves as you want, but when this number exceeds 20 there communication problems may occur. Wire length connecting slaves to master may be up to 200m. The longer line the better care should be takes like avoid crossing with power lines. For longer cables cheapest and easiest solution is to use CAT5 cable that is used for LAN.
Usually 1-Wire devices are connected using three leads (Power, Data, GND) , but 1-wire chips have ability to work in parasite mode.
In this mode chips gets power from data line. This allow eliminating external power. But this mode have few disadvantages like:
Sometimes good solution is to put backup battery in slave side to save counter data. Parasitic mode is useful when interfacing in long distances, because reseting of devices is easy -jus pulling down data-line.