Teorie











Protokol DMX512

4.1           Historie vzniku  

            Protokol DMX512 byl navržen v roce 1986 institutem USITT [1] pro řízení stmívačů a dalších speciálních efektů pomocí digitálního rozhraní. Měl nahradit do té doby používané analogové řízení, kde jako řídící veličina sloužila konkrétní hodnota napětí[1] na řídícím kabelu. S tím bylo spojeno hned několik potíží: Pro každý řízený vstup (např. jeden kanál stmívače) byl potřeba jeden vodič, navíc nebyla vždy přesně dána řídící veličina, neboť vlivem výrobních tolerancí mohla různá zařízení chápat či vydávat mírně odlišné povely. Také analogový přenos byl samozřejmě náchylnější na rušení, což v blízkosti několika kilowattových stmívacích jednotek nebylo zrovna veliké plus. Základem protokolu DMX512 je jeho elektrická specifikace. Ta vychází z osvědčeného průmyslového standardu EIA485 (dříve značeno RS-485 popř. RS485), a vzhledem k používání tohoto standardu v průmyslu jsou i technické prostředky pro jeho implementaci levné a  přizpůsobené pro náročné podmínky.

  

4.2           Technická specifikace EIA485

·          Diferenciální (symetrický) napěťový přenos po kroucené dvoulince se schopností pracovat od napájecího napětí +5 V

·          Rozsah přípustného napětí na sběrnici od -7 V do +12 V

·          Možnost připojení až 32 přijímačů v jednom segmentu (existují budiče umožňující použít až 256 přijímačů) 

·          Impedanční přizpůsobení linky – odporem (terminátor) 120 Ohmů

·          Minimální zatěžovací impedance vysílače je 60 Ohmů

·          Maximální zkratový proud vysílače je 150 mA proti zemi, 250 mA proti 12 V

·          Maximální délka kabelu je 4000 stop (přibližně 1200 m) při přenosové rychlosti max. 400 kBit/s.

·          Počet segmentů není limitován

·          Budič musí být schopen dodat na sběrnici rozdílové vstupní napětí od 1,5 do 5 V

·          Budič musí mít ochranu pro případ, že by se více budičů pokoušelo vysílat na sběrnici

·          Přijímač by měl mít minimální vstupní impedanci 12 kOhmů

·          Přijímač musí mít minimální vstupní citlivost +- 200 mV

·          Toto vše musí být přijímač schopen zpracovat i při souhlasném stejnosměrném napětí na sběrnici od -7 V do +12 V.

 

Jako převodníky mezi úrovní TTL a EIA485 jsou běžně dostupné obvody např. SN75176B od Texas Instruments [2] v provedení DIP 8 či SOP 8, nebo dražší a méně dostupné obvody MAX485 od Maxim Integrated Products [3]. Pro galvanické oddělení existuje i řada dalších obvodů, které mají vše potřebné na jednom čipu. Jde např. o obvody ISO485P od Burr-Brown [4].

 

4.3           Popis datového formátu DMX512 

Přenosová rychlost protokolu DMX512 byla stanovena na 250 kBit/s[2]. Data jsou po sběrnici posílána sériově a jak název napovídá, paketem obsahujícím maximálně 512 datových bajtů. Po sběrnici se posílají pouze data bez adresy. Každé zařízení má nastavenou svou vlastní počáteční adresu a od této adresy přečte požadovaný počet bajtů. Počáteční adresa může tedy nabývat  hodnotu 0 až 511. Budou-li mít dvě stejná zařízení stejnou adresu, budou také na posílané povely reagovat společně. Tak lze připojit ke sběrnici i více zařízení - za předpokladu, že bude jejich funkce společná. Časování v protokolu DMX512 je vyobrazeno na obrázku 4.1 převzatého ze stránky Soundlight [33] a příslušné hodnoty jsou v tabulce 4.1. Přenos je realizován asynchronně a jeho začátek je synchronizován nulovou úrovní „Break“ (Reset), která musí trvat nejméně 88 ms, a následující synchronizační mezerou MAB (Mark After Break) s vysokou úrovní a minimální délkou trvání 8 ms. Dále následuje první poslaný rámec (start code)[3] a za ním zbývajících  512 datových rámců. Každý rámec (přenesený bajt) se skládá z jednoho start bitu, osmi datových bitů bez parity a dvěma stop bity. Mezi jednotlivými rámci mohou být mezery MTBF (Mark Time Between Frames) a MTBP (Mark Time Between Packet) v délce nejvíce 1 s.

Obrázek  4.1 – Časový diagram přenosu jednoho datového paketu v protokolu DMX512

   

