Forum: Mikrocontroller und Digitale Elektronik USB MIDI Interface


von Felice D. (flexbex)


Lesenswert?

Hallo
Vielleicht kann mir ja jemand weiterhelfen. Im Rahmen meiner Bachelor 
Arbeit entwickel ich einen Midicontroller.
Also im Grunde sollen nur 2-3 Potis Abgefragt werden und als Midi Signal 
an den Rechner gesendet werden. Hab das Forum schon durchsucht und 2-3 
Themen gefunden, die aber nicht ganz passten bzw nicht beantwortet 
werden können.

Ich nutze einen MSP430 für den Haupteil. Dieser soll die Potis abfragen 
und dann die Werte als midi Signal senden bzw Daten vom Host empfangen. 
Bis dahin sollte ich das aber implementiert kriegen. Bin noch ganz am 
Anfang der Arbeit.

Wo es jetzt aber Hackt ist die Implementierung des USB - Midi 
Interfaces. Diese würde ich gerne Auslagern und bestehende Lösungen 
nutzen um mir keine weitere Fehlerquelle einzuholen.

folgende Varianten hab ich durchdacht:
http://www.ucapps.de/mbhp_usb_gm5.html -> aber wie komm ich an den Chip
Ft232 Lösung also Com Port nutzen und dann mit Roland oder Yamaha serial 
to midi Driver -> leider nicht mehr für aktuelle Betriebssystem 
vorhanden
oder natürlich einfach midi 2 Usb Kabel nutzen -> will ich aber nich 
weil ich den Usb Teil schon gerne integriert auf der Platine 
unterbringen würde

Hab noch mehr Lösungen gefunden aber wollte nur mal ne Auswahl geben von 
dem was ich schon gesucht hat.

Am besten wär ne Robuste Pic Lösung oder Ähnliches.

Lg
Felice

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Felice Dalice schrieb:
> Wo es jetzt aber Hackt ist die Implementierung des USB - Midi
> Interfaces. Diese würde ich gerne Auslagern und bestehende Lösungen
> nutzen um mir keine weitere Fehlerquelle einzuholen.
Kauf einen fertigen USB-Midi-Adapter für 5 Euronen...

Felice Dalice schrieb:
> Im Rahmen meiner Bachelor Arbeit entwickel ich einen Midicontroller.
> Also im Grunde sollen nur 2-3 Potis Abgefragt werden und als Midi Signal
> an den Rechner gesendet werden.
Diese Aufgabe könntest du abkürzen:
> Also im Grunde sollen nur 2-3 Potis Abgefragt werden und ...
> an den Rechner gesendet werden.
Und damit diesen unnötigen Teil weglassen:
> dann die Werte als midi Signal senden

> als midi Signal senden bzw Daten vom Host empfangen.
Hast du verstanden, was MIDI ist?
Dir ist klar, dass es keine bidirektionale Schnittstelle ist? Wozu also 
etwas empfangen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Felice Dalice schrieb:
> Wo es jetzt aber Hackt ist die Implementierung des USB - Midi
> Interfaces.

Hacken wird es da sicherlich nicht, höchstens haken. Und auch das 
nicht, warum das Rad neu erfinden?

Bau in Dein Gerät ein MIDI-Interface ein (also die üblichen Optokoppler 
und DIN-Buchsen) und nutze ein fertiges USB-Midi-Interface.

http://www.thomann.de/de/miditech_midilinkmini.htm

Notfalls bau halt das Ding in Dein Gerät ein. So kostengünstig bekommst 
Du so etwas nicht selbst entwickelt, gebaut und getestet.

Wenn Dir der Selbstbau trotzdem unbedingt ganz wichtig ist, dann musst 
Du ein eigenes USB-Device stricken, kannst also auf vorgefertigte 
Lösungen à la FT232 nicht zurückgreifen. Denn das USB-Device muss die 
USB-Standardgeräteklasse "MIDI-Interface" implementieren, und das tut 
der FT232 nicht.

Ein Ausgangspunkt für eigene Forschungen dürfte der beliebte 
V-USB-Softwarestack sein, mit dem man mit einem AVR manche 
USB-Geräteklassen implementieren kann.
Ein MIDI-Interface hat hier schon mal jemand damit gebaut:
http://cryptomys.de/horo/AVR-MIDI/

Nein, die Funktionalität des V-USB-Stacks ist bislang nicht auf andere 
µC-Familien portiert worden, wenn Du das nativ mit einem MSP430 
abwickeln willst, musst Du einen mit Hardware-USB-Interface verwenden 
und den dafür vorgesehenen USB-Device-Stack nutzen.

von Icke (Gast)


Lesenswert?

Lothar Miller schrieb:
> Dir ist klar, dass es keine bidirektionale Schnittstelle ist? Wozu also
> etwas empfangen?

Der Host könnte die Controllernummern anpassen oder den Wertebereich 
vorgeben.

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


Lesenswert?

Lothar Miller schrieb:
> Dir ist klar, dass es keine bidirektionale Schnittstelle ist? Wozu also
> etwas empfangen?

Will man MIDI wirklich musikalisch nutzen, braucht man beide Wege.

von Stefan P. (form)


Lesenswert?

Ich habe, glaube ich, zuhause noch zwei neue SO-8 ICs rumliegen, die 
sich per USB als MIDI-Device anmelden (Treiber in aktuellen 
Betriebssystemen schon vorhanden), und dann TTL Pegel (RX/TX) für MIDI 
bereitstellen.

Ich schaue heute Abend mal welche das genau sind.
Wenn Du Interesse hast, kann ich Dir die ICs günstig abgeben.

von Felice D. (flexbex)


Lesenswert?

@Stefan P ja das wäre Super. Sag mal bescheid!
Gruß felix

von Felice D. (flexbex)


Lesenswert?

Hallo
damit, dass hier bitte keine Diskussion wird über Unsinn oder Sinn der 
Aufgabe.
Es sollen perspektivisch noch mehr Potis und Regler angeschlossen 
werden.

Wie schon gesagt muss es Bi direktional ausgeführt werden um u.a. SysEx 
Nachrichten zu senden.

Die Aufgabenstellung ist einen Midicontroller mit USB Anschluss zu 
schaffen, deshalb kommen wirklich leider keine Externen Lösungen in 
Frage.

für den FT232 gibt es einen Treiber um Nachrichten am Com Port auf den 
Midi Port umzulenken.
Beitrag "MIDI mit FT232"

wie gesagt ich suche halt eine stabile Lösung Midi Daten über die Usb 
Schnittstelle zu senden
lg
Felix

von Stefan P. (form)


Lesenswert?

Hallo Felix,
ich habe nun mal nachgesehen was ich vorhin meinte.
Das sind hier 2 neue AN2131SC von Cypress.

Damit lässt sich recht einfach ein 2x2 MIDI Interface aufbauen.
Beispiel-Schaltung + Firmware gibts hier:
http://www.ucapps.de/mbhp_usb.html
(Vor allem auch mal die "Mini"-Version des Schaltplans ansehen!)

In der Tüte "nebenan" liegt auch noch ein neuer 6N138 Optokoppler, der 
gern für MIDI-Sachen genommen wird - Vielleicht willst Du den ja auch 
dazu, ich brauche die Sachen nicht mehr.

von Antal V. (antal_v)


Lesenswert?

Hallo Felice,

habe in meiner Bachelor arbeit genau das selbe vor.
Bin inzwischen mit meiner Recherche fast fertig und werde auf eine 
Lösung ähnlich dieser zurückgreifen
http://www.grapevyne.com/pic.projects/html/mistralxg.htm

schönen tag noch
antal

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.