Forum: Mikrocontroller und Digitale Elektronik Ich verstehe die Standardschaltung für 1-Wire an RS232 nicht


von Gregor O. (zappes)


Lesenswert?

Ich bin neulich auf eine Schaltung gestoßen, die wohl recht populär ist, 
nämlich eine für den Betrieb eines 1-Wire-Temperatursensors (DS1820) an 
einer RS232-Schnittstelle. Nun gibt es eine ganz typische Schaltung, die 
praktisch jedes Tutorial, das ich gefunden habe, verwendet: 2 Zener, 2 
Schottky, 1 Widerstand mit 1,5k. Beispielhaft möchte ich auf diese 
Quelle verlinken, das Schaltbild ist ganz oben auf der Seite:

http://digitemp.webfoelz.de/hardware.html

Ich weiß, welche Pegel auf den RS232-Leitungen kommen und glaube soweit 
verstanden zu haben, wie die Anschlüsse am DS1820 beschaltet werden. Ich 
kann auch noch folgern, dass hier wohl -12 bis +12 Volt auf 0 bis 5 Volt 
gewandelt werden und je nach Signalrichtung die Verbindung zwischen dem 
Datenpin des Sensors und der passenden RS232-Leitung (Rx oder Tx) 
hergestellt wird. Ich habe auch oberflächlich kapiert, was eine 
Zenerdiode macht, allerdings habe ich hier so meine Befürchtungen, dass 
mir subtile Details entgangen sein könnten.

Langer Rede bettelnder Sinn: Hat vielleicht einer der anwesenden Kenner 
Zeit und Lust, diese Schaltung (also die für die parasitäre Speisung) zu 
erklären? Ich versuche jetzt seit 2 Tagen, das einfache Ding zu 
kapieren, aber irgendwo fehlt es bei mir einfach. Ganz besonders 
verwirrt mich der Widerstand zwischen Rx und Tx ...

von eProfi (Gast)


Lesenswert?

Das ist ganz einfach: Das kritische 1wire-Bit-Timing wird mit der 
seriellen Schnittstelle erzeugt, d.h. pro 1wire-Bit wir auf der 
Seriellen ein Byte gesendet. Ja nachdem, ob der Slave das Bit verlängert 
auf Gnd zieht, empfängt die Rx-Leitung ein anderes Bitmuster. Deshalb 
ist Rx mit Tx verbunden.

von Gregor O. (zappes)


Lesenswert?

@eProfi

Vielen Dank, jetzt hat es geklickt - ich hatte versucht, die Elektronik 
isoliert vom Protokoll zu verstehen, was offensichtlich nicht klappen 
kann. :)

Bevor ich es wirklich kapiere, muss ich noch länger über den Zenerdioden 
meditieren, aber ich glaube, dass das mit dem Timing und dem kompletten 
Byte vom Master der entscheidende Hinweis war.

von eProfi (Gast)


Lesenswert?

Die Serielle wird ja ein wenig missbraucht, bedenke, dass auf den hohen 
Innenwiderstand vertraut wird (stelle Dir die Ausgänge 2 und 4 eher als 
Stromquellen denn als Spannungsquellen vor).
Die Schwierigkeit ist, dass Sensor-Gnd nicht Serielle-Gnd ist.

Wenn nichts gesendet wird, liegt Pin 2 (und über den R auch Pin 3) auf 
negativem Potential. Ich glaube, Pin 4 (DTR) ist immer auf positivem 
Level, der über ZD1 auf 3,9V begrenzt wird.
Somit wird der DS1820 mit der über ZD2 (6,2V) abfallenden Spannung 
versorgt.
Wird ein serielles Byte gesendet, beginnt es mit dem Startbit (high 
Level), der DS bekommt keine Spannung. Dann geht Tx wieder auf Low.
Verlängert der DS das Bit, zieht er sein D und Gnd zusammen, sodass
an Rx Hi anliegt.
Welches Bitmuster genau gesendet und empfangen wird, weiß ich nicht 
mehr.

Wichtig zu wissen: RS232-Treiber invertieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.