Introduction to the One Wire protocol

A communication protocol is a set of rules that control the exchange of messages between parts of a computing system, or several computing systems. The One Wire protocol is a device communication protocol that makes use of just one wire to transfer data. It was designed by the Dallas Semi-Conductor Corp. It uses the CMOS/TOL logic and operates with voltages between 2.8V to 6V. Data can only be transmitted one-direction at a time through time slots (which are the durations of a logic zero or logic one being written)

One wire protocol uses Master and Slave devices as its receivers and transmitters. The transaction of information is of three stages: the master initiated reset, the device detection, and the device function commands, respectively. In standard mode, the process starts from a reset command by the master which resets every slave device. Afterward, each slave device indicates that they are present, and are synchronized to a known state. The slave devices communicate simultaneously so the master can detect multiple of them. After the slave devices are synchronized, the bus master starts communicating with them. Each slave device has a unique 64-bit ROM ID which helps the master perform read and write functions with the slave memory.

The One-Wire bus enumeration protocol is used by the master to read the locations of each address on the bus. An enumeration command is used to find devices. When an invalid address is detected, all subsequent addresses are known to be invalid. The protocol discovers 75 devices in one second.

The One Wire protocol is used to communicate with several semiconductor parts. It acts as a measuring device with devices like temperature sensors, humidity sensors, microcontrollers, and batteries. The One Wire protocol also helps with storing data from those sensors and acting as a timekeeper.

Examples of One Wire Devices

 * Digital thermometers
 * Humidity
 * RTC
 * EEPROM
 * Dual channel adressable switch
 * Battery monitor

References*
https://www.wemakeiot.com/one-wire-protocol/

https://www.picotech.com/library/oscilloscopes/1-wire-serial-protocol-decoding

https://scienceprog.com/1-wire-protocol-simple-and-easy/