-------------------------------------------------------------------------------
Dallas DS18B20 1-Wire digital temperature sensor
-------------------------------------------------------------------------------

This is a set of example captures of the 1-Wire traffic from Maxim DS18B20
temperature sensors.

Details:
https://en.wikipedia.org/wiki/1-Wire
https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf


Logic analyzer setup
--------------------

The logic analyzer used was a MCU123 Saleae Logic clone (at 8 MHz):

  Probe       DS18D20 pin
  -----------------------
  1 (brown)   2 (DQ)

The sigrok command line used was:

  sigrok-cli -d fx2lafw:samplerate=1mhz --samples 2m --channels 0 -o <file>


2xds18b20.sr
------------

Two DS18D20 sensors are connected to the 1-Wire bus with following ROM codes:

 - 0x8d011627f794ee28
   (family code: 0x28, serial number: 0x011627f794ee, CRC: 0x8d)
 - 0x330216255487ee28
   (family code: 0x28, serial number: 0x0216255487ee, CRC: 0x33)

The sensors have the same following marking:

  Dallas
  18B20
  1619C4
  +827AH

The communication is initiated by a custom 1-Wire master software
implementation for a STM32F103C8 using timers.

The master performs the following actions:

 - Use Search ROM command to enumerate all 1-Wire devices on the bus so to
   count the number of DS10B20 sensors on the bus (two).
 - Restart enumeration of each device using the Search ROM command so to store
   their ROM code. After enumeration of each device:
   - Use Match ROM command to select device.
   - Use Read Scratchpad function command to read the 9 scratchpad bytes.
   - Use Write Scratchpad function command to write 3 bytes, setting the
     temperature conversion precision to 9 bits.
   - Use the Copy Scratchpad function command to copy the scratchpad into
     the device's internal EEPROM.
 - Use Skip ROM command to address all devices.
 - Use Convert T function command to start temperature conversion.
 - After one second use Match ROM and Read Scratchpad commands on each device
   to read the temperature stored in the scratchpad.
 - After 1 second use Skip ROM and Convert T commands to start next conversion.