A DMX512 egy szabvány, amely a DMX konzol ("fénykeverő") és a színpadon lévő fényeszközök (ill. füstgépek) és egyéb effektgépek között teremt kommunikációt. A kommunikáció jelenleg még csak egyirányú, de már dolgoznak egy újabb szabványon (ami természetesen lefelé kompatibilis). DMX512-nek is szokás nevezni.

A kapcsolat

szerkesztés

Az átvivő vezeték lehet a csoportkábel egyik return csatornája, de ez nem túl szép megoldás. Az UTP kábel (árnyékolt!) talán a legjobb megoldás. Logikailag egy szál vezeték kell hozzá, fizikailag kettő (DMX+ és DMX- -nak szokás nevezni). A kapcsolat sebessége 250kbit/s, (4 μs egy bitnek a "szélessége"), vagyis nem túl gyors, valamint csak egyirányba lehetséges a kommunikáció.

A szabvány, és fejlődése

szerkesztés

A legelső 1986-ban fejlesztett ki a USITT (United States Institute for Theatre Technology, Inc). 1990-ben esedékesnek láttak néhány módosítást, majd 1998-ban újra finomítottak a szabványon (ekkor a USITT átruházta a jogokat az ESTA (Entertainment Services and Technology Association) nevű szervezetre), de a kompatibilitás megőrzése miatt egy csomó lehetőséget nem tehettek bele. A szabvány a [dimmer]ek vezérlését írta le, habár gyakorlatilag sok minden másra is használták.

A SZABVÁNY CSAK FÉNY ÉS EHHEZ KAPCSOLÓDÓ ESZKÖZÖK VEZÉRLÉSÉRE ALKALMAS, vagyis például pirotechnikai eszközöket nem szabad vezérelni.

Kommunikációs protokoll

szerkesztés

Csomag felépítése

szerkesztés

1. BREAK
2. MARK AFTER BREAK (továbbiakban MAB)
3. START CODE (tov. SC)
4. MARK TIME BETWEEN FRAMES (MTBF)
5. CHANNEL DATA(CD)

A BREAK egy szünet, ami a DMX csomagok szétválasztására szolgál. Minimum 88 μs hosszúnak kell lennie (ami 22 bit hosszúságú alacsony szintet jelent), maximum nincs meghatározva, de két BREAK jel között nem lehet több 1,096 másodpercnél. Egyes tapasztalatok szerint a fogadó eszköz "jobban érti" a szünetet (BREAK), ha egy picivel hosszabb (kb. 100-120 μs között).

Mark After Break

szerkesztés

A MAB egy szünet utáni jelzés (amint a neve is erre utal). Ez egy minimum 8μs-ig tartó MAGAS szintet jelent (2 bit). A DMX-512(1990)-es szabvány változtatta 4μs-ről 8-ra, vagyis 1990 előtti eszköz használata egy újabbal problémás lehet (adatvesztés, rossz feldolgozás). A MAB maximum 1 mp lehet. Itt is jobban tesszük, ha egy kicsivel több ideig tartjuk a magas szintet, mondjuk 12μs-ig (3 bit).

Start Code

szerkesztés

Ez a kód az első bájt a MAB után. Az SC definiálható úgy, mint egy nulladik csatorna-adat. Az adat-struktúrája ugyanolyan. mint a többi csatorna adaté (CD), vagyis:

bit pozíció leírás
1. Start bit, LO
2.-9. Adat bitek, az SC esetében nyolc darab nulla
10.-11. Stop bit, két HI

Vagyis egy SC, binárisan: 0 00000000 11 (start bit, a nullának a 8 bites, bináris formája :), és két stop bit)

Mark Time Between Frames

szerkesztés

Ez az jelzés a stopbitek után jön (természetesen magas szint), egy picit több, mint nullától egy másodpercig terjedhet. Ne felejtsük el, hogy két BREAK között ugyancsak egy másodperc a maximális idő!

Channel Data

szerkesztés

A fent említett struktúra szerint következnek a csatornák adatai. Tehát egy csatorna adat, bitenként: 0 10011101 11 (start bit, a 157-nek a bináris formája, 8 biten, két stop bit) Egy csomagban maximum 512 csatornára lehet adatot küldeni, minimum nincs meghatározva, tehát, ha csak egy 6 csatornás dimmert akarunk vezérelni, akkor elég csak az első hat csatornát elküldeni.

A legutolsó csatorna után kezdődik a folyamat elölről, vagyis ezzel véget ért egy csomag. Ezek után küldhetjük újra, a következő BREAK-et, aztán a MAB-ot, SC-t, …

Kiegészítések, továbbfejlesztés

szerkesztés

A DMX szabvány egyirányú kommunikációt tesz lehetővé a vezérlőtől a vezérelt eszközök irányában. A DMX kiegészítéseként hozták létre az RDM (Remote Device Management) szabványt, amely lehetővé teszi a fordított irányú kommunikációt is.

Az RDM-nek léteznek nyílt implementációi is: Az Open RDM projekt tartalmazza a nyílt forráskódú windowsos kezelőszoftvert és az illesztőáramkör műszaki dokumentációit. Ennek segítségével egy számítógépet RDM vezérlőként használhatunk.