Forum: Mikrocontroller und Digitale Elektronik Tx an einen Port mit mehreren uC´s


von Ruediger (Gast)


Lesenswert?

Hey Leute, ich hab zwei uC´s, die auf Tastendruck ne Zahl über TX 
versenden. RX ist im uC gar nicht aktiv. Ein anderer uC nimmt dann über 
RX die Zahl entgegen. Wenn ich einen TX-uC an den RX-uC 
anschließe,klappt das auch super. Aber ich würd ja gern beide TX-ucs 
gleichzeit an den RX-uc anschließen. Also hab ich aufm Breadboard 
einfach die TX Leitungen zusammengelegt und gehe dann von da in den RX. 
Das klappt aber nicht. Habt ihr ne Ahnung wie ich sowas realisiere? Hab 
im Netz den Satz hier gefunden:
"Bei kurzer Leitung mußt Du alle TXD der Slave UND-verknüpfen und an RXD
des Master."
Das könnte mein Problem glaub ich lösen,aber ich weiß nicht wie ich die 
TX signale UND-Verknüpfen soll. Vielleicht weiß ja jemand Rat. Vielen 
Dank, Ruediger

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

das Zauberwort heißt "wired and".

guckstdu z.B. hier:

http://de.wikipedia.org/wiki/Wired-AND

von Ralf (Gast)


Lesenswert?

> Habt ihr ne Ahnung wie ich sowas realisiere?
Du weisst aber schon, warum das nicht funktioniert, oder? NIEMALS zwei 
Push-Pull-Ausgänge direkt miteinander verschalten!
Push-Pull bedeutet, dass sowohl ein Low- als auch ein High-Signal 
relativ viel Strom treiben können, wenn also der eine High und der 
andere Low ist, bastelst du damit quasi einen direkten Kurzschluss 
zwischen VCC und GND. Wenn du Glück hast, bricht die Spannung schneller 
ein als dein µC abrauchen kann, andernfalls geht er kaputt. Das nur mal 
zum Verständnis, warum man das nicht machen soll :)

> Das könnte mein Problem glaub ich lösen,aber ich weiß nicht wie ich die
> TX signale UND-Verknüpfen soll.
Ein UART gibt im inaktiven Zustand ein High-Signal aus. Das heisst, 
wirklich relevant sind die Low-Signale. Wenn du jeweils einen Tx an ein 
UND-Gatter anschliesst, ergibt sich am Ausgang des Gatter ebenfalls ein 
High-Signal, wenn beide Tx inaktiv sind. Sendet einer der beiden UARTs, 
dann wird das Low-Signal direkt an den Gatter-Ausgang weitergeleitet.
Du brauchst allerdings kein komplettes Gatter zu verbasteln, sondern 
kannst es mit zwei Dioden und einem Widerstand realisieren.

- Die Kathoden kommen jeweils an einen Tx
- Die Anoden werden miteinander verbunden
- Der Widerstand wird mit den Anoden und dem Rx des Empfängers sowie der 
Versorgungsspannung des Empfängers verbunden

Das entspricht eben falls einem UND-Gatter. Die Dioden lassen nur die 
Low-Signale durch, und der Widerstand fungiert als Pull-Up und generiert 
somit das High-Signal.

Ralf

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Sorry, ehe ich mich hier als Depp oute: habs nur kurz überlesen, wie man 
2 Signale ver-und-et bekommt ohne Gatter. Und dazu stimmt ja mein 
Beitrag ;-)
(Auch wenn 2 TX-Signale eher ver-oder-t werden müßten)

von Ralf (Gast)


Lesenswert?

> Auch wenn 2 TX-Signale eher ver-oder-t werden müßten
Dann zeig mal, wie du den aktiven Zustand Low durch ein Oder bekommen 
willst, wenn das zweite Signal munter Highpegel hat :)

Ralf

von Ruediger (Gast)


Lesenswert?

