meta data for this page
Differences
This shows you the differences between two versions of the page.
| — | com:basic_1wire [2025/05/31 21:56] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== lamaPLC Communication: | ||
| + | 1-Wire is a device communications bus system designed by Dallas Semiconductor that provides low-speed (16.3 kbit/s) data, signaling, and power over a single conductor.\\ | ||
| + | \\ | ||
| + | 1-Wire is similar in concept to [[com: | ||
| + | \\ | ||
| + | One distinctive feature of the bus is the possibility of using only two wires — data and ground. To accomplish this, 1-Wire devices include an 800 pF capacitor to store charge and power the device during periods when the data line is active.\\ | ||
| + | The 1-Wire devices are specifically designed and optimized to read and write efficiently to 1-Wire devices and networks. Like UART/USART controller, they handle clocked operations natively using a buffer, offloading the processing load from the host processor (e.g., sensor gateway or microcontroller), | ||
| + | |||
| + | ===== Features of the 1-wire bus ===== | ||
| + | |||
| + | * Besides 64-bit addressing, the bus can query a maximum of 75 sub-units per second. | ||
| + | * The transmission speed is approximately 16.3 kbit/s. | ||
| + | * Two main modes: Parasitic/ | ||
| + | * A cable with a cross-section of at least 0.6 mm must be used. A shielded, twisted-pair cable is required for longer distances. The maximum length of the cable is 6 meters. | ||
| + | * Each 1-Wire chip has a unique identifier code. | ||
| + | * A 1-wire network consists of a single open-drain wire with a single pull-up resistor, which pulls the wire up to 3 or 5 volts. | ||
| + | * Most UART/USARTs are perfectly capable of sustained speeds well above the 15.4kbps required of the 1-Wire bus in standard mode | ||
| + | |||
| + | ===== Parasitic/ | ||
| + | |< 100% 50% 50% >| | ||
| + | ^Normal mode^Parasitic mode| | ||
| + | |{{: | ||
| + | |With an external supply, three wires are required: the bus wire, ground, and power. The 4.7k pull-up resistor is still required on the bus wire. As the bus is free for data transfer, the microcontroller can continually poll the state of a device doing a conversion. This way, a conversion request can finish as soon as the device reports being done, as opposed to having to wait for conversion time (dependent on device function and resolution) in " | ||
| + | |||
| + | The example above shows the application of the DS18B20 digital temperature sensor in parasitic/ | ||
| + | |||
| + | ===== Addressing a 1-Wire device ===== | ||
| + | Each 1-Wire device contains a unique 64-bit ' | ||
| + | |||
| + | For example, the sample code below checks if the device being addressed is a DS18S20 temperature sensor by checking for its family code, 0x10. To use the sample code with the newer DS18B20 sensor, you would check for a family code of 0x28, instead, and for the DS1822, you would check for 0x22. | ||
| + | |||
| + | ===== Single-device commands ===== | ||
| + | Before sending a command to a single peripheral device, the controller must select that device using its unique ROM. If found, the selected device will respond to subsequent commands. | ||
| + | |||
| + | ===== Multiple-device commands ===== | ||
| + | Alternatively, | ||
| + | |||
| + | Sometimes, this may be intended and beneficial. For example, issuing a Skip ROM followed by a Convert T (0x44) would instruct all networked devices with a Convert T command to perform a temperature conversion. | ||
| + | |||
| + | This can be a time-saving and efficient way of performing the operations. On the other hand, issuing a Read Scratchpad (0xBE) command would cause all devices to report Scratchpad data simultaneously. Power consumption of all devices (for example, during a temperature conversion) is also essential when using a Skip ROM command sequence. | ||
| + | |||
| + | ===== Sources ===== | ||
| + | Wikipedia ([[https:// | ||
| + | [[https:// | ||
| + | |||
| + | ===== 1-wire topics on lamaPLC ===== | ||
| + | {{topic> | ||
| + | |||
| + | \\ | ||
| + | \\ | ||
| + | {{tag> | ||
| + | \\ | ||
| + | This page has been accessed for: Today: {{counter|today}}, | ||