DMX512, spesso abbreviato a DMX (Digital MultipleX), è un protocollo di comunicazione usato principalmente per il controllo dell'illuminazione di scena per controllare da computer o centraline impianti di illuminazione complessi, con teste mobili o fari classici.

Storia

Sviluppato dalla Commissione Tecnica dell'USITT, prese piede nel 1986 con successive revisioni nel 1990 che portarono allo standard USITT DMX512/1990. Nel 1998 lo standard passò sotto il controllo dell'ESTA che ne cominciò un processo di revisione. La nuova versione, conosciuta ufficialmente come:
"Entertainment Technology - USITT DMX512-A - Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories",
fu approvato dall'ANSI nel novembre del 2004. L'attuale standard è conosciuto come E1.11, USITT DMX512–A o, più semplicemente DMX512-A e viene correntemente mantenuto dall'ESTA.

DMX nella sua concezione originale era stato pensato per permettere il collegamento di controller e dimmer di diverse marche, un protocollo da usare come ultima risorsa nel caso altri protocolli proprietari non fossero stati compatibili. Di fatto questo standard prese piede e in breve tempo fu utilizzato per collegare anche altri dispositivi più avanzati come i fogger, oltre ai controller e ai dimmer.

Siccome DMX512 è un sistema di trasmissione dati unidirezionale, non deve essere usato per il controllo dei fuochi pirotecnici ed al suo posto viene a volte usato il protocollo MIDI.

Nozioni teoriche

Per collegare un controller DMX512 alle apparecchiature compatibili si usa un cavo DMX512. Ogni dispositivo ha un connettore DMX512 in e, di solito, un DMX512 out. La porta DMX512 in sul primo dispositivo viene collegata al DMX512 out del controller mentre il DMX512 out del primo apparecchio viene collegato al DMX in del secondo, e così via, in cascata. Il connettore DMX512 out dell'ultimo dispositivo di questa catena così formata dovrebbe avere inserito un terminatore DMX512, che è una resistenza da 120 ohm e 0,25 W tra i pin 2 e 3 del connettore. Questa configurazione di collegamenti viene chiamata daisy chain.

   Schema di collegamento dei dispositivi DMX512

+------------+   +---------------+   +---------------+
| controller |   | dispositivo 1 |   | dispositivo 2 |
+------+-----+   +----+---+------+   +----+---+------+
       | out       in |   | out        in |   | out       +-------------+
       +--------------+   +---------------+   +-----------+ terminatore |
                                                          +-------------+

I connettori usati sono dei connettori XLR da 5 pin, di cui solo 3 utilizzati per la trasmissione di segnale. Molti produttori usano però connettori XLR da 3 pin (più economici), violando così lo standard approvato.

Dovrebbero essere utilizzati solamente cavi progettati per il DMX512 o per audio digitale AES/EBU compatibili con impedenza 110 ohm. I test dell'ESTA hanno dimostrato che si possono usare cavi di categoria 5 senza compromettere la qualità del segnale. Tuttavia, vista la diffusione dei connettori XLR a 3 pin, spesso vengono usati cavi per microfono anche se questa non è una pratica consigliabile; allo stesso modo è sconsigliabile l'uso di connettori ad Y (comunemente noti come sdoppi) in luogo degli appositi splitter.

Sui cavi, i segnali hot e cold sono invertiti rispetto ai cavi per la trasmissione di segnali sonori e il segnale viaggia nella direzione opposta ai pin (il connettore femmina è out mentre il maschio è in). La disposizione dei pin è la seguente:

  1. Riferimento di terra
  2. Cold
  3. Hot
  4. (Non usato) Originariamente era il segnale di ritorno negativo
  5. (Non usato) Originariamente era il segnale di ritorno positivo

Ogni cavo DMX512 può trasmettere fino a 512 valori da 8 bit, tra 0 e 255, in questo modo un cavo può controllare fino a 512 dispositivi distinti. Siccome DMX supporta solo 512 canali, ci si può imbattere in situazioni in cui sono necessari universi DMX distinti. Per universo DMX si intende una singola linea di collegamento dal controller e tutti i dispositivi associati a quel cavo. La maggior parte delle console DMX recenti supportano più di un universo DMX, ognuno dei quali deve essere cablato indipendentemente.

I dati DMX512 vengono inviati utilizzando i livelli di tensione e il sistema di cablatura dello standard RS-485. La specifica DMX fa riferimento a RS-485 per le informazioni riguardanti i segnali elettrici. I dati sono trasmessi in modo seriale a 250 kbit/s e sono raggruppati in pacchetti di dimensione massima di 513 byte, con 1 bit di start e 2 bit di stop, in modalità LSB first. L'inizio di un pacchetto viene identificato con una pausa di almeno 88 µs (nello standard del 1986 era di soli 44 µs). I dispositivi ricevitori, quando riconoscono la pausa, resettano i contatori di ricezione. A questo punto vengono inviati i dati fino ad un massimo di 513 byte. Il primo byte è sempre il byte di stato, che indica ai ricevitori il tipo dei dati che seguiranno. Per i dati standard riguardanti i dimmer, il valore del byte di stato è sempre 0x00, mentre altri valori sono usati per sistemi proprietari o per le estensioni RDM dello standard.

