Viele Serielle Kommunikationsprotokolle stehen zur Verfügung, um Daten zwischen elektronischen Geräten zu übertragen, sei es ein Mikrocontroller, der Daten von einem Sensor liest oder Daten an ein Speichergerät sendet. Dies ist einer einer Reihe von Artikeln, die einige der beliebteren Protokolle, die häufig verwendet werden, behandeln wird. Wir werden die Serie mit einem Vergleich der Vor- und Nachteile jedes Protokolls abschließen.
Mein Ziel ist es, dass die Serie als nützliche Referenz dient, wenn Sie das nächste Mal vorhaben, einen seriellen Kommunikationsbus zu implementieren, sodass Sie die beste Option für Ihre spezielle Anwendung wählen können.
In diesem Artikel werden wir uns das beliebte 1-Wire-Protokoll ansehen.
1-Wire ist ein langsamer Kommunikationsbus, der von Dallas Semiconductor Corp. (jetzt Maxim Integrated) entwickelt wurde und der eine einzelne Signaldatenleitung ausschließlich der Masse verwendet. Es handelt sich um ein Master-Slave-Kommunikationssystem, bei dem ein Master- oder Hostgerät über eine einzige Datenleitung mit einem oder mehreren Slave-Geräten verbunden ist. Jedes 1-Wire-Slave-Gerät hat eine einzigartige, werkseitig programmierte 64-Bit-Identifikationsnummer (ID), die die Adresse dieses Geräts ist.
1-Wire-Geräte werden üblicherweise nur von Maxim Integrated produziert und sind in verschiedenen Gehäusetypen verfügbar, wie dem typischen Transistor TO-92, sowie verschiedenen integrierten Schaltkreisen. Ein sehr beliebtes 1-Wire-Kommunikationsgerät ist der iButton (auch bekannt als Dallas Key). Der iButton ist ein kleines modulares Gerät, das für Anwendungen wie Datenlogger, Temperatur- und Feuchtigkeitssensoren, LEDs, Speichergeräte, Adapter usw. verwendet wird. Obwohl der iButton historisch gesehen eine sehr beliebte Implementierung von 1-Wire war, gibt es heute viele Sensoren von Maxim Integrated, die das 1-Wire-Protokoll implementieren.
Im Prinzip ist ein iButton ein Mikrochip, der denen in Smartcards sehr ähnlich ist. Der Unterschied besteht darin, dass der Mikrochip in einem runden Edelstahlknopf untergebracht ist und für den Einsatz in rauen und anspruchsvollen Umgebungen konzipiert wurde. Sie verlassen sich auf physische Kontakte für die Verbindung mit dem 1-Wire-Bus.
Die typischen 1-Wire-Spannungsbereiche, über die das Gerät betrieben wird, umfassen:
Eines der interessantesten Merkmale des 1-Wire-Busses ist, dass die Stromversorgung über die Kommunikationsleitung erfolgen kann, anstatt eine externe Stromquelle zu benötigen. Dies ermöglicht es, externe Sensoren, wie Temperatursensoren, nur mit Daten- und Erdungskabeln anzuschließen, wobei der Sensor durch parasitäre Energie aus dem Datenbus gespeist wird. Dies kann im Vergleich zu den anderen in dieser Serie untersuchten seriellen Kommunikationsprotokollen erhebliche Komplexität und Verkabelung einsparen.
Ein typischer Anschluss eines 1-Wire-Bus-Geräts kann im folgenden Schaltbild gesehen werden:
Im obigen Beispiel steuert ein Master-Gerät mehrere Slave-Geräte.
Die meisten 1-Wire-Geräte benötigen extrem wenig Energie und benötigen keine Stromversorgungspins. Diese Geräte entnehmen die Energie, die sie zum Betrieb benötigen, aus der 1-Wire-Datenleitung, bekannt als parasitäre Stromversorgung.
Eine typische 1-Draht-Gerät parasitäre Stromversorgungskonfiguration kann im folgenden Schaltbild gesehen werden:
Es gibt verschiedene 1-Draht-Geräte, die für Anwendungen wie Temperaturmessung, Identifikation, Zeitprotokollierung, EEPROM oder EPROM (einmal programmierbar), sichere Authentifizierung usw. verwendet werden können. Dies ermöglicht die Erstellung von Geräten mit Anwendungen, die von Identifikation, Authentifizierung von Verbrauchsmaterialien, PCB- und Computerzubehör, IP-Schutz, Zugangskontrolle zu Wachrundgangsystemen, elektronischem Geld, Zeit- und Anwesenheitserfassung, Temperaturüberwachung von Lebensmitteln oder pharmazeutischer Sicherheit reichen.
Der Wert für den Pull-Up-Widerstand, der für die 1-Draht-Verbindung benötigt wird, sollte niedrig genug sein, um genügend Strom zur Versorgung des Geräts bereitzustellen, aber nicht so niedrig, dass die Slave-Geräte die Datenleitung nicht erfolgreich auf Logikpegel 0 ziehen könnten.
Die typischen Pull-Up-Widerstandswerte für eine 1-Draht-Verbindung liegen zwischen 1 kΩ und 4,7 kΩ. Dies stellt den Strom von einer 5 V Stromversorgung zwischen 5 mA und 1,06 mA ein. Als Beispiel benötigt das Gerät DS2480B einen Stromwert zwischen 1,5 mA und 5 mA zum Betrieb, typischerweise 3 mA.
Auf dem 1-Wire-Bus gibt es immer einen Master, der die Gesamtverantwortung trägt, was ein Personal Computer oder ein Mikrocontroller sein kann. Der Master initiiert immer die Aktivität auf dem Bus, um Übertragungskollisionen zu vermeiden. Das Mastergerät ist dafür verantwortlich, Kollisionen zu erkennen und zu verwalten, die durch die gleichzeitige Übertragung von mehreren Slave-Geräten entstehen.
Die Geräte übertragen Daten, indem sie kurze und lange Low-Impulse verwenden, um die Daten darzustellen. Ein 1–15 µs Low-Impuls entspricht einem Logiklevel 1, während ein 60 µs Low-Impuls einem Logiklevel 0 entspricht. Die fallende (negative) Flanke des Impulses wird von den Slave-Geräten genutzt, um auf die Impulsbreite zu hören. Sie messen seine Dauer mit einem sehr einfachen monostabilen Multivibrator. Der Master leitet die Kommunikation ein, indem er einen Reset-Impuls sendet, gefolgt von einem 8-Bit-Befehl, und dann werden Daten in Gruppen von 8 Bits gesendet oder empfangen. Die Fehlererkennung wird mit einer einfachen 8-Bit-zyklischen Redundanzprüfung (CRC) implementiert.
Dieser Artikel hat einige Merkmale des beliebten 1-Wire-Protokolls betrachtet und einige seiner Vorteile und Implementierungsdetails diskutiert. In den anderen Artikeln dieser Serie werden wir einige der alternativen seriellen Kommunikationsprotokolle betrachten.
Möchten Sie mehr darüber erfahren, wie Altium Designer® Ihnen bei Ihrem nächsten PCB-Design helfen kann? Sprechen Sie mit einem Experten bei Altium.