č.

 Popis

Min.

Typ.

Max.

Jednotky

1

Break (Reset)

88

88

 

ms

2

MAB (synchronizační mezera) 

8

-

1 s

ms

3

Rámec

43,12

44,0

44,48

ms

4

Start bit

3,92

4,0

4,08

ms

5

LSB (první datový bit)

3,92

4,0

4,08

ms

6

MSB (poslední datový bit)

3,92

4,0

4,08

ms

7

Stop bit

3,92

4,0

4,08

ms

8

MTBF (mezera mezi rámci)

0

0

1,00

s

9

MTBP (mezera mezi pakety)

0

0

1,00

s

Tabulka  4.1 – Přehled časování protokolu DMX512/1998

 

Z přenosové rychlosti 250 kBit/s vyplývají následující časové údaje: Doba trvání jednoho bitu je 4 ms a datového rámce 44 ms (11 bitů). Celý přenos s celkovým počtem 512 datových bajtů má délku trvání danou následující rovnicí:

 Break + MAB + (1 + 512) * rámec = 88 + 8 + 513 * 44 = 22668 ms

 Z toho vyplývá nejvyšší opakovací frekvence přibližně 44,12 Hz při plně využité sběrnici. Tato hodnota je pro naše účely dostačující. 

Další stavy, které se mohou na sběrnici objevit, jsou dlouhodobý výskyt vysoké, nebo nízké úrovně. Pakliže je delší než 1 s, je stav vyhodnocen jako ztráta signálu. Reakce na tento stav je nechána na libovůli výrobce. Často zařízení setrvávají v naposledy nastavené pozici, někdy se resetují. Samotné moduly jsou zapojeny v topologii sběrnice, kde na straně vysílače a přijímače musí být zakončovací odpor (terminátor). Lze použít také rozbočovačů (splitters) a opakovačů (repeaters). Příklad takového zapojení modulů je uveden na obrázku 4.2.

 

Obrázek  4.2 – Zapojení sběrnice DMX512

  

Jak již bylo v úvodu řečeno, pro propojení se používá symetrického kabelu, tedy dvou aktivních datových vodičů se společným stíněním  REF _Ref136262101 \h [5]. Podle normy DMX512/1998 je standardní konektor pětipinový XLR, kde je zásuvka na straně vysílače a vidlice na straně přijímače, avšak v praxi jsem se setkal zatím jen s používáním třípinové verze konektoru XLR. Pro propojení modulů je někdy navrhováno použití symetrického mikrofonního kabelu. V tomto případě je ale důležité zkontrolovat, zda-li není stínění zapojeno na kostru konektoru. Správně podle normy musí být na pinu číslo 1. Podle manuálového listu od výrobce osvětlovací techniky American DJ  REF _Ref136262196 \h [6] případné připojení stínění na kovový kryt konektoru může zapříčinit zkrat nebo nevyzpytatelné chování. Zapojení konektoru XLR je vyobrazeno na obrázku 4.3, zapojení propojovacího kabelu v tabulce 4.2 a zapojení redukce mezi tří a čtyřpinovým konektorem je v tabulce 4.3.
 

5-Pin XLR Vidlice

3-Pin XLR Vidlice

Obrázek  4.3 – Rozmístění pinů na konektoru XLR

  

Pin

Vodič

Signál

1

Stínění

Zem / 0 V

2

1 pár (black)

Data -

3

1 pár (white)

Data +

4 (již se nepoužívá)

2 pár (green)

Data2 -

5 (již se nepoužívá)

2 pár (red)

Data2 +

Tabulka  4.2 – Zapojení kabelu ke konektoru XLR

 

Vodič

3-Pin XLR zásuvka (Výstup)

5-Pin XLR vidlice (Vstup)

Zem / Stínění

Pin 1

Pin 1

Data Compliment (signál -)

Pin 2

Pin 2

Data True (signál +)

Pin 3

Pin 3

Není použit

 

Pin 4

Není použit

 

Pin 5

Tabulka  4.3 – Zapojení redukce mezi 3 pinovým a 5 pinovým konektorem XLR


[1] z rozsahu 0 až 10 V

[2] Převodní jednotka „k“ má hodnotu 1000 a trvání bitu je 4 ms.

[3] V normě je tento rámec definovaný jako nulový, za předpokladu, že následující datové bajty se budou týkat pouze stmívacích jednotek. V praxi je však jeho hodnota ignorována, neboť jsou mnohdy na jedné sběrnici společně stmívače a jiná zařízení. Dodržení  této normy by přineslo komplikace s potřebou měnit tuto hodnotu, a tím by došlo k násobnému zvýšení latence.