I restanti byte costituiscono i dati reali. Possono essere inviati al massimo 512 byte ed è compito dei ricevitori mantenere un conteggio interno dei byte per distinguere i singoli canali. Poiché il protocollo DMX non prevede né error detectionerror correction, è importante che i ricevitori non perdano dei byte e che scartino i pacchetti nel caso si verifichino errori di framing o buffer overflow.

Un pacchetto completo impiega circa 23 ms per essere inviato. Ciò corrisponde ad un refresh rate di circa 44 Hz. Se è necessario un refresh rate più alto si possono utilizzare meno canali semplicemente iniziando l'invio di un nuovo pacchetto prima del completamento dell'invio di tutti i 512 valori. La dimensione minima di un pacchetto è di 24 canali. Tuttavia quasi tutti i trasmettitori inviano sempre 512 valori poiché molti ricevitori hanno problemi a gestire pacchetti più corti.

Le luci dinamiche usano canali adiacenti per controllare le diverse funzioni. Questi attributi possono essere disposti, ad esempio, nel modo seguente:

  1. Intensità della luce
  2. Colore del fascio
  3. Gobo
  4. Rotazione sul piano orizzontale
  5. Rotazione sul piano verticale

Il canale filtro può utilizzare gruppi di valori per indicare quale filtro usare, ad esempio:

  • 0-20 = Gobo1
  • 21-40 = Gobo 2
  • e così via.

Può essere indicata anche la rotazione del filtro, ad esempio:

  • 21-25 = Gobo 2, fisso
  • 26-40 = Gobo 2, rotazione da lento a veloce

Se sono presenti vari apparecchi da controllare separatamente, l'indirizzo DMX512 di ogni dispositivo può essere impostato in modo che non si verifichino sovrapposizioni. Ad esempio, se l'indirizzo del primo dispositivo fosse 1 e quello del secondo 6, la situazione sarebbe la seguente:

Indirizzo DMX   Disp.   Attributo
    1            1      Intensità
    2            1      Colore
    3            1      Messa a fuoco
   ...          ...     ...
    6            2      Intensità
    7            2      Colore
   ...          ...     ...

I controller DMX512 moderni contengono librerie che indicano come mappare gli attributi sui vari dispositivi. Il controller in questo modo può utilizzare vari metodi di selezione e rotazione dei filtri anche se su un particolare dispositivo viene rappresentato da un singolo canale.

All'operatore viene così presentato un solo metodo coerente per controllare le luci anche se in realtà i vari dispositivi utilizzano valori e sistemi differenti per ottenere i vari effetti. Il controller deciderà in automatico i vari indirizzi per i dispositivi. Se 512 canali non sono sufficienti, sarà necessaria una console con connettori di uscita multipli. Ogni connettore di uscita controlla un universo differente, permettendo in questo modo di gestire molti più dispositivi.

L'output DMX512 è progettato per gestire 32 unità di carico. Un singolo dispositivo può rappresentare una frazione dell'unità di carico anche se la cablatura tra i dispositivi può degradare il segnale in modo significativo. Per ovviare a questo problema ed al problema della gestione dei cavi, spesso si usano dei buffer DMX512. Questi apparecchi hanno un DMX512 in e parecchi DMX512 out, attraverso i quali vengono trasmessi gli stessi dati. Ogni output può così controllare 32 unità in modo da dividere il segnale dal controller a centinaia di dispositivi.

Non è consigliabile, invece, suddividere il segnare DMX512 cablando un output verso due input. Ciò potrebbe portare a problemi di terminazione. Per esempio, se entrambi i rami della suddivisione fossero terminati con resistenza da 120 ohm, la resistenza combinata risultante sarebbe di soli 60 ohm e ciò probabilmente porterebbe in sovraccarico il trasmettitore DMX facendolo spegnere o produrre un tensione troppo basso. Nel caso in cui solo uno, o nessuno, dei due rami fosse terminato, i rami non terminati creerebbero segnali di riflesso, causando la perdita di dati.

Nozioni pratiche

La diffusione di DMX512 è dovuta in gran parte alla sua robustezza. I cavi possono essere maltrattati senza subire degradi di prestazioni come ad esempio avverrebbe con cavi Ethernet. Spesso non vengono applicati i terminatori in modo che, senza di essi, un'eventuale interruzione del cavo non comprometterebbe l'operatività dei dispositivi.

Comportamenti anomali degli apparati di solito sono dovuti ad errori di indirizzamento, cavi rovinati o istruzioni errate dal controller. I cavi rovinati possono portare a problemi intermittenti come il twitching dei dispositivi.

