3. Procédure de transfert à sens unique
Cette procédure tranfère les données jusqu'à ce qu'elles soient
toutes envoyées, elle est employée lorsque les messages sont
trop courts pour qu'il soit nécessaire de les vérifier. Cependant,
pour des messages plus longs, l'appareil récepteur devra
réceptionner chaque message à temps, en fonction de la
séquence de transfert qui insère des intervalles de 20 milli-
secondes.
Types de messages
Message
Request data 1
Data set 1
• Request data 1 : RQ1 (11H) [Demande de
données]
Ce message est envoyé lorsqu'il est nécessaire de réceptionner
des données demandées à un appareil distant relié par liaison
MIDI. Il contient des données d'adresse et de taille indiquant
respectivement la désignation et la longueur des données
demandées.
A la réception d'un message de requête RQ1, l'appareil distant
analyse sa mémoire afin d'y trouver les données d'adresse et de
taille correspondant à la requête.
S'il les trouve et qu'il est prêt à communiquer, il transmet alors
un message "Data set 1 (DT1)" (envoi de données), contenant
les données demandées. Sinon, l'appareil n'envoie rien.
Octet
Description
F0H
Statut exclusif
41H
ID du fabricant (Roland)
DEV
N° Device ID
MDL
N° Model ID
11H
N° Command ID
aaH
Adresse MSB
:
:
ssH
Taille MSB
:
:
sum
Check sum
F7H
Fin du message exclusif
• La taille des données demandées n'indique pas le nombre
d'octets composant le message DT1, mais représente les champs
d'adresse où résident ces données.
• Certains modèles sont soumis à des limitations dans le format
de donnée utilisé pour une simple transaction. Les données
demandées, par exemple, peuvent être limitées en longueur, ou
doivent être divisées en champs d'adresse prédéfinis avant
d'être échangées via l'interface.
• Le même nombre d'octets indique l'adresse et la taille des
données, qui cependant peuvent varier avec le n° Model ID.
• Le processus de vérification utilise une procédure par somme de
contrôle, produisant un checksum où les 7 derniers bits sont des
zéros lorsque les valeurs de l'adresse, de la taille et du cheksum
sont additionnées.
• LSB : Least Significant Byte (Octet de poids faible)
MSB : Most Significant Byte (Octet de poids fort)
194
n° Command ID
RQ1 (11H)
DT1 (12H)
:
:
LSB
:
:
LSB
• Data set 1 : RQ1 (11H) [Envoi de Données]
Ce message correspond au processus de transfert des données
elles-mêmes.
Comme chaque octet de donnée est assigné à une adresse
unique, un message DT1 peut tout aussi bien convoyer
l'adresse de départ d'un ou plusieurs bits de données qu'une
suite de données formatées selon un ordre dépendant des
adresses.
Le standard MIDI interdit que des messages non temps réels
interrompent un message exclusif. C'est un inconvénient pour
les appareils munis d'une fonciton "soft thru". Pour maintenir
une compatibilité avec de tels appareils Roland a limité le DT1
à 256 octets afin que les messages excessivement longs soient
séparés en "segments".
Octet
Description
F0H
Statut exclusif
41H
ID du fabricant (Roland)
DEV
N° Device ID
MDL
N° Model ID
12H
N° Command ID
aaH
Adresse MSB
:
:
ddH
Données MSB
:
:
sum
Check sum
F7H
Fin du message exclusif
• Un message DT1 ne peut fournir que les données correctes parmi
celles spécifiées par le message RQ1.
• Certains modèles sont soumis à des limitations dans le format
de donnée utilisé pour une simple transaction. Les données
demandées, par exemple, peuvent être limitées en longueur, ou
doivent être divisées en champs d'adresse prédéfinis avant
d'être échangées via l'interface.
• Le nombre d'octets indiquant l'adresse peut varier d'un n°
Model ID à un autre.
• Le processus de vérification utilise une procédure par somme de
contrôle, produisant un checksum où les 7 derniers bits sont des
zéros lorsque les valeurs de l'adresse, de la taille et du cheksum
sont additionnées.
• Exemples de Transactions
• L'Appareil A envoie des données à l'Appareil B
Transfert unique d'un message DT1
Appareil A
[Data set 1]
*Intervalle de plus de 20 ms.
[Data set 1]
[Data set 1]
• L'Appareil B demande des données à l'Appareil A
L'appareil B envoie un message RQ1 à l'Appareil A.
Vérification du message, puis l'Appareil A renvoie un message
DT1 à l'Appareil B.
Appareil A
[Data set 1]
[Data set 1]
*Intervalle de plus de 20 ms.
[Data set 1]
[Data set 1]
:
:
LSB
:
:
LSB
Appareil B
Appareil B
[Request data]