Forum: Mikrocontroller und Digitale Elektronik Serielle Datenübertragung - UART


von Peter (Gast)


Lesenswert?

Hallo alle zusammen,

ich möchte Daten (Byteweise) mit einem Mikrocontroller
seriell über EINE Datenleitung übertragen. Nun hab ich
leider gar keine Ahnung, wie ich das machen soll.
Hab schon kräftig gegooglet und bin auf UART gestoßen.
Leider hat jede Schaltung die ich angeschaut habe
sowohl TxD als auch RxD...

Meine Frage: Ist die RxD zwingend erforderlich, oder kann ich
UART auch nur mit einer Leitung (ohne Rückkanal) nutzen?

von Sam .. (sam1994)


Lesenswert?

Natürlich. Was soll da nicht gehen?

von Floh (Gast)


Lesenswert?

Peter schrieb:
> Meine Frage: Ist die RxD zwingend erforderlich, oder kann ich
> UART auch nur mit einer Leitung (ohne Rückkanal) nutzen?

Kann ein Mensch ohne Ohren immer noch sprechen?
Siehste :-)

von -schumi- (Gast)


Lesenswert?

Hi,

Wenn du nur in eine Richtung willst geht das. Allerdings musst du zu 
deiner Datenleitung dazu natürlich noch GND verbinden.

Ausserdem kannst du dann nicht überprüfen ob die andere Seite auch das 
empfangen hat was du gesendet hast.

MfG
-schumi-

von Peter (Gast)


Lesenswert?

Weiß nicht, bin noch ziemlich neu auf dem Gebiet.
Könnte ja sein, dass für irgendwelche Quittierungen
der Rückkanal benötigt wird.
Bevor ich jetzt groß aufbau wollt ich lieber mal
ein paar Profis fragen.

Danke!

von spess53 (Gast)


Lesenswert?

Hi

>...oder kann ich UART auch nur mit einer Leitung (ohne Rückkanal) nutzen?

Masse nicht vergessen.

MfG Spess

von Sam .. (sam1994)


Lesenswert?

Wenn du doch einen Rückknanal brauchst, kannst du immer noch 1wire 
nutzen, da brauchst du nur 1 wire (+ GND).

von Hmpf (Gast)


Lesenswert?

Peter schrieb:
> önnte ja sein, dass für irgendwelche Quittierungen
> der Rückkanal benötigt wird.

Jein.
An sich ist es durchaus möglich Daten ohne Quittungen d.h. ohne 
Protokoll zu senden. Der RS232-Standard selbst sagt über Protokolle auf 
der Datenebene nichts aus. Es gibt auch die Möglichkeit 
Hardware-Handshake zu verwenden, aber man muss es nicht.

Wenn Du also beide Seiten, Sender und Empfänger selbst designst, dann 
steht es Dir frei auf ein Protokoll oder Hardware-Handshake zu 
verzichten oder auch nicht.

Ich empfehle Dir aber trotzdem zumindest kurz darüber nachzudenken, bzw. 
Dich bei späteren Problemen daran zu erinnern, ob nicht ein Protokoll 
bzw. Handshake doch sinnvoll sein könnte.

Es kommt vor allem darauf an, ob die beiden Endpunkte noch was anderes 
zu tun haben. Es könnte z.B. durch einen (selbstverständlich 
abgefangenen ) Pufferüberlauf was verlorgengehen. Oder der Sender muss 
zu irgendeinem Punkt im Ablauf wissen ob der Empfänger eine bestimmte 
Nachricht tatsächlich empfangen hat. Zu welchen Problemen könnte das bei 
Deiner Anwendung führen?

Solltest Du aus dem Grund danach fragen weil Du nur zwei Drähte übrig 
hast, dann würde ich Dir abraten Dich davon leiten zu lassen und 
stattdesen lieber ein anderes Kabel und andere Schaltungen für die 
Endpunkte zu nehmen die auch in die andere Richtung Daten übertragen 
können. Designentscheidungen aus einem Mangel heraus sollten sehr gut 
überlegt sein. Einem Anfänger würde ich eher davon abraten.

von Hmpf (Gast)


Lesenswert?

Sorry. Es muss heissen:

...
Der RS232-Standard selbst sagt über Protokolle auf
der Datenebene nichts zwingendes aus. Es gibt die Möglichkeit eines 
Software-Handshake (XON/XOFF). Das muss man aber nicht verwenden.
...

von Peter (Gast)


Lesenswert?

Ok, vielen Danke.
Im Grunde genommen geht es darum einen Stream über eine optische 
Verbindung
zu realisieren (Diode / Laser). Daher ist es schwer, ein Rückkanal 
einzusetzen. Außedem wirkt sich eine fehlerhafte Übertragung eines 
Wortes bei einem Stram kaum auf das Endergebnis aus. (-> 
Vernachlässigbar)

Aber wenn das so mit UART realisierbar ist, bin ich schon froh.

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.