mikrocontroller.net

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


Autor: Jens Plappert (Firma: Bei mir und dir.) (gravewarrior)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jensemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jensemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Fred S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jens Plappert (Firma: Bei mir und dir.) (gravewarrior)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.