Was ist 1-Wire®?
1-Wire oder One-Wire (zu dt. Eindraht) ist eine Methode zur Übertragung von Informationen, die nur eine Datenleitung benötigt. Durch die Verbreitung integrierter 1-Wire Bausteine wie z.B. Temperatursensoren oder kleiner Speicher, wird das Protokoll oft im Zusammenhang mit Messdaten oder zur Identifizierung von Objekten durch sogenannte iButtons eingesetzt.
Integrierter 1-Wire Baustein
Das Angebot an 1-Wire Geräten war in der Vergangenheit fast ausschließlich auf solche mit echten
1-Wire Bausteinen beschränkt. Heute gibt es unzählige Module und Anwendungen, die das 1-Wire Protokoll durch einen Microcontroller implementieren und keine nativen 1-Wire Bausteine mehr verwenden. Dadurch ergeben sich viele neue und interessante Möglichkeiten. Dennoch dürfen Module die auf bewährte 1-Wire Bausteine, wie z.B. den digitalen Temperatursensor DS18B20 setzen, nach wie vor in keinem gut sortierten Fachhandel fehlen.
Außentemperatursensor mit 1-Wire Baustein DS18B20
Reader für NFC Tags mit 1-Wire Schnittstelle
1-Wire Bausteine
Die nachfolgende Tabelle zeigt einige Beispiele gängiger 1-Wire Bausteine, die häufig in Mess- und Kontrollgeräten Verwendung finden.
Artikel-Nr. | Beschreibung | Verwendung |
---|---|---|
DS18B20 | 1-Wire Digital Thermometer | Temperatursensoren |
DS2438Z | Smart Battery Monitor | A/D Wandler, z.B. in Feuchtesensoren |
DS2401 | Silicon Serial Number | Identifizierung von Objekten |
DS2413 | 1-Wire Dual Channel Addressable Switch | Input- und Relaismodule |
DS2480B | Serial to 1-Wire Line Driver | 1-Wire Adapter für Computer |
Tabelle: 1-Wire Bausteine und deren Verwendung |
Seriennummer
Jeder 1-Wire Baustein hat eine einmalige und unveränderbare 16-stellige Registrierungsnummer (z.B. 680000015BC84B28). Die letzten beiden Ziffern stellen den 1-Wire Familycode dar. Eine Art Kennzeichnung des jeweiligen 1-Wire Bausteins. Die Nummer eines DS18B20 Thermometers endet zum Beispiel immer auf 28. Die nächsten 12 Ziffern enthalten die 1-Wire Seriennummer. Die ersten beiden Ziffern enthalten eine Prüfsumme (CRC), die sich aus den restlichen 14 Ziffern berechnen lässt. Der allgemeine Aufbau einer 1-Wire Registrierungsnummer lässt sich folgendermaßen darstellen:
8-BIT CRC | 48-BIT SERIENNUMMER | 8-BIT FAMILY CODE | |||
---|---|---|---|---|---|
MSB | LSB | MSB | LSB | MSB | LSB |
1-Wire Bus System
Das 1-Wire Bus System setzt auf einen einzelnen Bus-Master, um ein oder mehrere Slave-Geräte zu steuern. Die am Bus angeschlossenen 1-Wire Geräte oder Bausteine sind dabei immer Slave-Geräte. Wenn am Bus nur ein einzelnes 1-Wire Gerät angeschlossen ist, spricht man von einem Single-Drop
System. Bei mehreren Bus-Teilnehmern von einem Multidrop
System. Die Bus-Teilnehmer werden dabei parallel am 1-Wire Bus angeschlossen.
Bus-Master
Als Bus-Master kann ein Open-Drain Anschluss eines Microcontrollers verwendet werden. Für den einfachen Anwender, der sich nicht mit solchen Details aufhalten möchte oder plant eine bereits vorhandene Software-Lösungen einzusetzen, gibt es fertige 1-Wire Adapter für USB, Ethernet oder RS232. Solche Bus-Master stellen eine Schnittstelle für den 1-Wire Bus meist über eine RJ12 bzw. RJ45 Buchse oder über Schraubklemme bereit.
Bus-Master für Ethernet
Anwendungen
Häufig anzutreffen ist das 1-Wire Bus System im Bereich Gebäudeautomatisierung oder der Fahrer- und Personenidentifikation mittels iButton oder RFID Tag. Im Bereich der Gebäudeautomatisierung erfreuen sich vor allem digitale Umweltsensoren großer Beliebtheit. Datenlogger iButtons, auch als Thermo- und Hygrochron iButtons bekannt, verwenden ebenso das 1-Wire Bus System für den Datenaustausch.
1-Wire Netze
Während das 1-Wire Protokoll wahrscheinlich nicht für den Datenautausch über größere Strecken mit vielen Bus-Teilnehmern gedacht war, wird es trotzdem als Bus-System in Gebäuden eingesetzt. Die Erfassung von Umweltparametern wie Temperatur oder Luftfeuchte steht dabei im Vordergrund. Mit zunehmender Größe solcher Messnetzwerke
, durch lange Kabelwege und vielen Verzweigungen, stößt das Protokoll aufgrund seiner Art der Signalübertragung an seine Grenzen. Abhilfe schaffen hier intelligente 1-Wire Schnittstellen, die bestimmte Paramter dynamisch an die örtlichen Gegebenheiten anpassen und somit die Zuverlässigkeit der Anwendung deutlich steigern.
Intelligente 1-Wire Adapter
Einschränkungen
Die Verwendung des 1-Wire Protokolls geht mit Einschränkungen einher, denn die Datenübertragung ist relativ langsam und das Timing der Signale muss sehr exakt eingehalten werden. Es gilt also im Einzelfall zu überprüfen, ob oder wie die Verwendung des 1-Wire Protokoll sinnvoll ist.
Wenn die zu übertragenden Daten nur sehr klein oder nicht zeitkritisch sind, kann man mit dem Nachteil der Geschwindigkeit gut leben. So ist das Datenaufkommen bei einem Messnetzwerk mit Temperatursensoren eher gering. Als zeitkritisch gelten solche Anwendungen in der Regel auch nicht. Anders verhält es sich bei Messnetzwerken, die Zustandsveränderungen erfassen sollen. Zum Beispiel von einem Taster oder Schalter. Für solche Anwendungen ist das 1-Wire Bus System, auch weil die Kommunikation immer vom Bus-Master ausgehen muss, denkbar ungeeignet. Jedenfalls wenn es sich um eine zeitkritische Anwendung handelt.
Die Fehleranfälligkeit durch das Timing kommt dann zum Tragen, wenn die 1-Wire Kommunikation zum Beispiel durch einen Interrupt des Microcontrollers unterbrochen wird. In solchen Fällen kann die 1-Wire Kommunikation schnell zum Erliegen kommen. Hier kann man sich nur damit behelfen, dass Interrupts während der 1-Wire Kommunikation deaktiviert werden. Eine Vorgehensweise die aber nicht jede Anwendung zulässt.