MIDI Implementatie
Procedure voor de handshake-transfer (Dit
apparaat gebruikt deze procedure niet)
Deze procedure initieert een vooraf vastgestelde transfervolgorde
(handshaking), voordat de gegevenstransfer plaatsvindt.
Handshaking zorgt, dat betrouwbaarheid en transfersnelheid groot
genoeg zijn om veel gegevens te kunnen verwerken.
fig.Connection-Diagram2.eps
Apparaat (A)
MIDI OUT
MIDI IN
Aanwijzingen bij de procedures hierboven
• Er zijn aparte Command ID's voor verschillende
transferprocedures.
• Apparaten A en B kunnen geen gegevens uitwisselen, behalve
als ze dezelfde transferprocedure gebruiken, een identieke
Device ID en Model ID hebben en gereed zijn voor
communicatie.
3. Procedure voor een
eenrichtingstransfer
Deze procedure zendt gegevens uit, totdat alles verzonden is, en
wanneer de berichten zo kort zijn, dat answerbacks niet hoeven te
worden gecheckt.
Voor langere berichten dient echter het ontvangende apparaat elke
bericht gelijk aan de transfervolgorde binnen te halen.
Soort berichten
Bericht
Request data 1
RQ1 (11H)
Data set 1
DT1 (12H)
Request data 1: RQ1 (11H)
Dit bericht wordt uitgezonden, als het nodig is om gegevens van een
apparaat te veranderen.
Het bericht bevat gegevens voor adres en grootte, die respectievelijk
bestemming en lengte specificeren van de gegevens die nodig zijn.
Als een RQ1 bericht wordt ontvangen, controleert het apparaat op
afstand zijn geheugen voor het gegevensadres en de grootte.
Als het deze vindt en klaar is voor communicatie, zal het apparaat een
'Data set 1(DT1)' bericht uitzenden, welke de gevraagde gegevens
bevat.
Anders zal het apparaat niets uitzenden.
Byte
F0H
System Exclusive Status
41H
Manufacturer ID (Roland)
DEV
Device ID
MDL
Model ID
11H
Command ID
60
Apparaat (B)
1
MIDI IN
2
MIDI OUT
Command ID
Beschrijving
Byte
aaH
Adres MSB
:
:
:
:
Adres LSB
ssH
Grootte MSB
:
:
:
:
Grootte LSB
sum
Check sum
F7H
EOX (End of System Exclusive)
• De grootte van de opgevraagde gegevens geeft de hoeveelheid
bytes, die een DT1 bericht vormen, niet aan, maar geeft de
adresvelden, waar zich de opgevraagde gegevens bevinden
aan.
• Sommige modellen zijn onderhevig aan beperkingen in het
gegevensformat, dat wordt gebruikt voor een enkele transactie.
Opgevraagde gegevens kunnen bijvoorbeeld een limiet hebben
op de lengte of dienen verdeeld te worden in vooraf
vastgestelde adresvelden, voordat ze via de interface kunnen
worden uitgewisseld.
• Dezelfde hoeveelheid bytes vormt adres- en groottegegevens,
iets dat echter wel per Model ID verschilt.
• Het proces dat controleert op fouten gebruikt een
controleersom, die een bitpatroon geeft waarin de laatste 7 bits
nul zijn, wanneer waarden voor een adres, grootte en
controleersom worden samengevat.
Data set 1: DT1 (12H)
Dit bericht correspondeert met het eigenlijke proces van de
gegevenstranfer.
Omdat iedere byte in de gegevens aan een uniek adres wordt
toegewezen, kan een DT1 bericht het beginadres van een of meer bits
met gegevens overbrengen, evenals een reeks gegevens, die in een
adres afhankelijke volgorde zijn geformatteerd.
De MIDI waarden weerhouden real-time berichten ervan een
Exclusive bericht te onderbreken. Dit feit is onhandig voor apparaten,
die een "soft-thru" functie ondersteunen. Om compatibiliteit met dit
soort apparaten te waarborgen, heeft Roland de DT1 gelimiteerd tot
256 bytes, zodat een erg lang bericht in aparte segmenten wordt
verzonden.
Byte
F0H
System Exclusive Status
41H
Manufacturer ID (Roland)
DEV
Device ID
MDL
Model ID
12H
Command ID
aaH
Adres MSB
:
:
:
:
Adres LSB
ddH
Data MSB
:
:
:
:
Beschrijving
Beschrijving