Forum: Mikrocontroller und Digitale Elektronik Verständnisproblem MIDI an UART


von Jens P. (Gast)


Lesenswert?

Hi Leute, MIDI ist ja 0V = 1 und 5V = 0. TTL bekanntlich ja andersrum. 
So weit so gut. Ich frage mich jetzt, wenn ich MIDI an den USART des 
Controllers bringen will, muss ich dann invertieren oder nicht?

Mein Geühl und Verständnis sagt: Invertieren

Aber:

Alle Projekte im Web setzen die Schnittstelle so um, dass eine logische 
MIDI-1 0 V am RX-Pin sind.

Beispiele:
http://m.bareille.free.fr/mc628/midi628shl.gif
alles auf ucapps.de

Jetzt frage ich mich: Wieso machen die das?

Wegen dem Startbit? Damit die Startflanke eben von 5 nach 0V fällt?
Wie gehts dann weiter? Der Controller liest ja dann "Falsch". Dann 
nochmal alles 0xFF OR ?

Bin gerade etwas verwirrt und würde mich über etwas Aufklärung freuen.

mfg, Jens

von Andreas W. (Gast)


Lesenswert?

Der UART des MCUs gibt schon invertiert aus:
0 -> 5V
1 -> 0V

Bei einer 1 liegt am Tx-Pin 0V -> Optokoppler U2 steuert duch -> am 
Rx-Pin liegt 0V

von Joerg W. (joergwolfram)


Lesenswert?

MIDI ist eine Stromschnittstelle mit Optokopplern auf der Eingangsseite. 
Logisch "1" bedeutet "kein Strom" und logisch "0" bedeutet "Strom" 
(steht leider in der Wikipedia auch verkehrt drin). Somit kann man 
UART/SCI... ohne Invertierung verwenden. Bei einer logischen "0" fließt 
Strom von TX über den Optokoppler auf der Empfängerseite und den 
Strombegrenzungswiderstand nach +5V (geht auch mit anderen Spannungen). 
Der Optokoppler ist so an RX angeschaltet, dass er durchgesteuert nach 
Masse (="0") zieht. Also sozusagen eine 1:1 Verbindung.

Gruß Jörg

von Jensemann (Gast)


Lesenswert?

Aha, also wenn ich das Richtig verstanden habe, stehts in der Wikipedia 
falsch drinne, die geschaltete Leitung des MIDI-weges ist als "normal 
rum" anzusehen. 0V=0, 5V=1. Halt eben Stromgesteuert über Optokoppler. 
Richtig soweit?

@ Andreas W: Bist du dir sicher das der UART des PIC invertiert 
ausgiebt?
Wozu würden dann Treibersteine a'la MAX232 invertieren?

Ich glaube die sind TTL-Logisch. Bitte korrigiert mich wenn ich irre.

Ansonsten schonmal vielen Dank!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wichtig ist noch, daß der Arbeitswiderstand des Optokopplertransistors 
nicht zu groß ist, da sonst der Koppler zu langsam wird bzw. die Flanken 
zu flach werden. 470 Ohm bis 1kOhm haben sich bei Kopplern mit 100-400% 
CTR bewährt. Sollte die Verbindung fehlerhaft sein, zuerst an der Stelle 
suchen.

von Jensemann (Gast)


Lesenswert?

Gehe ich dann richtig in der Annahme, dass ich bei Niederohmiger 
Beschaltung Problemlos z.B. den CNY-17 verwenden könnte und nicht 
unbedingt Darlington/Trigger-Typen brauche?

von Fred S. (Gast)


Lesenswert?

Jensemann wrote:
> Gehe ich dann richtig in der Annahme, dass ich bei Niederohmiger
> Beschaltung Problemlos z.B. den CNY-17 verwenden könnte ...
der CNY-17 mit einem Widerstand von <2k bei 5V reicht nach meiner 
Erfahrung für die MIDI Baudrate von 31250 problemlos.

Gruß

Fred

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Kann ich bestätigen. Sowohl CNY17-I und CNY17-II laufen damit 
problemlos. Die CNY17-III sind etwas anfälliger gegen Störungen.

von David (Gast)


Lesenswert?


von Jens P. (Gast)


Lesenswert?

Allright, vielen Dank für eure hilfe. Das das im Wikipedia so verdreht 
drinnesteht is aber auch scheisse.... is ja einer der wenigen deutschen 
Artikel, und alles andere was ich bisher davon "brauchte" war ganz 
brauchbar.

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
Noch kein Account? Hier anmelden.