DMX 512-Opis systemu

Protokół transmisji

Wstęp
Protokół
Połączenie
Urządzenia
Problemy
Przystępując do opisu zakładamy, że Czytelnik posiada wiedzę na temat podstaw elektroniki i techniki cyfrowej i transmisji szeregowej.
DMX jest systemem cyfrowym, to znaczy, że bity reprezentowane są przez poziomy napięć 1 (wysoki, HI) i 0 (niski, LO). Szerzej o tym na stronie Połączenie.

Sygnał jest taktowany zegarem 250kHz, co odpowiada długości pojedynczego bitu - 4 mikrosekundy.

1. Brak sygnału.
Ten stan sygnalizowany jest przez występowanie stałego poziomu HI na linii.

2. Break.
Początek pakietu zapowiadany jest przez wystąpienie stanu LO na czas minimum 88 mikrosekund.
Odpowiada to wysłaniu 22 bitów LO na linię transmisyjną.
Sygnał Break może trwać dłużej, lecz nie może być krótszy niż 88 mikrosekund.
Z reguły Break trwa ok. 100-120 mikrosekund.

3. Mark After Break (MAB).
MAB następuje natychmiast po zakończeniu Break i ma postać impulsu HI o czasie minimum 8 mikrosekund (2 bitów).
Tutaj pojawił się problem - w pierwszym standardzie DMX czas ten wynosił 4 mikrosekundy (1 bit), w obecnym DMX (1990) - 8 mikrosekund (2 bity).
Powoduje to problemy przy współpracy nowych konsolet ze starymi urządzeniami i na odwrót.
W wyniku niezgodności cały pakiet może zostać odrzucony jako błędny lub dane trafią do innych kanałów niż powinny. Co to oznacza np. dla skanera albo głowy - lepiej nie mówić...
Należy zawsze się upewnić co do zgodności urządzeń. Niektóre z nich mają dedykowany przełącznik dla zmiany czasu MAB. Maksymalny czas trwania MAB wynosi 1 sekundę.

4. Start Code (SC).
SC następuje zaraz po MAB i posiada format jak kanały danych.
Jego długość to 11 bitów (44 mikrosekundy) i jest informacją o początku strumienia danych.
W rzeczywistości SC to dane dla nieistniejącego kanału nr 0 (zero) i jego wartość wynosi także zero.
Struktura tego i wszystkich następnych kodów kanałowych (ramki)jest następująca:
- pierwszy bit jest bitem startu (początkowym) i zawsze jest LO;
- osiem następnych bitów to bity danych;
- dwa ostatnie bity to bity stopu (końcowe) i zawsze są HI.
W chwili obecnej SC MUSI mieć wartość zero.

5. Mark Time Between Frames (MTBF).
Jego długość może wynosić od 0 do 1 sekundy, im krótszy tym lepszy.
MTBF oddziela bity stopu jednego kanału od bitu startu następnego i jest obowiązkowo HI.

6. Channel Data (CD).
Dane dla kolejnych kanałów, w formacie jak dla SC, od kanału 1 do 512 (lub mniej), rozdzielone MTBF.

7. Mark Time Between Packets (MTBP).
Po nadaniu danych ostatniego kanału linia zostaje wprowadzona w stan HI. Czas ten to MTBP, może wynosić od 0 do 1 sekundy. Powyżej 1 sekundy jest traktowany jako przerwa w nadawaniu (brak sygnału - BREAK - punkt 1).

Potem wszystko zaczyna się od nowa: MTBP, Break, MAB,SC,CD, MTBF, CD, [MTBF, CD...] MTBP...

Bardzo miłą sprawą jest to, że nie ma przymusu wysyłania wszystkich 512 kanałów w pakiecie.
Każdy odbiornik posiada wewnętrzny licznik podający numer aktualnie wysyłanego CD. Jeżeli zostanie wykryty stan MTBP, licznik ten zostaje wyzerowany i urządzenie odbiera kanały od numeru 1.
Jeżeli np. budujemy 16-kanałowy pulpit to po nadaniu 16 CD można ustawić na linii MTBP i nadawać znowu od kanału pierwszego, urządzenia będą w stanie zdekodować taki sygnał. Oczywiście jeśli adres w urządzeniu będzie wyższy od naszego 16 to nic się nie będzie działo...

Tabela czasów dla sygnału USITT DMX 512 (1990)

Element Min
[usec]
Typ
[usec]
Max
[usec]
Break 88 88 1 000 000
MAB   8  
Ramka   44  
Bity Start/Stop/Dane   4  
MTBF 0 NS* 1 000 000
MTBP 0 NS* 1 000 000

*NS - Not Specified - ustalane przez projektanta nadajnika, musi się zawierać między Min a Max

Wykres sygnału DMX (1 pakiet)