ATmega128 und MIDI

Gast #835380
Lesenswert?

Hallo!

Ich habe ein kleines Problem...
Bei meinem Projekt geht es darum eine Musiksoftware auf dem PC über ein 
externen MIDI Controller zu steuern den ich entwickle!
Bei Musiksoftware Reason muss man alle Schiebe- und Drehpotis über die 
Maus programmieren und ich will diese Elemente auf ein Gerät auslagern!

Die Verbindung von PC zum Gerät soll über diesen MIDI/USB Adapter 
erfolgen:
http://www.produktinfo.conrad.com/datenblaetter/975000-999999/994272-an-01-de-USB-MIDIINTERFACE_E-MU_1X1.pdf

An dem Gerät werden also 2 MIDI-Buchsen (DIN5) Platz finden und es 
sollen echte MIDI-Signale rauskommen.

Damit Ihr euch das vielleicht besser vorstellen könnt habe ich ein Bild 
von dem Layout raufgeladen...
http://michel.luarasi.com/Layout.jpg
(Es sind noch lange nicht alle Komponenten wie z.B. die MIDI-Buchsen 
oder die Analog-Multiplexer platziert...)

Ich arbeite mit dem uC ATmega128 und ich habe keine Ahnung wie ich 
MIDI-Signale erzeugen soll...

Könnt Ihr mich vielleicht weiterhelfen? Ich wäre sehr dankbar

MfG
Luarasi
Gast #835831
Lesenswert?

Danke für die sehr Hilfreiche Antwort...

Kurze Frage, wie funktioniert das mit dieser Baudrate?
Für den Clock verwende ich einen Quarz 7.37 MHz und die Baudrate soll 
31250k sein...

Hab im Manual des ATmega128 einiges über CLockGeneration unter Uart 
gefunden, aber ich werde einfach nicht schlau!

Danke und mfG
Luarasi
Gast #835835
Lesenswert?

Vorallem nimm einen ATmega8. Der ATmega128 ist für einen Anfänger, wie 
du wohl einer bist (nicht bös gemeint!) viel zu groß. Ganz davon 
abgesehen: auch für dein Vorhaben ist ein ATmega128 schlicht und einfach 
Overkill und viel zu teuer.
Gast #835837
Lesenswert?

Hallo!
Mit einem ATmega8 komm ich nicht weit...
Habe 36 Steuerelemente die ich einlesen muss (einige davon werden 
Multiplexed)

Und wir haben alle ATmega-Reihen in der Firma auf Lager!

Aber bitte zurück zur Frage...


Danke...
(Firma: TravelRec.) Persönliche Seite #835846
Lesenswert?

Kein Problem. Guck Dir nochmal in Ruhe die Sektion USART im Datenblatt 
an, da steht im Grunde alles drin. Achtung: der ATMEGA128 hat 2 USARTs, 
eines davon auf den SPI-Leitungen. Die Initialisierung und Verwendung 
beider USARTs unterscheidet sich in ASM voneinander, da die Register 
teilweise im erweiterten I/O Bereich liegen und somit mit lds/sts 
angesprochen werden müssen.
Gast #835881
Lesenswert?

> Vorallem nimm einen ATmega8. Der ATmega128 ist für einen Anfänger, wie
>du wohl einer bist (nicht bös gemeint!) viel zu groß. Ganz davon
>abgesehen: auch für dein Vorhaben ist ein ATmega128 schlicht und einfach
>Overkill und viel zu teuer.

völliger Quatsch
Gast #835923
Lesenswert?

Luarasi wrote:
> Mit einem ATmega8 komm ich nicht weit...
> Habe 36 Steuerelemente die ich einlesen muss (einige davon werden
> Multiplexed)

Naa, mach mal halblang. Mit einem ATmega8515 (ok, nicht ATmega8, aber 
trotzdem weit vom 128er weg) les ich dir ohne Probleme 32 Potentiometer 
plus 16 Tasten plus 12er-Tastenfeld ein und mach dir dadraus in Echtzeit 
einen Datenstrom mit 250kBit/s. LCD-Display natürlich inklusive.

Für so ein bisschen Abfrage brauch ich doch keinen 128er?!?!?

Und auch wenn Analog das anders sieht: Mit dem ATmega8(515) ist der 
Einstieg leichter als mit dem 128er.
Gast #835935
Lesenswert?

> Naa, mach mal halblang. Mit einem ATmega8515 (ok, nicht ATmega8, aber
> trotzdem weit vom 128er weg) les ich dir ohne Probleme 32 Potentiometer
> plus 16 Tasten plus 12er-Tastenfeld ein und mach dir dadraus in Echtzeit
> einen Datenstrom mit 250kBit/s. LCD-Display natürlich inklusive.

Der OP wollte Potis und Schieberegler abfragen. Von daher würde ich 
einen AVR mit A/D-Wandler empfehlen. Ein ATmega8535 sollte da ganz gut 
passen.

Ein Mega128 ist eigentlich völlig überdimensioniert - aber wenn er den 
schon hat...
Gast #835939
Lesenswert?

Mike wrote:
> Der OP wollte Potis und Schieberegler abfragen. Von daher würde ich
> einen AVR mit A/D-Wandler empfehlen. Ein ATmega8535 sollte da ganz gut
> passen.
>
> Ein Mega128 ist eigentlich völlig überdimensioniert - aber wenn er den
> schon hat...

Verzeih, Edith sagt, dass ich eigentlich auch den 8535 (3!) meinte...
Gast #836090
Lesenswert?

@luarasi

kann mich der meinung der anderen nur anschließen, ein mega128 ist zu 
groß.
würde vielleicht noch nen mega16 empfehlen (da hat man dann noch platz 
für spielereien ala MIDI-LFOs usw.) ist aber auch schon recht groß, aber 
noch nicht zu überdimensioniert.
Das MIDI interface selbst ist kein thema. nimm die schaltung aus der 
wikipedia oder sonstwoher (meist wird der 6n138 verbaut, geht aber auch 
mit anderen optokopplern).
baudrate erzeugen : wie oben schon erwähnt : mit 4,8 oder 16 MHz Quarz 
lässt sich die baudrate von 31250 ganz exakt erzeugen. mit krummen 
quarzen geht es aber auch.  baudratenteiler = (quarzfreuqenz / (16 * 
31250))
Habe am wochenende ein MIDI-Interface für meinen Selbstbau-Synthesizer 
an nen mega drangepömpelt lief (fast) auf anhieb (muß nochmal anderen 
widerstand ausprobieren, das signal ist nicht ganz sauber).

BTW. Mit welchem Programm hast du die Frontplattenzeichnung gemacht ?
Suche z.z. etwas ähnliches für die Frontplatte meines besagten 
Synthesizers.

Schönen Gruß
Rene


PS. Schickes Projekt :-) Vor allem weil man bei Reason so schöne viele 
lustige Knöpfchen hat :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren