Forum: Mikrocontroller und Digitale Elektronik UART mit nur einer Leitung - möglich?


von Malte (Gast)


Lesenswert?

Hallo,

ich habe zwei Mikrocontroller und ich möchte Daten von einem zum anderen 
Schicken. Der eine soll immer nur empfangen, der andere immer nur 
senden.

Ist dies mit einer Leitung mit der in den AVRs eingebauten UART 
schnittstelle möglich?

Quasi das ich den Master mit der Tx Leitung und den Slave mit der Rx 
Leitung verbinde.

oder passiert da in jedem Fall irgendeine Art von Handshake?
Datenintegrität ist nicht wichtig, d.h. die Daten können zur not auch 
ungeprüft übertragen werden, wenn mal ein falsches Paket dabei ist, 
macht das nichts.

Gruß
Malte.

von reiner (Gast)


Lesenswert?

eines ist durchaus möglich, eine unidirektionale Kommunikation 
aufzubauen. Die meisten telemetrie-anwendung auf funk-basis machen 
nichts anderes. der temp-sensor sendet daten und das display empfängt. 
handshake (egal ob hardware oder software) findet nicht statt, solange 
du es nicht dafür konfigurierst.
bei einer verbindung der controller über ein kabel ist natürlich noch zu 
beachten, dass die beiden gnd's der controller miteinander verbunden 
sind...

von Max Murks (Gast)


Lesenswert?

2 Leitungen sind immer nötig. Datenleitung (TX oder RX)  und GND 
(Bezugspotential).

von Michael Wilhelm (Gast)


Lesenswert?

Es sei denn du gehst über Lichtleitfaser.

MW

von Malte (Gast)


Lesenswert?

gemeinsame Masse ist vorhanden, habe lediglich nur eine der beiden 
Datenleitungen zur Verfügung.

Kann ich demnach aus deiner Aussage entnehmen das es geht?

Gruß
Malte.

von reiner (Gast)


Lesenswert?

ja, es geht. wenn die masse bei beiden gleich ist, dann ist das kein 
problem...

von reiner (Gast)


Lesenswert?

werden die nicht genutzten Rx und Tx pins der Controller anderweitig 
verwendet?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Für beidseitiges Senden und Empfangen mußt beide Pins RX und TX der AVRs 
verbinden. Mit einer Leitung verbindest Du die beiden verbundenen 
RX/TX-Pins beider AVRs. Jeder AVR bekommt dann auch seine eigenen Daten 
zu lesen, das kann man aber in der Software ausmaskieren. Über die eine 
Leitung können beide AVRs zeitlich versetzt senden und empfangen.

Soll ein AVR immer nur empfangen und ein AVR immer nur senden, dann 
reicht eine Verbindung vom Master TX zum Slave RX, natürlich.

von Kai G. (runtimeterror)


Lesenswert?

Funktioniert problemlos... wir hatten auch nur noch einen einzigen Pin 
frei (Rx) und daran den Rechner mit Pegelanpassung angeschlossen. 
(ATMega16)

Handshake gibt's normalerweise keinen - müsstest du selber 
implementieren.

von Malte (Gast)


Lesenswert?

Ok, danke...

was vielleicht nicht ganz rüber gekommen ist. Die Pins hab ich schon, 
nur die Leitung nicht da in dem entsprechenden Kabelbaum nur ein Kabel 
frei ist. Aber da es ja eh nur unidirektionale Kommunikation braucht, 
reicht das ja. War mir nur nicht sicher ob der Controller nicht trotzdem 
beide Leitungen braucht aus irgendwelchen technischen Gründen.

Werd das dann mal ausprobieren.

Gruß
Malte.

von Falk B. (falk)


Lesenswert?

@ Malte (Gast)

>frei ist. Aber da es ja eh nur unidirektionale Kommunikation braucht,

Nennt sich Simplex.

http://de.wikipedia.org/wiki/Duplex_%28Nachrichtentechnik%29

>reicht das ja. War mir nur nicht sicher ob der Controller nicht trotzdem
>beide Leitungen braucht aus irgendwelchen technischen Gründen.

Nein.

MfG
Falk

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.