Forum: Mikrocontroller und Digitale Elektronik nochmal zum Midi-Protokoll


von Chriz Baze (Gast)


Lesenswert?

Habe jetzt endlich die Zeit gefunden eine brauchbare Midi-Referenz 
durchzuarbeiten - hätte da aber trotzdem noch eine Frage, die in den 
Specs des Protokolls nicht beantwortet wurde:

Über die Zeitabstände zwischen den einzelnen Bits und den Bytes ist in 
den Specs nicht zu finden. Nur mit der Info 31,25 kBaud kann ich leider 
nicht viel anfangen. Kann mir da jemand was genaueres sagen ?

THX

Chris

von Chriz Baze (Gast)


Lesenswert?

OK - hatte was übersehn:

There is 1 start bit, 8 data bits, and 1 stop bit (ie, 10 bits total), 
for a period of 320 microseconds per serial byte.

soll das jetzt heißen zwischen den einzelnen Bytes herrscht 40µs lang 
High-Zustand ? Wie soll das empfangende Gerät denn dann die Bytes 
voneinander trennen ???

von hammer_c (Gast)


Lesenswert?

Hallo Chris!

Wie kommst du denn auf die 40µs!? müssten nach meiner Rechnung 64µs 
sein, oder?... ist doch aber im Grunde auch völlig egal, wofür hat man 
denn das UART, daß sich um alles kümmert?

ciao Christian

von Chriz Baze (Gast)


Lesenswert?

stimmt doch ... d.h. die Ausgabedauer eines Bits beträgt 320 / 8 = 40 µs

oder ??? fang jetzt mal nicht an mich zu verwirren lach

von mikki merten (Gast)


Lesenswert?

Also hier mal richtig:
Bitzeit = 1/bps   1/31250 = 32 µs pro Bit

Datenrahmen MIDI
1 Startbit (immer L)
8 Datenbit
1 Stopbit  (immer H)
macht zusammen 320 µs pro Datenbyte

von Chriz Baze (Gast)


Lesenswert?

achso ist das - dachte Byte steht auch in diesem Fall für 8 Bit ... aber 
es kommt schon hin was du sagst - THX

Grüße

Chris

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Die Zeitabstände usw. müssen dich nicht interessieren, du musst dem UART 
nur sagen mit wieviel Baud es laufen soll und die richtigen Bytes 
raussenden, dann funktioniert es.

Andreas

von mikki merten (Gast)


Lesenswert?

Klar bei einem Hardware UART muss ich nur den Taktgenerator (Teiler) und 
die Parameter für Worlänge, evtl. Parity und evtl. Anzahl der Stopbits 
programmieren. Alles weitere erledigt dann die Hardware. Die 
Zeitabstände sind nur für die Programmierung eines eigenen Software-UART 
bzw. als Parameter für die für eigene Berechnungen zur Verfügung 
stehende Zeit von Bedeutung.

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.