Hallo zusammen,
eine 1-Draht-Kommunikation (GND nicht mitgezählt) ist doch seit
zig-Jahren möglich (UART).
Was soll dann der Quatsch mit 1-Wire?
Ist die Hardware-Realisierung on Chip etwa weniger aufwendig wie UART?
MfG
Ak Tronik
Danke für Eure Antworten.
Das mit der Stromversorgung ist das Argument für 1-wire.
Das habe ich nicht gewusst.
@ Peter
Da möchte ich Dir teilweise widersprechen.
Multiple Slave und bidirektionele Kommunikation ist auch bei UART
möglich.
Smartcards arbeiten mit einer I/O Leitung bidirektional.
Mit einer gewissen Kommunikationsdisziplin Softwareseitig) auch im
Multislave-Betrieb.
MfG
Ak Tronik
Stromversorgung, habe Produkte im Einsatz, welche einen Pic über 1Wire
(rs232 9bit) auch über strom versorgen. Die interne Diode des Pins
leitet
den Strom weiter, auch mehrere Chips über denselben pin. TTL level und
Ruhestand=5V.
Ak Tronik schrieb:> Multiple Slave und bidirektionele Kommunikation ist auch bei UART> möglich.
Bidirektional aber nur mit einem zusätzlichen Draht, oder?
nö, es geht auch mit einem Draht (alle Rx direkt an eine Leitung, Tx
jeweils über eine Diode auch dran)
Ohne MC an jeder Stelle ist die Sache aber nicht machbar, und man muss
ne Menge Gehirnschmalz reinstecken.
1-wire läuft mit der passenden lib einfach, durch die einmaligen IDs der
Teilnehmer.
Klaus Wachtler schrieb:> Ak Tronik schrieb:>> Multiple Slave und bidirektionale Kommunikation ist auch bei UART>> möglich.>> Bidirektional aber nur mit einem zusätzlichen Draht, oder?
Nein, RX- und TX-Pin werden einfach verbunden.
Schon ist die bidirektionale Kommunikation mit einem Draht
möglich.(Halbduplex). Bei der Smartcard ist das intern realisiert.
Vollduplex kann 1-Wire auch nicht.
MfG
Ak Tronik
H.joachim Seifert schrieb:> nö, es geht auch mit einem Draht (alle Rx direkt an eine Leitung, Tx> jeweils über eine Diode auch dran)
Die Diode kannst Du dir sparen, wenn Du den TX-Pin nach dem Senden auf
Input mit Pullup proggst.
Software kann Hardware ersetzen.
MfG
Ak Tronik
Ak Tronik schrieb:>> Bidirektional aber nur mit einem zusätzlichen Draht, oder?>> Nein, RX- und TX-Pin werden einfach verbunden.
ok, dann aber -ebenso wie mehr Teilnehmer- nur über zusätzliche SW
drüber.
> Und UART braucht zudem einen präzisen Takt.
1-Wire braucht doch auch ein präzises Timing.
UART ist fast bei jedem µC "On-Chip". 1-Wire nicht!
Bei Peters Auflistung fehlt jeweils ein "ja" bei bidirektional und
multiple Slave.
> Und UART braucht zudem einen präzisen Takt.
Außerdem haben die 1-Wire-Teile (zumindest bei denen, die wir verwendet
haben) immer eindeutige IDs und es gibt standardisierte Verfahren zu
deren Erkennung.
Das funktioniert tadellos über 100 Meter und ist sehr robust.
Da möchte man kein selbstgestricktes Protokoll verwenden.
Chris D.
Ak Tronik schrieb:> 1-Wire braucht doch auch ein präzises Timing.
Braucht zwar Timing, aber nicht präzise.
UART braucht rund 1% Genauigkeit auf beiden Seiten, also meist externen
Quarz oder Kermikschwinger. 1-Wire funktioniert auch noch mit
einfachstem internem RC-Oszillator und 20% Abweichung.
Ak Tronik schrieb:> Ist die Hardware-Realisierung on Chip etwa weniger aufwendig wie UART?
Es geht fast immer um den Master und der ist tatsächlich weit weniger
aufwendig, weil ohne grossen Aufwand und ohne arge Echtzeitanforderung
i.d.R. komplett in Software realisiert. Nur wenige Controller besitzen
einen Hardware-Modul dafür (hauptsächlich Dallas/Maxim - wen wunderts).
Ak Tronik schrieb:> Die Diode kannst Du dir sparen, wenn Du den TX-Pin nach dem Senden auf> Input mit Pullup proggst.
... und ganz sicher bist, dass nie 2 Kollegen gleichzeitig senden.
@ Chris
>Das funktioniert tadellos über 100 Meter und ist sehr robust.
Das hat doch nichts mit 1-Wire zu tun. Physikalisch haben beide doch
TTL-Pegel, oder? Die Entfernung ist von der Übertragungsgeschwindigkeit
abhängig.
@ A. K
> Braucht zwar Timing, aber nicht präzise.>> UART braucht rund 1% Genauigkeit auf beiden Seiten, also meist externen> Quarz oder Kermikschwinger. 1-Wire funktioniert auch noch mit> einfachstem internem RC-Oszillator und 20% Abweichung.
Hmm, wenn kein präzises Timing erforderlich, steht das Timing dann fest?
Ak Tronik schrieb:> Hmm, wenn kein präzises Timing erforderlich, steht das Timing dann fest?
Die Zeitvorgaben besitzen einen grossen Toleranzbereich und jedes Bit
wird einzeln synchronisiert. Bei UART hingegen werden die ~10 Bits eines
Frames nur ein einziges Mal synchronisiert, so dass die Zeitfehler
kumulieren. Das ist der entscheidende Unterschied.
Moin
das one wire ist doch das Protokoll, wo die information auf der VCC
leitung mit aufkodiert wird oder?
dann ist hier ein aspekt unter den tisch gefallen.
one Wire braucht für signal und Spannungsversorgung nur 2 Leitungen.
(GND + DQ) DQ= daten + VCC auf einer Ader
RS232 braucht für signal und Spannungsversorgung mindestens 3 optimal 4
Leitungen (GND + VCC + RX + TX )
123 schrieb:> das one wire ist doch das Protokoll, wo die information auf der VCC> leitung mit aufkodiert wird oder?
Je nach Slave möglich oder nicht. Das könnte man aber mit UART ebenfalls
machen.
123 schrieb:> RS232 braucht für signal und Spannungsversorgung mindestens 3 optimal 4> Leitungen (GND + VCC + RX + TX )
Hier wurde 1-Wire mit UART verglichen.
RS232 ist technisch aufwendiger und physikalisch nicht mit UART zu
vergleichen.