Hallo, ich spiele zur Zeit mit dem Gedanken mich in die Mikrocontroller-Technik einzuarbeiten. Dabei geht es mir unter anderem um die Midi- Datenverarbeitung. Allerdings mangelt es noch ein bisschen an Wissen bei der Entscheidung, welcher der richtige Controller für mich ist. Und zwar möchte ich Midi Daten empfangen und gleichzeitig völlig Andere herraussenden - Midi In über RXD und Midi Out über TXD eben - soweit ja ganz einfach ... Jetzt hat mir ein Bekannter aber gesagt (arbeitet aber auch mit einem anderen Controller) ich bräcuhte 2 Uarts um gleichzeitig Mididaten sowohl empfangen als auch senden zu können. Wenn ich das richtig verstanden habe könne man den Datenbuffer oder so immer nur in eine Richtung verwenden !? Stimmt das so ? Brauche ich, um Midi-Eingang und Midi-Ausgang parallel zu betreiben einen Controller mit 2 Uarts ? Oder ist das vielleicht von Controller zu Controller verschieden? Bitte keine Aussage "Fang doch klein an" ... ich hätte doch schon gerne gleich einen Controller, mit dem ich für die Zukunft gerüstet bin. MfG Andi K.
Also theoretisch brauchst du nur einen Controller mit einer UART. über eine Leitung der UART empfängst du die Daten (von PC A) und auf der anderen Leitung schickst du die Daten wieder raus (an PC B). PC A und B kann identisch sein muss aber nicht. Nachteil wenn du nur eine UART nimmst, du kannst kein Fehlerhandling oder Handshake einbauen (es sei denn A und B sind identisch und die Midi-Daten brauchen weniger als 115kb/s des Datenstromes). Einfacher und sicherer ist es allerdings mit 2 UARTS.
Also ein UART reicht vollkommen für je ein MIDI-In und MIDI-Out. Bei MIDI gibt es kein Handshake und die Baudrate liegt mit festen 31250 nicht sonderlich hoch. Im übrigen ist da, im Gegensatz zu allgemeinen RS232-Anwendungen, eher ein Systemtakt (Quarz) mit gerader Taktfrequenz angebracht. So ergibt sich z.B. aus 8 MHz mit Vorteiler 256 die gewünschte MIDI-Baudrate. Gruß Ingo
danke ... alles klar noch mal ein Frage zu dem Quarz ... Brauche ich bei einem 16MHz AVR jetzt ein 8 MHz oder 16Mhz-Quarz ?
"16MHz AVR" bedeutet nur, das er mit max. 16 MHz betrieben werden kann. Ein 8 MHz Quarz geht natürlich auch, dann ist er aber auch nur etwa halb so schnell :-) Verbraucht aber auch etwas weniger Strom. Letztendlich kommt es darauf an, wie Umfangreich die Funktionen zur Ver-/Bearbeitung der MIDI-Daten sein sollen. Gruß Ingo
Hallo, danke, das ist mir schon klar soweit ;o) Mir ging es nur um die Auswahl des Quarzes,weil ich in diversen Schaltplänen mit 16 MHz AVRs ein 8 MHz Quarz gesehen habe ... da dachte ich, daß der ATMega vielleicht eine Art Frequenzmultiplikator hat oder so ...
"...mit 16 MHz AVRs ein 8 MHz Quarz gesehen habe..." Das ist korrekt so, man muß Bauteile nicht ausquetschen bis zu gehtnichtmehr. Ich habe z.B. viele ATTiny26 im Einsatz, die mit 1MHz arbeiten, obwohl sie 16MHz könnten. Ein guter Entwickler läßt immer Reserven (höhere Zuverlässigkeit). Für die UART gilt: Quarz = n 16 Baudrate Der kleinste mögliche Quarz wäre also 1 16 31250 = 500kHz. Peter
Hallo Peter, wenn man die Rechnung für zwei UARTs aufstellt mit z.B. unterschiedlichen Baudraten, werden diese dann addiert um die kleinste Frequenz des Quarzes zu berechnen? Wolfgang
@ Wolfgang >wenn man die Rechnung für zwei UARTs aufstellt mit z.B. >unterschiedlichen Baudraten, werden diese dann addiert um die kleinste >Frequenz des Quarzes zu berechnen? Natürlich nicht! Wieso auch? Dann gilt der jeweils kleinere Wert. MFG Falk
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.