Guten Tag, ich habe eine Frage zu folgender Schaltung: http://www.wiesolator.de/index.php?area=Musik&topic=MIDI-Einstieg&stopic=MIDI%20und%20AVR Warum ist hier der Optokopplerausgang, der mit TX des Atmega verbunden ist, invertiert? Sind dann die Zeichen am UART nicht auch invertiert? Beste Grüße
Master ("von UART") HIGH: kein Strom in der Schleife, die den Master mit dem Optokoppler verbindet. Also "An UART" beim Slave auch HIGH. Master ("von UART") LOW: Strom fließt durch die Schleife, LED im Optokoppler leuchtet, Phototransistor durchgesteuert, "An UART" LOW.
:
Bearbeitet durch User
trenner schrieb: > Eine Midi Schnittstelle funktioniert prinzipiell ähnlich einer regulären RS232 (als nicht der TTL-Variante). D.h. der Ruhepegel auf der Leitung ist High und wenn ein 1 Bit ausgegeben werden soll, wird die Leitung auf Low gezogen. Bei einer regulären RS232 wäre Highpegel +12V und LowPegel -12V. Midi an sich verwendet ja eine Stromschnittstelle, aber das Prinzip ist im Grunde immer noch dasselbe: Ruhepegel ist der 'High-Zustand', in dem Strom fliesst. Ein 1 Bit wird dadurch ausgegeben, das der 'Low-Zustand' hergestellt wird, in dem kein Strom fliesst. Das gilt in Bezug auf die Midi-Leitung Am Mega ist die Sache aber gerade anders rum. Der hat TTL-RS232. D.h. im Ruhezustand ist der Pin auf 0 und ein 1 Bit wird ausgegeben, indem der Pin auf 1 gezogen wird. Also genau anders rum. Und deshalb muss invertiert werden. > Sind dann die Zeichen am UART nicht auch invertiert? Auf dem Kabel: ja, so könnte man das sagen. Auf der Empfängerseite macht ja dann die Optokoppler Beschaltung mit dem Pullup diese invertierte Sicht wieder rückgängig. Solange man nur 2 AVR miteinander verbinden will, könnte man auch ohne INvertierung auskommen, denn dann hat man ja Sender und Empfänger unter Kontrolle. Nur, wenn man was allgemeines will und sich an den Standard hält, dann muss man eben nach dessen Spielregeln spiegelen. Dafür kann man dann aber auch andere MIDI Geräte anschliessen. Denn: die Situation am Kabel ist es ja, die vom Standard vorgeschrieben wird. Alles andere kann ja ein Standard nicht definieren, weil ja keiner sagt, wie die Situation nach dem Kabel dann in meiner Elektronik weiter geht.
Karl Heinz schrieb: > Midi an sich verwendet ja eine Stromschnittstelle, aber das Prinzip ist > im Grunde immer noch dasselbe: Ruhepegel ist der 'High-Zustand', in dem > Strom fliesst. Ein 1 Bit wird dadurch ausgegeben, das der 'Low-Zustand' > hergestellt wird, in dem kein Strom fliesst. Genau das ist falsch. Der Ruhepegel bei MIDI ist zwar HIGH, aber es fließt in dem Moment kein Strom durch die MIDI-Leitungen, da diese zwischen Treiberausgang und VCC mit jeweils einem Widerstand in Serie verschaltet sind. Der Treiber gibt also High aus und das entspricht VCC: es fließt kein Strom. Bei Low am Treiber hingegen fließt Strom über das Kabel und die LED des Optokopplers am Empfänger nach VCC. Schließt man eine normale LED polrichtig an eine MIDI-OUT Buchse, kann man also die LOW-Pulse sehen, bei HIGH ist die LED aus. Karl Heinz schrieb: > Am Mega ist die Sache aber gerade anders rum. Der hat TTL-RS232. D.h. im > Ruhezustand ist der Pin auf 0 Auch falsch. Die UART des ATMEGA gibt im Ruhezustand 1 (High) aus. Das Start-Bit ist immer LOW, das Stopp-Bit immer HIGH.
:
Bearbeitet durch User
Vielen Dank für die Aufklärung! Knut Ballhause schrieb: > Genau das ist falsch. Der Ruhepegel bei MIDI ist zwar HIGH, aber es > fließt in dem Moment kein Strom durch die MIDI-Leitungen, da diese > zwischen Treiberausgang und VCC mit jeweils einem Widerstand in Serie > verschaltet sind. Der Treiber gibt also High aus und das entspricht VCC: > es fließt kein Strom. Bei Low am Treiber hingegen fließt Strom über das > Kabel und die LED des Optokopplers am Empfänger nach VCC. Schließt man > eine normale LED polrichtig an eine MIDI-OUT Buchse, kann man also die > LOW-Pulse sehen, bei HIGH ist die LED aus. > > Karl Heinz schrieb: >> Am Mega ist die Sache aber gerade anders rum. Der hat TTL-RS232. D.h. im >> Ruhezustand ist der Pin auf 0 > > Auch falsch. Die UART des ATMEGA gibt im Ruhezustand 1 (High) aus. Das > Start-Bit ist immer LOW, das Stopp-Bit immer HIGH. Jetzt habe ich noch eine Frage: Ich will eine andere Schaltung zwischen einem USB-UART-Modul und einem ATMega UART galvanisch trennen, habe zur Zeit aber nur 6N137 Optokoppler (invertierend) zur Verfügung. Kann ich die Schaltung mit einer Stromschleife und den Widerständen dort auch invertieren oder muss ich das mit nem Inverterbaustein machen? Frohe Feiertage!
Du beißt Dich sehr am Begriff "(nicht-)invertierend" fest; deshalb habe ich dieses Wort meiner ersten Antwort oben vermieden und Dir nur gezeigt, dass das Signal am Ende wieder korrekt ist. Je nach den Eigenschaften der Logikschaltung, die die LED im Optokoppler treibt, solltest Du überlegen, dass Du die LED auf zwei Arten betreiben kannst: Ausgang der Logikschaltung an LED-Anode, LED-Kathode an GND (H an LED: LED an) ODER Ausgang der Logikschaltung an LED-Kathode, LED-Anode an + (H an LED: LED aus) Beim 6N137 sind Anode und Kathode der internen LED nicht mit anderen Pins verbunden, daher sind beide Wege möglich. Stelle sicher, dass beide Möglichkeiten auch zu Deiner Treiberschaltung passen.
Fred S. schrieb: > Du beißt Dich sehr am Begriff "(nicht-)invertierend" fest; deshalb > habe > ich dieses Wort meiner ersten Antwort oben vermieden und Dir nur > gezeigt, dass das Signal am Ende wieder korrekt ist. > > Je nach den Eigenschaften der Logikschaltung, die die LED im Optokoppler > treibt, solltest Du überlegen, dass Du die LED auf zwei Arten betreiben > kannst: > > Ausgang der Logikschaltung an LED-Anode, LED-Kathode an GND (H an LED: > LED an) > ODER > > Ausgang der Logikschaltung an LED-Kathode, LED-Anode an + (H an LED: LED > aus) > > Beim 6N137 sind Anode und Kathode der internen LED nicht mit anderen > Pins verbunden, daher sind beide Wege möglich. Stelle sicher, dass beide > Möglichkeiten auch zu Deiner Treiberschaltung passen. Ah, vielen Dank! Jetzt wird mir einiges klar. Hat das denn eigentlich einen Grund, dass in der MIDI Schaltung mehrere 220 Ohm Widerstände eingebaut sind, oder könnte man nicht einfach nur einen 680 Ohm WIderstand bspw. einbauen? Ich möchte das ganze von einem CP2102 aus ansteuern. Ist das bei jedem handelsüblichen Chip möglich, dass Strom in den Ausgang fließt (mit Widerstand natürlich zur Strombegrenzung)? Habe ich eigentlich noch nirgends vorher gesehen, kann ich das z.B. mit einem ATMega immer so machen oder gibts da was zu beachten?
trenner schrieb: > Jetzt wird mir einiges klar. Hat das denn eigentlich > einen Grund, dass in der MIDI Schaltung mehrere 220 Ohm Widerstände > eingebaut sind, oder könnte man nicht einfach nur einen 680 Ohm > WIderstand bspw. einbauen? Wenn Du MIDI-kompatible Komponenten bauen willst, musst Du Dich nach http://www.midi.org/techspecs/electrispec.php richten. Falls das ganze "fest verdrahtet" ist (nur ein Sender und ein Empfänger, die nie durch andere Sender bzw. Empfänger ersetzt werden, kannst Du machen, was Du willst, wenn es nur funktioniert...). > Ist das bei jedem handelsüblichen Chip möglich, dass Strom in den > Ausgang fließt (mit Widerstand natürlich zur Strombegrenzung)? Habe > ich eigentlich noch nirgends vorher gesehen, kann ich das z.B. mit einem > ATMega immer so machen oder gibts da was zu beachten? S.o.: wenn MIDI-Kompatibilität erforderlich ist, dann richte Dich nach dem Standard. Die Datenblätter der Controller geben Dir an, welchen Strom die Ausgänge gegen Masse bzw. gegen + liefern könnten (heute meist identische Ströme, früher oft gegen + mehr als gegen Masse). Auch der CP2102, den ich persönlich nicht kenne, hat ein Datenblatt. Wenn Du weitere Fragen hast, spezifiziere bitte ganz klar (mit mindestens einem Blockschaltbild -- Handskizze reicht), welche Komponenten welche Optokoppler ansteuern sollen, ob eine mit dem dem Standard-kompatible MIDI-Schleife nötig ist usw.
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.