Both sides previous revisionPrevious revisionNext revision | Previous revision |
en:iot-open:embeddedcommunicationprotocols2:1wire [2023/11/18 14:45] – pczekalski | en:iot-open:embeddedcommunicationprotocols2:1wire [2024/05/27 11:18] (current) – ktokarz |
---|
====== 1-Wire ====== | ====== 1-Wire ====== |
1-Wire is a master-slave communication asynchronous bus interface designed formerly by Dallas Semiconductor Corp((https://www.maximintegrated.com/en/products/digital/one-wire.html)). It can transmit data at long distances at the cost of transmission speed. The typical data speed of the 1-Wire interface is about 16.3 kbit/s, and the maximum length is approx. 300m. Name 1-Wire comes from the feature that the data line can directly power elements connected to the bus. A network chain of 1-Wire devices consists of one master device and many slave devices. Such a chain is called a MicroLAN. 1-Wire devices may be a part of a product's circuit board, a single component device such as a temperature probe, or a remote device for monitoring purposes. | {{:en:iot-open:czapka_b.png?50| General audience classification icon }}{{:en:iot-open:czapka_e.png?50| General audience classification icon }}\\ |
| 1-Wire is a master-slave communication asynchronous bus interface designed formerly by Dallas Semiconductor Corp((https://www.maximintegrated.com/en/products/digital/one-wire.html)). It can transmit data at long distances at the cost of transmission speed. The typical data speed of the 1-Wire interface is about 16.3 kbit/s, and the maximum length is approx. 300m. Name 1-Wire comes from the feature that the data line can directly power elements connected to the bus. A network chain of 1-Wire devices consists of one master device and many slave devices (figure {{ref>1wire0}}). Such a chain is called a MicroLAN. 1-Wire devices may be a part of a product's circuit board, a single component device such as a temperature probe, or a remote device for monitoring purposes. |
| |
Each 1-Wire device must contain a logic unit to operate on the bus. A dedicated bus converter is needed to connect a 1-wire bus to a PC. The most popular PC/1-Wire converters use a USB plug to connect to the PC and the RJ11 connectors (telephones 6P2C/6P4C modular plugs) for MicroLAN. 1-Wire devices can also be connected directly to the microcontroller boards. | Each 1-Wire device must contain a logic unit to operate on the bus. A dedicated bus converter is needed to connect a 1-wire bus to a PC. The most popular PC/1-Wire converters use a USB plug to connect to the PC and the RJ11 connectors (telephones 6P2C/6P4C modular plugs) for MicroLAN. 1-Wire devices can also be connected directly to the microcontroller boards. |
The physical implementation of the 1-Wire network is based on an open drain master device connected to one or more open drain slaves. One single pull-up resistor for all devices pulls the bus up to 3/5 V and can be used to power the slave devices. 1-Wire communication starts when a master or slave sets the bus to low voltage (connects the pull-up resistor to ground through its output MOSFET). | The physical implementation of the 1-Wire network is based on an open drain master device connected to one or more open drain slaves. One single pull-up resistor for all devices pulls the bus up to 3/5 V and can be used to power the slave devices. 1-Wire communication starts when a master or slave sets the bus to low voltage (connects the pull-up resistor to ground through its output MOSFET). |
| |
<figure label> | <figure 1wire0> |
{{ en:iot-open:embeddedcommunicationprotocols2:1wire_bus.png?nolink&450 | 1-Wire bus}} | {{ en:iot-open:embeddedcommunicationprotocols2:1wire_bus.png?450 | 1-Wire bus connection}} |
<caption>1-Wire bus connection</caption> | <caption>1-Wire bus connection</caption> |
</figure> | </figure> |
| |
<figure 1wire1> | <figure 1wire1> |
{{ en:iot-open:embeddedcommunicationprotocols2:1wire_reset.png?nolink&450 | 1-Wire reset timings}} | {{ en:iot-open:embeddedcommunicationprotocols2:1wire_reset.png?450 | 1-Wire reset timings}} |
<caption>1-Wire reset timings</caption> | <caption>1-Wire reset timings</caption> |
</figure> | </figure> |
| |
<figure 1wire2> | <figure 1wire2> |
{{ en:iot-open:embeddedcommunicationprotocols2:1wire_read.png?nolink&450 | 1-Wire read timings}} | {{ en:iot-open:embeddedcommunicationprotocols2:1wire_read.png?450 | 1-Wire read timings}} |
<caption>1-Wire read timings</caption> | <caption>1-Wire read timings</caption> |
</figure> | </figure> |
| |
<figure 1wire3> | <figure 1wire3> |
{{ en:iot-open:embeddedcommunicationprotocols2:1wire_write.png?nolink&450 | 1-Wire write timings}} | {{ en:iot-open:embeddedcommunicationprotocols2:1wire_write.png?450 | 1-Wire write timings}} |
<caption>1-Wire write timings</caption> | <caption>1-Wire write timings</caption> |
</figure> | </figure> |
| |
=== 1-Wire Products === | === 1-Wire Products === |
The Dallas/Maxim integrated 1-Wire devices list contains many implementations. The 1-Wire protocol can be quickly implemented into the current IoT boards; most manufacturers share the software libraries, allowing developers to include them in their projects in C, C++, and assembly languages. The 1-Wire sensors (temperature, humidity, pressure, etc.) are factory calibrated and reading the physical measurements follows the International System of Units (SI). 1-Wire products can be grouped as follows: | The Dallas/Maxim integrated 1-Wire devices list contains many implementations. The 1-Wire protocol can be quickly implemented into the current IoT boards; most manufacturers share the software libraries, allowing developers to include them in their projects in C, C++, and assembly languages. The 1-Wire sensors (temperature, humidity, pressure, etc.) are factory-calibrated and read the physical measurements following the International System of Units (SI). 1-Wire products can be grouped as follows: |
* secure authenticators, | * secure authenticators, |
* memory EPROM, EEPROM ROM, | * memory EPROM, EEPROM ROM, |