1wire

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

Hinweis kann nach Kenntnisnahme deaktiviert werden!

  • Bus mit nur 1 Signalleitung
    1wire bezeichnet einen von Dallas Semiconductor erfundenen Bus und auch gleichzeitig das Protokoll.
    Der Bus hat einen Master und im Rahmen des Adressraumes beliebig viele Slaves.
    Die Slaves haben eindeutige und einmalige Identifikationsnummern, über die sie einzeln angesprochen werden können.
    Das Protokoll bietet auch eine Überprüfung der Daten mittels CRC.

    Hardware:
    1wire kann die Signalleitung gleichzeitig zur Versorgung des Slave-Bausteins benutzen, z.B. für Sensoren.
    Dazu hat der Slave-Baustein intern einen Kondensator, aus dem bei der Signalübertragung die Energie bezogen wird.
    Im Ruhezustand wird der Signalpegel mit einem Widerstand auf Vcc gezogen.
    Die Signalübertragung geschieht durch herunterziehen des Pegels auf GND.
    Da Teilnehmer des Busses eine Open-Kollektor-Schaltung haben, gibt es elektrisch keine Probleme.

    Übertragung:
    Der Master startet das Protokoll mit einem Resetpuls von 480µs Länge.
    Der Slave antwortet darauf mit einem ACK innerhalb 70µs.
    Danach werden die Bits in einem Zeitraster von ca. 70µs übertragen
    Der Master zieht dafür den Bus für eine Eins 6µs auf Low und wartet 64µs High.
    Für eine Null zieht der Master den Bus 60µs auf Low und wartet weitere 10µs High.
    Der Slave erkennt den Pulsbeginn und wartet 15µs. Der Pegel auf dem Bus entspricht dann dem aktuellen Bitwert.
    In die umgekehrte Richtung, also dem Lesen vom Slave, sendet der Master nur kurze Pulse von 6µs Länge und der Slave zieht dann seinerseits den Pegel auf GND oder nicht, je nach Bitwert.
    Ein Byte wird in ca. 0,6ms übertragen, das Übertragen der 10 Bytes eines Temperatursensors DS1820 dauert 7,5ms (gemessen)

    bascomforum.de/index.php?attac…aa6e219ebef9ccaf056ed5c97

    Die Besonderheit des 1wire-Busses ist die gemeinsame Signal- und Versorgungsleitung.
    Zusammen mit der GND-Leitung werden also nur 2 Pole benötigt.
    Das macht die Verkabelung einfach oder auch besondere Anwendungen möglich, wie z.B. den iButton.

    Beispiel für das Lesen eines DS1820 Temperatursensors:
    DS1820 DS18S20 DS18B20 Temperatursensor 1Wire
    Dateien
    • 1wire.png

      (13,22 kB, 211 mal heruntergeladen, zuletzt: )

    6.988 mal gelesen