Hallo, ich möchte mehrere Mikrocontroller an den RxD-Pin der seriellen Schnittstelle des Computers anschließen. Per Software ist geregelt, dass höchstens ein Controller gerade sendet. Ist diese Verbindung möglich, denn wenn ein Controller gerade am senden ist erhalten die anderen diese Signale ja an ihrem TxD-Pin. Brauche ich Dioden? Vielen Dank! Matthias
Die Sache ist die... du brauchst keine Dioden, aber einen Pegelwandler (Klassiker: MAX232), der deine 5V-TTL-Signale vom AVR auf die +-12V der seriellen Schnittstelle des Computers anhebt. Die 12V-Ausgänge (="außen") des Pegelwandlers solltest du besser nicht zusammenschalten. Was du aber auf der TTL-Seite (="drinnen") veranstaltest, ist dem MAX232 z.B. egal. Wenn du sauber programmierst, könntest du z.B. die TxD-Pins (welche ja denn auf das RxD des Computers verschaltet werden) über 100 Ohm parallelschalten (Kurzschlusssicherheit) und dann nur bei dem AVR, der gerade auf Sendung ist, das DDR-Bit setzen. Bei allen anderen AVRs wird das Bit gelöscht und damit der TxD-Pin zum Eingang.
Danke Sven für deine schnelle Antwort! Ich verwende genau wie du geschrieben hast einen MAX232 und will die TxD-Pins der Controller dahinter zusammenschalten (TTL-Seite). Die Controller sind alle AT89C2051. Ich möchte die Funktion der TxD- und RxD-Pins aber nicht verändern. Die Daten sind ja auch ausschließlich für den PC bestimmt. Weißt du, ob es den TxD-Pins schadet wenn an ihnen Signale anliegen? Daher meine Idee mit den Dioden. Allerdings haben diese ja 0,7V Spannungsabfall.
Dioden würden gehen, besser wäre aber, du nimmst Treiber mit Open-Collector-Ausgang. Deren Ausgänge kannst du zusammenschalten (Pull-Up nicht vergessen).
Was ist der Nachteil von Dioden? Sind sie schnell genug? Ich möchte mit 115200 Baud übertragen.
Mit Dioden hebst du den Low-Pegel um ein paar Zehntel Volt an (daher auch besser Schottky-Dioden nehmen). Musst halt schauen, was dein µC an Low-Pegel liefert, und was der Pegelwandler maximal sicher als Low erkennt.
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.