Startseite > Embedded > Hardware > Unterschätzte One-Wire-Schnittstelle
Raspberry Pi
26. Mai 2021, 14:00 Uhr | von Klaus Dembowski
Ein Raspberry Pi verfügt über eine ganze Reihe von Schnittstellen, die sich für den Anschluss von Sensoren eignen. Am häufigsten zum Einsatz kommen SPI und I2C. Daneben gibt es am GPIO Port eines Raspberry Pi den One-Wire – was er kann erfahren Sie hier.
Der One-Wire-Bus [1] ist im Prinzip über 20Jahre alt und wurde von der Firma Dallas Semiconductor entwickelt, die in der Firma Maxim Integrated aufgegangen ist. Maxim Integrated wurde wiederum im letzten Jahr vom Konkurrenten Analog Devices (ADI) erworben, der drei Jahre zuvor ebenfalls Linear Technology übernommen hat. So verfügt ADI mittlerweile über ein einmaliges Spektrum unterschiedlicher analoger und digitaler ICs. Bekannt wurde ADI in den sechziger Jahren mit spezialisierten Operationsverstärken. ADI fertigt die besonderen Chips der aufgekauften Firmen weiterhin und unterstützt sie. Ebenso gilt das für den Bereich der One-Wire-Chips[2], die stets einDS in der Bezeichnung führen, was den ursprünglichen Hersteller (Dallas Semiconductor) ausweist.
Der One-Wire (1-Wire) wird mitunter ebenfalls als MicroLAN bezeichnet. Jedoch ändert das nichts daran, dass One-Wire-Chips generell von einem einzigen Hersteller (Dallas, Maxim Integrated, Analog Devices) stammen. Oft erscheint das jedoch anders, weil DS-Chips auf einer Vielzahl von Boards und Modulen integriert sind, die Firmen – auch aus dem Maker-Bereich – mit eigenen Bezeichnungen und Namen führen.
Matchmaker+ Anbieter zum Thema
zu Matchmaker+
Spannungsversorgung und Pegel
Das One-Wire-Übertragungsprotokoll arbeitet pulsweitenkodiert (PWM) und ist relativ einfach gehalten, weshalb es Anwender leicht per Software über einen einzigen Anschluss eines Mikrocontrollers ausführen können.
Ein logisches High liegt dann vor, wenn sich der Leitungspegel für maximal 15µs auf Massepotential befindet, ein logisches Low, wenn sich der Pegel für minimal 60µs auf Massepotential befindet. Hierbei darf die Spannung – der Leitungspegel – zwischen2,7 und 5,5V liegen, wobei einige Bausteine jedoch eine enge definierte Spannung zwischen 3,0und 3,7V benötigen. Diese Daten entsprechen den üblichen CMOS/TTL-Pegeln. Mithilfe eines Kondensators wird die Spannungsversorgung im jeweiligen Chip (Cpp im Bild1) realisiert. Er bezieht seine Energie in den Datenpausen der Übertragung, speichert sie und verwendet sie dann für das Verarbeiten der Daten während des Übertragens.
Die Kondensatorkapazität (typischerweise 800pF bis 100nF) ist so bemessen, dass sich mindestens ein Low-Zyklus überbrücken lässt. Eine solche Form der Energieübertragung bezeichnet man als »parasitic power« oder als parasitäre Spannungsversorgung. Über eine (interne) Diode lässt sich verhindern, dass sich die Kapazität in den Low-Phasen entlädt. Um die kapazitive last nicht zu stark zu erhöhen, wird eine Schottky-Diode verwendet. Sie besitzt nicht nur eine geringe parasitäre Kapazität, sondern verursacht ebenso lediglich einen geringen Spannungsabfall.
Die One-Wire-Bauelemente werden über einen Open-Drain-Pin (Wired AND) an die Leitung (DQ, Bild1) angeschlossen. Sie kann über einen Pullup-Widerstand (typischerweise 1,5bis 5kΩ) auf High-Pegel gelegt und von den Teilnehmern auf Low-Pegel gezogen werden. Nach jeder Low-Phase muss eine ausreichend lange High-Phase folgen, damit sich die internen Kapazitäten in den Slaves wieder aufladen können. Somit ist das Timing für das Erfüllen der One-Wire-Kommunikationssequenz essenziell.
Der One-Wire-Trick liegt gewissermaßen in den speziellen Chips. So sind sowohl die Daten als auch die Spannungsversorgung über einen einzigen Anschluss zu führen. Obwohl es One-Wire heißt, benötigt man noch eine zweite Leitung für die Schaltungsmasse (GND). Gleichwohl ist One-Wire damit ein einzigartiges System. Einige der One-Wire-Chips verfügen über einen VDD-Pin für den Anschluss einer Spannungsversorgung, was als Option oder für den Test gedacht ist, denn im Prinzip ist er nicht notwendig. Das One-Wire-Prinzip lässt sich ebenso für eigene Entwicklungen adaptieren. Hierfür setzt man ein ähnlich einfaches Protokoll ein und baut für die Spannungsversorgung eine separate Schaltung (Bild2) auf. So lässt sich die nötige Versorgungsspannung für einen digitalen Sensor aus dem Datenstrom beziehen.
Intelligente Knöpfe
Eine spezielle Bauform von One-Wire-Chips bietet Maxim Integrated mit den sogenannten iButtons an. Sie sind insbesondere für Identifizierungs-, Kontroll- und Zugangsanwendungen gedacht. Zum Einsatz kommen sie beispielsweise in Druckerpatronen. Von der Funktion her unterscheiden sich konventionelle 1-Wire-Chips nicht von der der iButtons (Bild3).
In einem runden, etwa 17mm durchmessergroßen Stahlgehäuse mit einer Dicke von typischerweise 3bis 6mm befindet sich ein Speicherchip mit einer eigenen Seriennummer (64Bit). Er lässt sich durch Berühren mit dem Kontakt eines passenden Lesegerätes per 1-Wire-Verbindung auslesen. Das ist beispielsweise für das Authentifizieren an einem Schlüsselbund oder an einem Container möglich. Eine andere Funktion weisen die sogenannten »iButton-Logger« auf, mit denen sich beispielsweise Umweltdaten wie die Temperatur oder die Feuchtigkeit (DS1923) ermitteln und aufzeichnen lassen.
Aufbau eines One-Wire-Systems
Prinzipiell sind verschiedene Topologien (Linear, Abzweig, Stern) für ein One-Wire-System möglich. Gleichwohl empfiehlt sich ein lineares System. In ihm befinden sich alle Teilnehmer – ausgehend vom Master – an einem Strang. Bei den anderen Konstellationen können an den Abzweigstellen leicht Impedanzfehler entstehen, die unerwünschte Reflexionen erzeugen und das Signal hiermit verfälschen. Handelt es sich um eine elektrisch kurze Leitung, sind die Reflexionen zu vernachlässigen. Man spricht von einer elektrisch kurzen Leitung, wenn die Hin- plus Rücklaufzeit einer Welle kleiner ist als der kleinere Wert von Signalanstiegszeit und -abfallzeit.
Bereits mit Klingeldraht und einfachen Telefonkabeln lassen sich kleine One-Wire-Systeme aufbauen, die eine Ausdehnung von mehreren Metern haben können. Nötig ist lediglich eine Zweidrahtleitung, die bei 16MHz idealerweise eine maximale Dämpfung von 8dB aufweist. Über eine Leitung erfolgt die Datenübertragung und Stromversorgung, während die andere die gemeinsame Masse bildet. Wichtig für den Anschluss ist, dass der Entwickler entweder ein ungeschirmtes Kabel verwendet, oder den Schirm nicht mit Masse verbindet. Ungenutzte Adern sollte er ebenfalls nicht mit Masse verbinden, um die Leitungskapazität nicht zu erhöhen.
- Unterschätzte One-Wire-Schnittstelle
- One-Wire-Schnittstelle Teil 2
Lesen Sie mehr zum Thema
elektroniknet Maker-Boards Industrie-Computer / Embedded PC SBCs / CPU-Boards / CoM / SoM