Hey, erstmal vielen Dank für die ausführlichen Antworten. Ehrlich gesagt 
wusste ich nicht warum das nicht funktioniert. Bin aber Froh das ihr 
mich aufgeklärt habt, denn sonst wären mir in Zukunft sicher einige uC´s 
abgeraucht. Werde mir jetzt ein paar dioden besorgen und das ganze mal 
testen. Vielen Dank, Ruediger

von Ruediger (Gast)


Lesenswert?

hab leider nirgendwo mehr dioden rumfliegen,also hab ich diese einfach 
durch leuchtdioden ersetzt. Das sollte doch kein Problem sein,oder? 
Leider klappt es trotzdem nicht... Auf der Wikipedia Seite ist ja sogar 
ein Schalt-Bild und ich habe es genauso angeschlossen. Die LED blinkt 
zwar kurz wenn ich den taster drücke aber es kommt bei dem anderen uC 
nix an. Dann hab ich die Kathode der LED direkt an den Tx von einem der 
uC´s gemacht und die Anode direkt an Rx. Selbst dann funktioniert es 
nicht?! Wenn ich dann aber die leuchtdiode durch ein normales käbelchen 
ersetze funktioniert es. Bin leider nicht so der Pro in Sachen 
e-technik,wir ihr wahrscheinlich grade merkt. Vielleicht liegts ja an 
den leuchtdioden...? Wie groß sollte eigentlich der Widerstand bei der 
Wired-And Schaltung sein? Ich hab 220,1K und 10k versucht, diese 
klappten aber wie gesagt nicht. Mfg Ruediger

von Ruediger (Gast)


Lesenswert?

Ich kann als Gast leider nicht editieren,also muss ich immer ne neue 
antwort auf machen... Hab grad ne diode aus ner älteren schaltung 
gelötet und damit klappt es wunderbar! Lag also wahrscheinlich doch an 
der LED. Vielleicht weiß ja jemand warum und kann es mir kurz erklären? 
Auf jeden Fall nochmal vielen Dank für eure Mühe! Guten Rutsch, Rüdiger

von Ralf (Gast)


Lesenswert?

Klar wissen wir das, und wir klären dich gerne auf :)

Eine normale Diode hat etwa 0.7V Durchflussspannung, je nach Material 
auch wesentlich niedriger, beispielsweise hat eine Schottky-Diode nur 
etwa 0.3V. Die Durchbruchspannung kann im Bereich von einigen zehn Volt 
bis in den Kilovoltbereich liegen.

Eine LED hingegen muss in einer bestimmten Farbe leuchten. Dies erreicht 
man ebenfalls durch unterschiedliche, die Diode bildenden Materialien 
bzw. deren Mischung. Die Durchflussspannungen liegen bei LEDs wesentlich 
höher, so z.B. bei rot/grün/gelb im Bereich von etwa 1.7V-2.3V, bei blau 
oder weiss sogar über 3V.

Wenn bei der Wired-AND-Schaltung mit Dioden ein Pin nach Low zieht, 
sieht der Pin auf der anderen Seite nicht das Low (idealerweise 0V), 
sondern eben die Durchflussspannung der Diode. Die Spannung an sich 
kommt vom Pull-Up-Widerstand.
Bei der Verwendung von LEDs hast du also das Problem, dass die vom 
Empfänger gesehene Durchflussspannung höher ist als die maximal erlaubte 
Spannung, um ein Low sicher zu erkennen (Daumenwert 0.8V) -> das wird 
bei dir wahrscheinlich der Fall gewesen sein.

Ralf

von Ralf (Gast)


Lesenswert?

Siehste, ich hab auch was vergessen:
Die Durchbruchspannung von LEDs (also in Sperrrichtung) liegt meist 
nicht höher als etwa 5V, auch ein Unterschied zu "normalen" Dioden.

Ralf

von Ruediger (Gast)


Lesenswert?

Super, Vielen Dank für die Erklärung. Finds echt Klasse das sich hier 
immer Menschen finden die sich die Zeit nehmen Anfängern wie wir,was zu 
erklären. Frohes Neues, Ruediger

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.