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
> 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
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)
> 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
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
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
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
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
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
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