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)

  • BREAK - začetni signal (Lo)
  • MAB - "Mark After Break" (Hi)
  • SC - "Start Code" - podatek z vrednostjo nič (glej podatkovni del)
  • 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
    >> 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)
    >> 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).