1-wire Bus mit einem Pin benutzen

OP #624074
Lesenswert?
• ▲
▼
Hallo,
hat jemand eine Schaltung mit der ich auf ein 1-wire Bus zugreifen kann. 
Ich habe mal etwas mit einem Schmitt Trigger gesehen aber ich kann mich 
nicht mehr genau dran erinnern. Diese Schaltung benutzt allerdings 2 
Pins am Mikrocontroller. Ich möchte hingegen nur einen benutzen. Er soll 
dann als Eingang und als Ausgang genutzt werden. Die Datenrichtung 
müsste dann im Mikrocontroller jedesmal geändert werden aber das ist 
kien Problem.
#624085
Lesenswert?
• ▲
▼
Die gängige Implementierung benutzt einen Pin. Setzt aber voraus, dass 
die 1-Wire Devices entweder mit eigener Stromversorgung betrieben 
werden, oder der Pin genug Strom für parasitäre Versorgung liefern kann, 
was beispielsweise ein Original-8051-Pin nicht kann.

Besondere Schaltung gibt's da nicht. Dranhängen, Pullup, fertig. 
Allenfalls Schutzschaltung, wenn der Pin auch mal bischen 
Induktionspannung von längerem Kabel abkönnen soll.

Nachteil: Keine kontrollierte Flankensteilheit, mit entsprechend 
reduzierter Buslänge gegenüber speziellen 1-Wire-Treibern.
#624090
Lesenswert?
• ▲
▼
>Die gängige Implementierung benutzt einen Pin. Setzt aber voraus, dass
>die 1-Wire Devices entweder mit eigener Stromversorgung betrieben
>werden, oder der Pin genug Strom für parasitäre Versorgung liefern kann,
>was beispielsweise ein Original-8051-Pin nicht kann.

Bis jetzt hatte ich 1wire so verstanden, dass die Ausgänge der einzelnen 
Bausteine wie beim I²C-Bus die Leitung nur gegen Masse ziehen.
Die Parasiten-Versorgung würde dann über einen relativ niederohmigen 
Pull-Up-Widerstand passieren.
#624100
Lesenswert?
• ▲
▼
> Die Parasiten-Versorgung würde dann über einen relativ niederohmigen
> Pull-Up-Widerstand passieren.

Will man nur einen Pin verwenden, dann trennt man das auf. Ein relativ 
schwacher 4,7K Pullup dient der normale Datenphase. Für parasitäre 
Versorgung in der Messphase eines Wandlers, in der ja kein Bustransfer 
stattfindet, zieht der I/O-Pin die Leitung direkt hoch und kann so dem 
Device genug Strom liefern.

Mit einem Widerstand kombiniert geht das nur haarscharf kalkuliert. Das 
Device benötigt min 3V bei 1,5mA, d.h. der Pullup an 5V darf nicht über 
1,3K liegen. Bei diesem Wert zieht der Bus dann allerdings knapp 4mA bei 
Low, was exakt dem Limit vom Device entspricht.
Gast #624213
Lesenswert?
• ▲
▼
Um was für einen µC handelt es sich denn bei dir?
Wir benutzen das ganze an 8051ern. Da ist dann nur noch
ein 1k Pullup an demjenigen Portpin und dann kommen die
1-wire Devices. Fertig. Der Rest ist Firmware.
#624310
Lesenswert?
• ▲
▼
Langsam frage ich mich, ab die Diskussion noch einen Sinn hat. Oder ob 
du unter einem 1-Write Bus etwas ganz anderes verstehst als alle 
anderen. Dessen Erfinder Dallas/Maxim inklusive. Denn mit dem '640 
gleitet das deutlich ins Absurde ab.

Tip: Irgendwo im Code-Forum, oder wassweissichwo, liegt ein prima Stück 
Code von Peter Dannegger zum Thema 1-Wire mit einer Leitung.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.