I due pin non utilizzati sul connettore a 5 pin, in origine, erano riservati per fornire dati diagnostici di ritorno al controller ma questa funzione non fu mai implementata, così alcuni produttori hanno deciso di usare connettori a 3 pin. Altri produttori usano i pin aggiuntivi per trasmettere altri dati o corrente elettrica ma ESTA vieta l'utilizzo di questi pin per trasportare corrente poiché ciò potrebbe danneggiare i componenti elettronici di alcuni dispositivi. Di conseguenza, spesso si rendono necessari parecchi adattatori che possono portare ad un degrado della funzionalità del sistema. Alcuni produttori preferiscono usare i connettori a 5 pin per evitare confusione tra i cavi del sonoro e delle luci.

Per controllare la rotazione orizzontale di un Martin Mac 500, la cui rotazione massima è di 440°, un incremento di 1 bit risulterebbe in un movimento di 1,7°. Essendo necessaria una precisione maggiore, ormai quasi tutti i dispositivi utilizzano 2 canali per i paramentri di pan e di tilt. Ciò permette l'utilizzo di valori a 16 bit, tra 0 e 65535, fornendo due canali di controllo, coarse e fine.

Sviluppo

ESTA e altre associazioni hanno sviluppato parecchie alternative al DMX512, per ovviarne i difetti. Una configurazione che sta avendo successo è la combinazione di DMX512 ed Ethernet. Si usa Ethernet per comunicare tra il controller ed il palco, dal quale poi degli appositi dispositivi bridge convertono il segnale in DMX512 verso i dispositivi. I protocolli Ethernet utilizzati sono spesso specifici al produttore.

Una nuova versione dello standard DMX512, chiamata DMX512A, pone le basi per il protocollo RDM (Remote Device Management), il quale permetterà il feedback diagnostico dai dispositivi al controller e permetterà la comunicazione bidirezionale tra controller e dispositivi. Sul lungo termine, continuano i lavori sull'ACN, uno standard open basato su Ethernet pensato come rimpiazzo del DMX512. Anche quest'ultimo standard è gestito dall'ESTA.

Protocollo

Il protocollo si basa su una linea industriale, ovvero la RS485, ed è formato da un treno di dati digitali (1=Acceso/0=Spento) a 5 volt. Un bit dura 4 µs, quindi la velocità di trasmissione è di 250 kb/s.

Il gruppo di dati è formato da 6 parti:

  • BREAK: Segnale di inizio della trasmissione di un gruppo di dati della durata minima di 88 µs e quindi 22 bit a 0.
  • MARK AFTER BREAK (MAB): Porta tutti i canali a livello basso; può essere visto anche come un reset. Ha una durata minima di 8 µs o 2 impulsi. La durata massima di questo comando è di 1 secondo. Precedentemente, prima della riforma del 1990, l'impulso durava 4 µs o 1 impulso.
  • START CODE (SC): È il comando che indica che si sta cominciando la trasmissione del livello dei vari canali. In confronto al MAB o BREAK questo comando ha una durata fissa di 44 µs o 11 impulsi. È formato come un normale frame CD ma con il valore tutto alto.
  • MARK TIME BETWEEN FRAMES (MTBF): È il comando che indica l'avvio della trasmissione del valore di un canale. Può avere una durata variabile da 0 ad 1 secondo.
  • CHANNEL DATA (CD): È il comando che trasporta il livello di un canale. È formato da 3 parti: uno Start bit di 11 impulsi che indica l'avvio della trasmissione del valore, un valore variabile da 0 a 255 formato da 8 bit (potenze di due, ad esempio se voglio il valore 67 avrò a 1 il primo, il secondo e il settimo bit, infatti gli 8 bit corrispondono a 1-2-4-8-16-32-64-128), un segnale che indica il termine della trasmissione del valore formato da 2 bit.
  • MARK TIME BETWEEN FRAMES (MTBF): È il comando che indica il termine della trasmissione per un canale e indica il passaggio a quello successivo.

Un blocco di dati ha perciò una durata complessiva di 22754 µs.

Tipi di controller

Esistono numerose tipologie di controller DMX, da semplici mixer a 8 canali a console capaci di controllare più di 32000 parametri, con la possibilità di creare sequenze della durata di diverse ore.

Diverse console sono studiate appositamente per il controllo di fari a testa mobile, e presentano joystick o particolari ruote chiamate encoder per incrementare con velocità e precisione i valori di rotazione. Essendo chiaramente impossibile creare una console con 32000 cursori, si fa uso di slider motorizzati che assumono i valori dei canali assegnati.

Per ultimo citiamo la tecnologia che ormai sta prendendo piede fra coloro che gestiscono le luci ovvero il computer.

Alcuni esempi:

Altri progetti

Collegamenti esterni

Software di controllo DMX

  Portale Musica: accedi alle voci di Wikipedia che trattano di musica