Hallo, würde Atmega16 an 3 Geräte ansprechen. Ausgang Rx von Atmega 3mal aufteilen, damit 3 Geräten gleichzeitig Rx empfangen können. Die 3 Geräten Sind Lantronix Xport, FTDI, und ein nomale Tx von UART. Hab überlegt, die 3 Anschlüsse einfach zusammenführen, aber weiss ich nicht, ob die Signalen von 3 Geräten gegenseitig stören können oder nicht, deswegen würde ich hier ein AND Gate als Puffer verwenden, Rx wird an 3 AND GATE angeschlossen, und andere Eingang von AND GATE auf 1 gesetzt. Weiss ihr vielleicht, die Überlegung richtig ist oder nicht? Danke im Voraus.
Am AND-Gate ein Eingang Signal und ein "Steueranschluss"? Ja, das müsste gehen.
Für 1*Tx => 3*Rx sind OR-Gates korrekt, denn ein inaktives Signal ist 1, nicht 0. Alternative sind 3x Serienwiderstand 1-10K und jeweils den Steueranschluss dahinter (Steuerausgang offen => Tx kommt durch, Steuerausgang high => Tx kommt nicht durch, Signal high). Für die Rückrichtung 3*Tx => 1*Rx hängt es davon ab, ob die gleichzeitig was übertragen wollen. Wenn nicht: 3 Dioden plus gemeinsamer Pullup.
Andreas Kaiser wrote:
> [...] denn ein inaktives Signal ist 1, nicht 0.
Upps, hast natürlich recht. Hatte ich nicht dran gedacht...
Wenn dir ein IC lieber ist: Analogmuxer '4052 mit Pullup an allen Rx Pins, damit die nicht floaten. Nicht einfacher, aber etwas stromsparender.
> Ausgang Rx von Atmega Der RX-Pin eines ATmegae ist ein EINGANG. Also, was willst du wirklich? (A) Den TX (nicht RX) Ausgang des ATmega auf die Eingänge dreier weitere Bausteine geben? (B) Den Ausgang von drei Bausteinen auf den RX Eingang des ATmega geben? Wenn (A): Datenblätter studieren, um sicherzustellen, dass der TX-Ausgang durch die drei Eingänge nicht mit mehr als dem zulässigen Strom belastet wird. Wenn überlastet: Einfachen Puffer / Treiber dazwischen setzen. Wenn (B): Datenblätter studieren um herauszufinden ob alle drei externen Bausteine tri-state Ausgänge haben. Wenn ja, nutzen. Wenn nicht, Dioden, AND-Gates gefolgt von einem 3xOR-Gate oder Multiplexer. Ja, AND und nicht etwa OR zur Auswahl des Bausteins, da serielle Signale auf TTL-Level ganz normale Logik (high = 1 und low = 0) verwenden. Erst Leitungstreiber wie der MAX232 invertieren das Signal (wer's nicht glaubt: Datenblatt).
Norgan wrote: > Ja, AND und nicht etwa OR zur Auswahl des Bausteins, da serielle Signale > auf TTL-Level ganz normale Logik (high = 1 und low = 0) verwenden. Trotzdem ist ein inaktives serielles Signal auf der TTL-Seite auf 1. Wer's nicht glaubt: Doku lesen. Also spielen wir das mal durch. Man nehme ein AND-Gate. Am einen Eingang liegt TX vom zentralen Controller, am anderen das Steuersignal, der Ausgang geht zum RX vom Slave: Steueranschluss=1: TX => RX kommt durch. Steueranschluss=0: RX=0, ergibt BREAK Zustand. Mit OR passts es, mit AND nicht. Allerdings wirkt das Steuersignal dann anders herum. 0=pass, 1=open.
Norgan wrote: > Ja, AND und nicht etwa OR zur Auswahl des Bausteins, da serielle Signale > auf TTL-Level ganz normale Logik (high = 1 und low = 0) verwenden. Erst > Leitungstreiber wie der MAX232 invertieren das Signal (wer's nicht > glaubt: Datenblatt). Das hat nichts mit dem Invertieren zu tun! Der Ruhezustand auf den Leitungen ist ein High-Pegel , und genau darum geht es! Dass ein Schnittstellentreiber wie MAX232 aus einem High-Pegel (1) eine negative Spannung macht, hat hier keine Bedeutung.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.