Simultaneous read operations help growing networks stay fast
Our simultaneous read algorithms allow the creation of large networks while overcoming the
principle limitation of 1Wire devices: speed. With OneWire Utilities, you can read extended
networks at speeds approaching that of a single device, compared to typical sequential reads
that scale linearly with device count:
Sensor read time as a function of network size for standard one-by-one and simultaneous read operations for a linear network of DS18B20s at 12-bit resolution
How it works
A typical read operation of a 1Wire device consists of three steps:
Initialize conversion: Instructs 1Wire device to perform a conversion operation to copy the
read value (e.g. temperature, humidity, voltage) into a non-volatile memory location for
reading. Issuing this command typically takes 10-80ms.
Wait for conversion: Before the value can be read, the conversion must be completed. A
typical conversion operation takes from 75-800ms, depending the precision of the read
operation.
Read calculated value: Read the calculated value from the conversion operation. This process
typically takes 10-80ms
To read multiple devices, the simplest and most commonly used method is to repeat the three steps
above in the read operation. The result, however, is the majority of time being spent idly
waiting for the conversion to take place. A more efficient method is to request all device
conversions simultaneously, and return later to sequentially read the calculated values. Another
benefit of this method is that the overhead for issuing multiple conversion times is included in
the conversion wait time.
Read process description for single and multiple device networks. Simultaneous read operations eliminate multiple conversion wait times, reducing the longest component of the 1Wire read process