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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren