Les données d'un bus DMX
512 sont transmises sous la forme d'une succession d'octets. Un
octet est composé de huit bits et peut avoir 256
états pour représenter une valeur d'intensité,
de couleur, de position, etc
)
Principe :
Le DMX utilise un codage temporel où les informations
sont transmises dans un ordre croissant. Un cycle commence par
une Initialisation (break + mark after break), puis suit un
code indiquant la nature des informations (start-code), le
premier octet (start-bit + data + stop-bits), puis les onze
bits du circuit 2... Certaines consoles n'ont pas les
ressources suffisantes pour transmettre les trames de
façon continues et peuvent intercaler un temps de pause
précédant les start-bits. Enfin comme il a
déjà été dit, il reste tout à fait
possible de restreindre le nombre de canaux à transmettre
(entre 24 et 512).
Structure d'un bloc de données :
Un break (r.a.z.) de 88 µs minimum (durée
de deux trames). Il n'y a pas de maximum fixé par la norme
mais certains équipements tolèrent mal les durée
trop importantes (au delà de 200 ms).
Une impulsion Mark After Break (état de travail)
de 8 µs minimum (durée deux bits). Elément mis
à jour révision août 1990 pour remplacer m.a.b.
4 µs (1996).
Le start-code indique la nature des informations
transmises, null-start pour les données linéaires sur
8 bits : les gradateurs sont donc censés ignorer tout
autre start-code parmi les 255 possibles. Les changeurs de
couleurs ainsi que de nombreuses consoles et projecteurs
automatisés utilisent aussi ce start-code '0', et restent
compatibles avec une console dédiée à la
commande de gradateurs. Les autres codes sont
réservés pour un usage futur mais aujourd'hui certain
fabricants tirent profit de cette possibilité afin
d'optimiser leurs systèmes.
Les données sont présentées sur le bus
de façon sérielle. Un bit a une durée de 4ms
avec une tolérance de 2%.
Des temps de repos (idle) peuvent être
intercalés entre les paquets de données,
caractérisé par état haut de la ligne.
Composition d'une trame:
Un start-bit, état bas, précède la
transmission de l'octet
LSB > MSB : le bit de poids le plus faible
jusqu'au bit de poids le plus fort
Deux bits de stop, état haut, après la fin
de l'octet
44 ms minimum entre deux trames (rappel : durée
1 bit 3.92 µs min.)
Limites des temps de transmission :
L'intervalle séparant deux impulsions de Mark (remise
à zéro) doit être:
- d'au moins 1 196 µS (durée de la transmission
de 24 circuits)
- au maximum d'une seconde (temps de repos inclus). En cas
d'absence de signal, le récepteur doit maintenir son
dernier état au minimum pendant cette durée d'une
seconde.
Calcul des temps de rafraîchissement
théoriques :
Pour 512 circuits on a un rafraîchissement
à 44 Hz ; 1 bit = 4 µs ; 11 bits = 44 µs
(break + m.a.b. + start-code + 512 mots) = 22 668 µs ; 1s
/ 22 668 µs < =>44.1 Hz
Pour 24 circuits on a un rafraîchissement à
836 Hz
(break + m.a.b. + start-code + 24 mots) = 1196 µs ; 1s /
1196 µs < =>836.1 Hz
Tableau des durées :
APPELLATIONS |
DUREE
TYPE
(ms) |
DUREE
MIN.
(ms) |
DUREE
MAX.
(ms) |
break / r.a.s.
|
88 |
88 |
200
* |
m.a.b / mark after break
|
8 |
8 |
106 |
1 bit |
4 |
3.92 |
4.08 |
Entre deux r.a.s.
|
22 668 |
1 196 |
106 |
|