Digital MultipleX
DMX512, spesso abbreviato a DMX (Digital MultipleX), è uno standard di comunicazione digitale usato principalmente per il controllo dell'illuminazione di scena nell'industria dello spettacolo, per controllare numerose luci ed effetti da una console di regia. Recentemente è stato introdotto anche in ambito civile per l'illuminazione architetturale. StoriaSviluppato 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: 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. DMX512 è in genere implementato in modo unidirezionale e non comprende un controllo o correzione degli errori. Per questo motivo, per ragioni di sicurezza, non deve essere usato per il controllo dei fuochi pirotecnici o di movimenti di strutture di scena (per i fuochi pirotecnici è a volte usato, al suo posto, il protocollo MIDI). Livello fisicoIl DMX512 si basa sul protocollo fisico RS-485. Per collegare un controller DMX512 alle apparecchiature compatibili si usa un cavo bipolare schermato di impedenza nominale 110 ohm, sul quale i dati sono trasmessi in forma differenziale. Lo standard prevede dei connettori XLR a 5 poli, in cui un pin è la schermatura del cavo (massa), 2 sono utilizzati per la trasmissione di segnale DMX, mentre gli altri 2 sono riservati per una seconda linea bilanciata dmx, ma in realtà il suo uso non è mai stato definito (si era ipotizzata una linea di ritorno). Molti produttori usano connettori XLR da 3 pin (più economici), violando così lo standard. In altri casi i produttori impiegano i pin 4 e 5 del connettore a 5 poli per usi totalmente diversi come una linea d'alimentazione dall'apparecchio controllato al controller. La versione DMX512-A ammette anche l'utilizzo di connettori 8P8C ("RJ-45"). Collegamenti XLR-5
Collegamenti XLR-3
Collegamenti RJ-45
Ogni dispositivo ha un ingresso e un'uscita DMX512, le quali sono internamente collegate fra loro. 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. Questa tipo di collegamento viene chiamato daisy chain o cascata. Il connettore DMX512 out dell'ultimo dispositivo di questa catena così formata dovrebbe avere inserito un terminatore DMX512, ovvero una resistenza da 120 ohm e 0,25 W tra i pin 2 e 3 del connettore, per evitare che i segnali, arrivati in fondo alla linea, vengano riflessi indietro a causa del disadattamento di impedenza producendo interferenze. Tuttavia, per collegamenti su breve distanza di un numero limitato di dispositivi è possibile operare anche senza terminatore. Schema di collegamento dei dispositivi DMX512 +------------+ +---------------+ +---------------+ | controller | | dispositivo 1 | | dispositivo 2 | +------+-----+ +----+---+------+ +----+---+------+ | out in | | out in | | out +-------------+ +--------------+ +---------------+ +-----------+ terminatore | +-------------+ 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 e ciò è possibile solo nell'ipotesi di brevi distanze e numero non elevato di apparecchiature collegate. È totalmente da evitare, invece, l'uso di derivazioni ad Y (comunemente noti come sdoppi); a questo scopo esistono degli appositi splitter. Livello datiOgni 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 (dimmer per fari alogeni e accecatori) oppure 512 parametri distinti (per i motorizzati come teste mobili). 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 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, azzerano i contatori interni 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 detection né error 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:
Il canale filtro può utilizzare gruppi di valori per indicare quale filtro usare, ad esempio:
Può essere indicata anche la rotazione del filtro, ad esempio:
Se sono presenti vari apparecchi da controllare separatamente, l'indirizzo DMX512 di ogni dispositivo deve 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 segnale 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 una tensione troppo bassa. 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 praticheLa 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 parametri 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. SviluppoESTA 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. ProtocolloIl 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:
Un blocco di dati ha perciò una durata complessiva di 22754 µs. Tipi di controllerEsistono 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. Altri progetti
Collegamenti esterni
Software di controllo DMX
|