2017-09-11 1 views
1

Ich bin auf der Suche nach MIDI-Nachrichten, um einen Mikrocontroller-basierten Synthesizer zu steuern, und ich arbeite daran, das MIDI-Protokoll zu verstehen, damit ich einen MIDI-Handler implementieren kann. Ich habe gelesen, dass MIDI mit 31,25kHz ohne dedizierte Taktleitung übertragen wird - muss ich die Leitung mit 31,25kHz mit dem Mikrocontroller abtasten, um MIDI-Bytes zu empfangen?Wie man Mikrocontroller mit MIDI-Controller-Ausgang synchronisiert

Antwort

0

Die MIDI specification sagt:

Die Hardware-MIDI-Schnittstelle mit 31,25 (+/- 1%) betreibt Kbaud, asynchron mit einem Startbit, 8 Datenbits (D0 bis D7) und einem Stopbit . [...] Bytes werden zuerst LSB gesendet.

Dies beschreibt ein Standard-UART-Protokoll; Sie können einfach die UART-Hardware verwenden, die die meisten Mikrocontroller eingebaut haben. (Die Baudrate von 31250 Hz wurde gewählt, weil sie leicht von einem 1 MHz-Takt abgeleitet werden kann.)

Wenn Sie wirklich implementieren wollten der Empfänger in der Software, würden Sie das Eingangssignal mit einer höheren Rate abtasten, um in der Lage zu sein, das Niveau in der Mitte jedes Bits zuverlässig zu ermitteln; Einzelheiten siehe What exactly is the start bit error in UART? und How does UART know the difference between data bits and start/stop bits?

Verwandte Themen