Aljaz.Ogrin - Predstavitev projekta: Načrtovanje DMX konzole v jeziku VHDL za implementacijo v FPGA Xilinx Spartan-II |
3. Protokol DMX-512
Opis DMX protokola
DMX-512 je protokol za serijski prenos podatkov s konstantno hitrostjo na dolge razdalje. Protokol je v bistvu specializirana verzija protokola EIA-485 (ali RS-485). Večina pozna protokol RS-232, ki je uporabljen pri vsakem računalniku in tudi pri večini majhnih naprav, ki se jih da prikjučiti na PC (sedaj ga zamenjuje USB). Zato je tu primerjalna tabela.
Glavne razlike med 232, 485 in DMX protokoli:
Lastnost: | EIA-232 | EIA-485 | DMX |
uporabljenost | doma | industrija | oder, dvorane |
doseg | majhen (nekaj metrov) | velik (nekaj 100m) | velik (nekaj 100m) |
hitrosti | nizke | visoke | fiksno - 250kBaud |
smer prenosa | dvosmerno | dvosmerno | enosmerno |
podatkovni signali | Single-ended
(ena žica za eno smer) |
Diferencial
(dve žici za eno smer) |
Diferencial
(dve žici) |
vrsta prenosa | standardni serijski | standardni serijski | paketi podatkov |
Logična zgradba DMX signala
DMX signal ima točno določen format podatkov. Pošilja se paket podatkov, ki je sestavljen iz sinhronizacijskega dela in bloka podatkov (frame-ov).Sinhronizacijski del: (Sync signal)
Podatkovni del:BREAK - začetni signal (Lo) MAB - "Mark After Break" (Hi) SC - "Start Code" - podatek z vrednostjo nič (glej podatkovni del) Start bit - (Lo) podatki - 8 bitna beseda LSB...MSB (0 = Lo, 1 = Hi) 2x Stop bit - (Hi) MTBF - "Mean Time Between Frames" (Hi)
>> Slika 1 - začetek DMX signala
Na sliki 1 je prikazana zgradba DMX-512 signala za vrednosti kanalov
ch1 = 1, ch2 = 2, ch3 = 3, ch4 = 4, ch5 = 5,...
>> Slika 2 - Podatek za en kanal, podatek = 55h (glej signal 2)
Na sliki 2 je prikazana zgradba DMX-512 signala za en byte. DMX signal na sliki je merjen na kanalu 2. Pri hitrosti 250kBaud je širina enega bita 4us. Najprej je Start bit (Lo), sledi 8 bitov LSB – MSB, nato dva stop bita (Hi). Med dvema zaporednima podatkoma (=frame) je t.i. "MTBF" = Mean Time Between Frames, čas, ko je signal na visokem nivoju (Idle line).
Enako se pojavi med dvema paketoma (=Packet) t.i. "MTBP" = Mean Time Between Packets, čas, ko je signal na visokem nivoju (Idle line).
Električne lastnosti DMX signala
Za komunikacijo na dolge razdalje in brez motenj je nujna uporaba diferencialnih signalov, kar standard EIA-485 tudi upošteva. Zato je v projektu uporabljen diferencialni oddajnik (driver) in sprejemnik SN 75176B (glej literaturo). Ker sprejemnika ne potrebujemo, je izklopljen.
Nivoji signalov na linijah A / B so +5V / 0V za logično enico in 0V / +5V za logično ničlo. Šumna zaščita je 200mV. Za pravilen prenos podatkov je potrebno izbrati ustrezno linijo (Z = 120 Ohm) in jo na obeh koncih zaključiti s terminatorjem 120 Ohm. Pri kratkih razdaljah (nekaj metrov) odboji na liniji niso opazni in prenos poteka braz napak tudi brez terminatorjev. Driver je načrtovan za poganjanje do 32 sprejemnikov (FanOut = 32); za več sprejemnikov je potrebno dodati naslednji driver oz. ponavljalnik (repeater).