Hallo, ich habe Active-Low-Signale von 4 Quellen (Optokoppler + 0,5 Meter Kabel je Signal), die ich auf den RX-Uart-Pin von einem Atmega führen will. Wie kann ich die Signale zusammen führen? Optimal wäre (aus Platzgründen) ein IC mit 4 hochohmigen Eingängen, das am Ausgang 5V bereit stellt wenn alle 4 Eingänge ebenfalls auf 5V stehen, und 0V wenn mindestens einer Eingänge auf 0V ist. Also ein AND. Da scheint es aber nichts mit 4 Eingängen zu geben? Die simpelste diskrete Lösung wäre wohl, 4 Dioden zu nehmen und vom Low-Signal dann einen Pullup-Widerstand (oder den AVR-internen) runter ziehen zu lassen. Ich befürchte aber, dass das Signal danach grausam aussieht. Die einzigen Dioden, die ich da habe, sind 1N4148. Die Baudrate steht noch nicht fest, im Hinblick auf den Quarz werden es wohl 19200 Baud (250.000 macht das Flachbandkabel dazwischen bestimmt nicht mit). Gruß, Chris
Natürlich gibts 4fach AND, (4082 z.B.) Dioden werden auch funktionieren, die Langweiler erden eh die Optokoppler sein. Probleme werden auftauchen, wenn 2 (oder mehr) sich überlappen. Kannst du das ausschliessen, funktionierts.
Wenn Du es nicht allzu eilig hast, keine Angst vor minimalen Leckströmen bekommst, was sollte da gegen die gute, alte 1N4184 sprechen? Im Gegensatz zu vielen anderen Bauteilen kannst Du dich bei der auf die Daten verlassen. Wunder sind allerdings im Preis nicht eingeschlossen.
Hallo, ein 74HCT08 mit seinen 4 2-input AND Gattern tut das was du willst, musst nur 3 Gatter davon geeignet verschalten
Chris schrieb: > werden es wohl 19200 Baud Dicker Pullup beim Master-RX hilft gegen miese Flanken. CAN und LIN kennen es nicht/kaum anders.
Wenn Du das UART vor Deinen Optokopplern invertierst (also wenn ein Bit gesendet wird an, idle aus), brauchst Du beim Empfang gar nix: einfach ein stärkerer Pullup (z.B. 1K) und da die 4 Kollektoren der Optokoppler dran. Jeder Optokoppler kann jetzt das Signal auf GND runterziehen. Das invertieren vor dem Optokoppler kannst Du mit nem simplen NPN und Pullup machen.
Gerd E. schrieb: > Wenn Du das UART vor Deinen Optokopplern invertierst (also wenn ein Bit > gesendet wird an, idle aus), Hallo Gerd, wieso sollte er invertieren müssen? Der Ruhezustand des Signals ist ein H-Pegel, seine Quellen sind active low mit open collector-Ausgängen. Da reicht ein genügend niederohmiger Pull-Up-Widerstand und ein wired or. Grüße Stefan
Danke für eure Antworten! Ich probiere das mit den Dioden einmal aus. Ich verwende die 6N137 Optokoppler und habe sie so angeschlossen, dass sie Idle nicht "leuchten". Durch den Pullup stellt sich am Ausgang dann ein High-Pegel ein. Gruß, Chris
Chris schrieb: > Ich probiere das mit den Dioden einmal aus Hallo Chris, wenn du die Optokoppler als open collector-Ausgänge betreibst, kannst du sie direkt parallel schalten. Ich hab das vor Jahren mal als einfachen galvanisch getrennten Bus genutzt. Wichtig ist nur, dass du den Pull-up-Widerstand ausreichen niederohmig machst, damit die steigenden Flanken steil genug sind. Am besten solltest du das Signal am Empfänger mit dem Oszilloskop überprüfen. Grüße Stefan
Da ich 4 0,5 Meter Flachbandkabel habe die am AVR sternförmig zusammen laufen, war meine Idee, jedes Kabel auf einen Eingang eines AND-ICs zu führen, damit sich die Signale so wenig wie möglich durch die Verkabelung gestört werden. Daher habe ich jeden Optokoppler getrennt betrachtet und ihm (als open Collector schaltung) einen eigenen Pullup spendiert. Natürlich kann man das auch einfach zusammen knoten. Manchmal sieht man den Wald vor lauter Bäumen nicht... Gruß, Chris
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.