analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu dmx512 · 2017. 11....

53
Mitja Osojnik ANALIZA PREJETIH PODATKOVNIH PAKETOV V DIGITALNEM KOMUNIKACIJSKEM STANDARDU DMX512 Diplomsko delo Maribor, september 2015

Upload: others

Post on 19-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Mitja Osojnik

ANALIZA PREJETIH PODATKOVNIHPAKETOV V DIGITALNEM

KOMUNIKACIJSKEM STANDARDUDMX512

Diplomsko delo

Maribor, september 2015

ANALIZA PREJETIH PODATKOVNIH PAKETOV VDIGITALNEM KOMUNIKACIJSKEM STANDARDU

DMX512

Diplomsko delo

Student: Mitja Osojnik

Studijski program: UNIVERZITETNI

RACUNALNISTVO IN INFORMACIJSKE TEHNOLOGIJE

Mentor: doc. dr. Boris Cigale

Lektorica: dr. Renata Zadravec Pesec

ZAHVALA

Najprej bi se rad zahvalil svojemu mentorju doc. dr. Borisu Cigaletu za vso pomoc in podporo,

ki sem je bil delezen v mesecih nastajanja diplomskega dela. Hvala za ves trud in veliko

mero razumevanja, se posebej v trenutkih, ko ni slo vse po nacrtih. Posebna zahvala gre tudi

lektorici dr. Renati Zadravec Pesec. Na koncu bi se rad zahvalil druzini in vsem bliznjim za

podporo, kakor tudi vsem drugim, ki ste vsak na svoj nacin prispevali k mojemu diplomskemu

delu.

ANALIZA PREJETIH PODATKOVNIH PAKETOV V DIGI-TALNEM KOMUNIKACIJSKEM STANDARDU DMX512

Kljucne besede: DMX512, odrska razsvetljava, analiza signala, STM32F4 Discovery

UDK: 004.657(043.2)

Povzetek

Diplomska naloga je v teoreticnem delu posvecena vsebini in nacinu delovanja digitalnega

komunikacijskega standarda DMX512, v drugem delu pa izdelavi tiskanega vezja, ki omogoca

komunikacijo preko protokola RS-485, ter dekodiranju signala DMX512 s pomocjo prototipne

ploscice STM32F407VG Discovery. Delo vsebuje temeljne povzetke standarda DMX 512,

ki so potrebni za nadaljnje delo, saj je poudarek prakticnega dela na razpoznavanju in

dekodiranju signala DMX512, za kar je potrebno tudi teoreticno predznanje. Opisanih je vec

pristopov do razpoznavanja signala in izgradnje filtrov, navedenih je tudi nekaj prednosti in

slabosti posameznih resitev. Rezultati so pokazali, da je mozno konstruirati filtre, s katerimi

lahko zaznamo dolocene napake, vendar se pri implementaciji teh filtrov pojavljajo tezave, ki

so posledica ohlapnosti standarda v dolocenih segmentih.

i

ANALYSIS OF RECEIVED DATA PACKAGES IN DMX512DIGITAL COMMUNICATIONS STANDARD

Key words: DMX512, stage lighting, signal analysis, STM32F4 Discovery

UDK: 004.657(043.2)

Abstract

The theoretical part outlines the main characteristics and operational properties of the

DMX512 communication standard, while in the second part the construction and manufac-

turing process of the circuit board, enabling communication using RS-485 protocol, and

decoding the DMX512 signal using the prototype STM32F407VG Discovery board is descri-

bed. As the main emphasis of the practical part of the project lies on the recognition and

decoding of the DMX512 signal, the fundamental properties of the DMX512 standard, requi-

red for further work, are briefly outlined. Different possible approaches for signal recognition

and construction of appropriate filters are discussed, objectively assessing performance, pros

and cons of each option. The extended analysis of collected data suggests that functional

filters for detecting signal errors can be constructed, however difficulties may arise during

practical implementation due to very loose definitions of certain aspects of DMX512 standard.

ii

Kazalo

1 UVOD 1

2 STANDARD DMX512 2

2.1 Vsebina standarda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1 Prikljucki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.2 Kabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.3 Fizicni sloj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.4 Podatkovni sloj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.5 Paket DMX512 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Odkrivanje napak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 PRIPRAVA OPREME ZA ZAJEM SIGNALA DMX512 12

3.1 Izdelava prototipnega vezja . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1.1 Maxim MAX3485EESA+ . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1.2 STM32F407VG Discovery . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 ZAJEM IN OBDELAVA PODATKOV 20

4.1 Uporaba orodja STM32CubeMX . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1.1 Prilagoditev nastavitev za USB . . . . . . . . . . . . . . . . . . . . . . 21

4.2 Uporaba strojne opreme na STM32F4 Discovery . . . . . . . . . . . . . . . . 22

4.3 Obdelava podatkov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.4 Prikaz rezultatov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 SKLEP 33

iii

Slike

2.1 Primerjava anlagne in digitalne lucne mesalne mize. . . . . . . . . . . . . . . 2

2.2 XLR prikljucka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 EIA - 485 kabel. [9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 Topologija priklopa naprav. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.5 Graficni prikaz zgradbe reze podatkov. [6] . . . . . . . . . . . . . . . . . . . . 8

2.6 Graficni prikaz zgradbe paketa DMX512. [10] . . . . . . . . . . . . . . . . . . 9

3.1 STM32F4 Discovery. [13] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Shema ploscice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Nacrt ploscice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 Plasti, potrebne za razvijanje vezja. . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5 Ploscici med programiranjem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.6 Razporeditev pinov na Maxim MAX3485EESA+. [11] . . . . . . . . . . . . . . 18

3.7 Shema STM32F407VG Discovery. [17] . . . . . . . . . . . . . . . . . . . . . . 19

4.1 Nastavitveno okno v programu STM32CubeMX. . . . . . . . . . . . . . . . . 21

4.2 Nastavljanje velikosti sklada in kopice. . . . . . . . . . . . . . . . . . . . . . . 22

4.3 Prikaz podatkov. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.4 Prikaz napake v primeru obrnjenih podatkovnih linij. . . . . . . . . . . . . . . 31

iv

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Tabele

2.1 Povezave v prikljucku XLR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Pregled kontrolnih struktur v paketu DMX512. Casi veljajo za prejemnike. [10][4] 9

2.3 Izvedba in interpretacija testa upornosti. [6] . . . . . . . . . . . . . . . . . . . 11

3.1 Pregled funkcij pinov. [11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

v

Kazalo kode

4.1 Izsek nastavitve stevca. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.2 Nastavitev UART za branje paketov DMX512. . . . . . . . . . . . . . . . . . . 25

4.3 Nastavitev DMA za prenos podatkov iz TIM2. . . . . . . . . . . . . . . . . . . 26

4.4 Funkcija, ki posilja podatke preko USB. . . . . . . . . . . . . . . . . . . . . . 26

4.5 Globalna prekinitev za UART v kateri iscemo zastavico, ki sporoca odmor na

liniji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.6 Funkcija za dolocanje strukture odmor. . . . . . . . . . . . . . . . . . . . . . . 28

4.7 Zaznava glave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

vi

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

1 UVOD

V diplomskem delu bomo poblize spoznali DMX512 – digitalni komunikacijski standard, ki

se praviloma uporablja v zabavni industriji. Kot de facto standard se uporablja za nadzor

svetlobnih efektov, uravnavanje jakosti svetlobe, upravljanje inteligentnih luci in v druge

namene, povezane z razsvetljavo, posebnimi ucinki in krmiljenjem gledaliskih naprav.

Tema diplomske naloge temelji na analizi podatkovne ravni, torej digitalnih paketov, ki

se posiljajo od posiljatelja k prejemniku. Ker standard temelji na principu “daisy chain”,

kar pomeni, da obstaja en izvor signala, naprave, ki signal poslusajo, pa so zaporedno

vezane ena na drugo, obstaja dolocena verjetnost napak, ki so lahko posledica nepravilnega

delovanja naprav, slabega stika v prikljuckih in podobno. Trenutno obstaja na trgu vec razlicnih

tipov analizatorjev signala DMX512; od najenostavnejsih, ki nam le interpretirajo podatke, ki

jih prejemamo, do taksnih, ki vsebujejo logicni analizator in lahko analizirajo promet bit za

bitom. Vsem napravam je skupno dejstvo, da so dokaj drage in zato ne najbolj dostopne.

Sicer lahko na spletu najdemo nekaj navodil za izdelavo lastnega analizatorja, vendar le za

najosnovnejso funkcijo prikaza vrednosti.

Cilj diplomske naloge je izdelati analizator, ki ne le interpretira dobljene podatke, torej

prikazuje poslane vrednosti s strani posiljatelja, ampak tudi pazi, da so izpolnjene vse zahteve

standarda. V primeru odstopanj bomo o tem obvestili uporabnika, z analizo omenjenih

signalov pa bomo skusali ugotoviti, v katerem delu standarda prihaja do napake in kaj bi

lahko bil vzrok zanjo. Ker pa je prestrezanje napak dokaj zahtevno in ne nujno najbolj

ucinkovito, bomo pogledali tudi, kaksni so drugi nacini, ki jih lahko uporabimo za odkrivanje

napak v protokolu DMX512.

1

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

2 STANDARD DMX512

V zacetku digitalne dobe je moznost spreminjanja osvetlitve s pomocjo digitalnega signala

pomenila revolucijo. Velike, okorne in tezko programirljive mesalne mize so zamenjale veliko

manjse in bolj prirocne digitalne mize. Primerjavo med analogno ter digitalno mesalno mizo

ponazarjata sliki 2.1a in 2.1b. Ker je digitalna tehnologija omogocila prenos vecje kolicine

podatkov, ki niso bili vezani le na jakost svetlobe, je prislo do razvoja novih vrst luci in efektov.

(a) Analogna mesalna miza. [3]

(b) Digitalna mesalna miza. [12]

Slika 2.1: Primerjava anlagne in digitalne lucne mesalne mize.

Razvijalci so kar hitro spoznali, da bodo morali najti skupni jezik, saj je sprva vsak

proizvajalec prenasal ukaze preko svojega protokola. V praksi je to pomenilo, da so morale

biti mesalna miza in vsa druga oprema od istega proizvajalca. Morda je bila ideja poslovno

2

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

dobra, ni pa bila prakticna. Posameznik je namrec izgubil moznost izbire, katero opremo bo

uporabljal, saj prizorisca niso imela vedno take opreme, kot bi si jo zelel, svoje pa v primeru,

ce je bila od drugega proizvajalca, ni bilo mogoce uporabiti. Posledicno je komisija inzenirjev

Instituta za gledalisko tehnologijo Zdruzenih drzav Amerike1 (USITT) leta 1986 izdala prvo

razlicico standarda DMX512. Kljub temu da USITT formalno ni bil pristojen za izdajanje

standardov, se je standard DMX512 zacel uporabljati, saj je vseboval enostavne resitve, ki

niso zahtevale dragih posegov v proizvodnjo, so pa omogocile medsebojno kompatibilnost

naprav razlicnih proizvajalcev. [6]

Sprva je standard vseboval le podatke o krmiljenju jakosti luci. Ker se je tehnologija

nenehno razvijala in se je standard uporabljal tudi za krmiljenje drugih naprav, so ga leta

1990 prvic spremenili in dodali manjkajoca dolocila. Nastal je standard USITT DMX512/1990.

Lahko bi rekli, da se je standard vecino casa popravljal za nazaj, saj neodvisen razvoj in

manevrski prostor v samem standardu omogocata veliko inovacij. Tako je leta 1998 postalo

jasno, da so potrebne nove spremembe. Predlogi in usklajevanja so trajali vse do leta 2004,

ko je pod okriljem Zdruzenja zabavne industrije in tehnologije2 (ESTA), Ameriski drzavni

institut za standardizacijo3 (ANSI) priznal standard E1.11-2004.

Nadaljnje spremembe so bile narejene leta 2008, takrat je izsla trenutno veljavna razlicica

standarda American National Standard E1.11-2008 (R2013) Entertainment Technology

USITT DMX512 – A Asynchronous Serial Digital Data Transmission Standard for Controlling

Lighting Equipment and Accessories4 ali na kratko DMX512-A. [4]

Leta 2010 je bil kot dodatek k standardu E1.11-2008 izdan standard ANSI E1.20-20105,

ki je definiral metode dvosmerne komunikacije preko protokola DMX512. [5]

Leta 2011 se je ESTA zdruzila s podobno neprofitno organizacijo PLASA, ki je trenutno

odgovorna za razvoj standarda. [8]

1United States Institute for Theatre Technology, Inc.2Entertainment Services and Technology Association3American National Standards Institute4Ameriski drzavni standard E1.11-2008 (Revizija 2013). Zabavna tehnologija USITT DMX512 – Asinhron

serijski digitalni standard prenosa podatkov za upravljanje osvetlitvene opreme in pripomockov5ANSI E1.20-2010 Entertainment Technology RDM Remote Device Management Over DMX512 Networks

3

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

2.1 Vsebina standarda

Digitalni komunikacijski standard DMX512 je opis metode digitalnega prenosa podatkov

med posiljateljem ukazov in prejemniki. S standardom so dolocene elektricne karakteristike

signala, podatkovni format, podatkovni protokol in tipi prikljuckov, ki se lahko uporabljajo. [4]

Ime standarda izhaja iz multiplekserjev, ki so se med drugimi metodami za nadzor jakosti

luci uporabljali pred digitalno tehniko. Tako kratica DMX6 pomeni digitalni multipleks, stevilo

512 pa nam pove, da lahko po eni signalni liniji (imenujemo jo univerza) istocasno krmilimo

512 kanalov, kar bomo podrobneje razlozili v nadaljevanju. [10]

2.1.1 Prikljucki

Standard od vsega zacetka predvideva uporabo 5-pinskega XLR-prikljucka, prikazanega v

sliki 2.2a. Zenski prikljucek je pritrjen na napravo, ki oddaja signal, moski prikljucek pa na

napravo, ki signal sprejema. Kljub temu da standard zahteva samo tri pine, dva sta rezervna,

je uporaba 3-pinskega XLR-prikljucka, prikazanega v sliki 2.2b, po standardu prepovedana.

Glavni razlog za prepoved je zdruzljivost s tonsko opremo, ki lahko pripelje do poskodb

ene ali druge opreme v primeru napacnega priklopa. Pravilne povezave v prikljucku XLR

so navedene v tabeli 2.1. Kljub vsemu pa se v praksi za prenos signala DMX512 pogosto

uporabljajo 3-pinski XLR-prikljucki.

Tabela 2.1: Povezave v prikljucku XLR.

Pin Povezava

1 Zemlja / 0 V

2 Podatki inverz (-)

3 Podatki (+)

4 Rezervni podatkovni inverz (-)

5 Rezervni podatki (+)

6Digital Multiplex

4

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

(a) 5-pin XLR dolocen s standardom. [2]

(b) 3-pin XLR s standardom ni dovoljen, je pa po-

gosto uporabljen. [1]

Slika 2.2: XLR prikljucka.

Standard omogoca tudi uporabo drugih prikljuckov, najbolj razsirjena alternativa XLR-ju je

RJ45, ki se uporablja za trajne povezave na mestih, ki niso izpostavljena zunanjim dejavnikom.

[6]

2.1.2 Kabel

Standard DMX512 zahteva kabel z oklopljenimi vodniki, zascito jedra in nizko kapacitivnostjo,

ki je izdelan za standard EIA-485. Njegova sestava je prikazana v sliki 2.3. O standardu

EIA-485 bomo vec povedali v nadaljevanju, na tem mestu je dovolj vedeti, da se v standardu

DMX512 uporablja za prenos podatkov po kablu.

Slika 2.3: EIA - 485 kabel. [9]

5

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Oklopljeni vodniki v kablu so pomembni iz vidika motenj, saj sta jim v tem primeru oba

vodnika enako izpostavljena. Da pa do motenj sploh ne bi prihajalo, se izpostavljenost

vodnikov zmanjsa z uporabo zascite jedra, ki je obicajno izvedena s pomocjo prepleta zemlje

okrog vodnikov. [10]

2.1.3 Fizicni sloj

V prejsnjem poglavju smo omenili standard EIA-485, ki ga poznamo tudi pod imenom RS-

485. Standard omogoca prikljucitev do 32 naprav na eno podatkovno linijo, kar dosezemo z

zaporednim povezovanjem, ki ga imenujemo tudi “dasy chain”. V primeru DMX512 imamo eno

napravo, ki oddaja signal, druge pa signal prejemajo (Slika 2.4). Vsaka naprava je opremljena

z dvema prikljuckoma. Na enem prejme signal, na drugem pa ga posilja do naslednje naprave.

Standard zahteva, da ima zadnja naprava v izhodnem prikljucku terminator. Najdaljsa mozna

dolzina linije je 1200 m. Za povezovanje uporabimo kabel za standard RS-485, ki ima

karakteristicno impedanco 120 ohm, ali pa CAT5-kabel s karakteristicno impedanco 100 ohm,

ce uporabljamo prikljucek RJ45. Glede na impedanco kabla izberemo primeren upor za

terminator, tako da je upornost upora enaka impedanci kabla. V terminarju upor prikljucimo

med oba podatkovna vodnika in tako zmanjsamo nezelene odseve signala po podatkovnih

linijah. [4]

Slika 2.4: Topologija priklopa naprav.

S standardom E1.20-2010 se je pojavila tehnologija RDM, ki je DMX512 spremenila

iz protokola, v katerem samo posiljatelj posilja ukaze in drugi poslusajo, v protokol, kjer

lahko tudi druge naprave posiljajo podatke. Tako je omogoceno spremljanje stanja naprav.

Tehnicnih resitev, ki so bile vpeljane, je vec in si jih mogoce prebrati v standardu, saj za

namen nase naloge tehnologija RDM ni pomembna. [5]

”Podatki so po vodnikih poslani kot zaporedje visokih in nizkih stanj. Linija je v visokem

stanju, kadar je podatkoven vodnik pozitiven glede na inverzen podatkovni vodnik . Linija je v

nizkem stanju, kadar je podatkovni vodnik negativen glede na inverzen podatkovni vodnik. To

metodo posiljanja signala po enem vodniku in posiljanje nasprotnega ali komplementarnega

6

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

signala po drugem vodniku imenujemo uravnotezen prenos7. Prejemnik zazna razliko med

podatkovnim vodnikom in inverznim podatkovnim vodnikom, da dekodira signal. Motnje, ki

vplivajo na kabel, bodo skoraj zagotovo vplivale na oba podatkovna vodnika in ju posledicno

prejemnik ne bo uposteval.”[6]

Prejemnik je zmozen dekodirati razlike v podatkovnih vodnikih, ki so vecje od 200 milivoltov

(0.2 V/200 mV). Tako je lahko napetost na enem ali drugem podatkovnem vodniku na intervalu

med +12 V in -7 V8, vendar mora biti njuna razlika vsaj 200 mV. Prav tako napetost na enem

in drugem podatkovnem vodniku ne sme nihati za vec kot 200 mV. [6]

2.1.4 Podatkovni sloj

V prejsnjem poglavju smo povedali, kako podatki potujejo od posiljatelja do prejemnikov,

sedaj si bomo se ogledali, kaksna je zgradba podatkovnih paketov.

V uvodu smo povedali, da stevilo 512 v imenu standarda pove, koliksno je najvecje

mozno stevilo kanalov, ki jih lahko krmilimo z eno podatkovno linijo. Podatki so poslani kot

zaporedje visokih in nizkih signalov, ki jim pravimo biti. V protokolu DMX512, se biti posiljajo

vsake 4 µs (mikrosekunde). Vsak podatek je sestavljen iz 8 bitov, kar nam da en zlog. Zlog

nam zagotavlja 256 razlicnih stanj – od 0 do 255, ki na krmiljenih napravah predstavljajo

vrednost od 0 % do 100 %. Dolocene naprave lahko za krmiljenje preciznih parametrov

zdruzijo dva kanala in uporabijo 16 bitov, kar nam da razpon stanj 0–65.535. Standard nam

torej omogoca posiljanje 512 kanalov, kjer je vsak kanal velik 1 zlog. Da lahko oddajnik in

prejemnik sinhronizirata signal, saj je DMX512 asinhron protokol, kar pomeni, da podatki niso

poslani ob dolocenih intervalih, ampak so lahko poslani kadarkoli, vsakemu zlogu dodamo se

tri bite. Imamo en zacetni ali start bit (nizko stanje) in dva koncna ali stop bita (visoko stanje).

Kadar ne posiljamo podatkov, je linija v fazi cakanja, kar pomeni, da je v visokem stanju.

Kadar je zlog poslan, zacetni bit naroci prejemniku, da prebere naslednjih 8 bitov v

razmaku 4 µs. Na to prejemnik pricakuje dva intervala visokega stanja, ki naznanjata konec

zloga. Linija lahko ostane v visokem stanju ali pa s prejemom zacetnega bita prejemnik

zazna nov zlog. Vsak poslan zlog je torej sestavljen iz 11 bitov (1 bit za zacetek, 8 bitov za

zlog in 2 bita za konec). Tem podatkom pravimo reze9 [6]. Njihova zgradba je prikazana v

sliki 2.5. Znotraj reze se biti posiljajo po pravilu od najmanj do najbolj pomembnega10. [4]

7Balanced transmission8Merjeno na prejemniku proti zemlji / 0 V9Slots

10Least Significant Bit to Most Significant Bit

7

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Slika 2.5: Graficni prikaz zgradbe reze podatkov. [6]

Pri casu 4 µs, ki je potreben za posiljanje enega bita, lahko posiljatelj v eni sekundi poslje

250.000 bitov, kar je 250 kbps11. S tem opisemo hitrost standarda DMX512.

2.1.5 Paket DMX512

V prejsnjem poglavju smo si pogledali, s kaksno tehniko posljemo vrednosti posameznega

kanala oz. rezo od posiljatelja proti prejemniku. Ker protokol omogoca prenos 512 kanalov,

to pomeni, da moramo proti prejemnikom poslati zadostno stevilo rez. Tukaj nastopi DMX512

paket (slika 2.6), v katerem je vseh 512 kanalov poslanih eden za drugim. Ce posiljatelj

podpira le manjse stevilo kanalov, je teh rez lahko manj, ne sme jih pa biti vec kot 512.

Za to, da lahko posiljatelj ugotovi, kateri del paketa prejema, skrbijo kontrolne strukture

znotraj paketa, prikazane v tabeli 2.2.

11Kilo bits per second (kilo bitov v sekundi)

8

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Tabela 2.2: Pregled kontrolnih struktur v paketu DMX512. Casi veljajo za prejemnike. [10][4]

Struktura Opis Stanje Velikost Trajanje

Break Naznani nov paket DMX512. Nizko (0) 22–250

kbitov

88 µs–1

s

Mark After Break

(MAB)

Signalizira zacetek branja. Visoko

(1)

2–250

kbitov

8 µs–1s

Start Code (SC) Ima vedno vrednost 0 (ne

velja za RDM), po velikosti

enaka CD.

Mesano 11 bitov 44 µs

Mark Time Be-

tween Frames

(MTBF)

MTBF loci posamezne zloge. Visoko

(1)

0–250

kbitov

do 1 s

Channel Data

(CD)

Reza z vrednostjo kanala. Mesano 11 bitov 44 µs

Marik Time Be-

tween Packets

(MTBP)

Loci pakete DMX512. Visoko

(1)

0–250

kbitov

do 1 s

Slika 2.6: Graficni prikaz zgradbe paketa DMX512. [10]

Odmor (break) je prva in najbolj pomembna kontrolna struktura, saj naznanja zacetek

novega paketa. To pomeni, da prva poslana reza predstavlja zacetno kodo (start code),

naslednja kanal 1, se naslednja 2 in tako dalje do 512 oziroma lahko tudi manj, ce posiljatelj

ne podpira 512 kanalov. Odmor predstavlja nizko stanje na vodniku, ki traja vsaj 92 µs, kar

je enako dvema celima rezama in dodatnim 4 µs. Standard dopusca dolocene izgube na

podatkovni liniji, za to je ta cas pri prejemniku lahko nizji in znasa 88 µs. [4]

Druga kontrolna struktura, ki jo bomo omenili, je MAB (Mark-after-Break). V originalnih

specifikacijah je dolg vsaj 8 µs pri prejemniku in 12 µs pri posiljatelju, vendar se vcasih zgodi,

9

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

da je to za kos starejse ali slabse opreme premalo. Posledicno naprava izpusti zacetno kodo

in namesto tega prebere prvo rezo, ki predstavlja prvi kanal. Zato naprava ne deluje pravilno.

Napaki se izognemo tako, da dolzino MAB nastavimo na priblizno 44 µs. [4]

Zacetna koda je tretja zaporedna kontrolna struktura. Pove nam, kateri tip podatkov lahko

pricakujemo v rezah. Privzeto je standardna vrednost tega zloga 0 . To nam pove, da imamo

navadne 8-bitne kanale. [6] Druge nestandardne vrednosti in njihov pomen je zapisan v

standardu. [4]

2.2 Odkrivanje napak

Prvi in najpogostejsi razlog za napake je neuporaba terminatorjev. Pri taksni uporabi se lahko

v zadnji napravi signal odbije nazaj po vodnikih in iznici pravi signal. Posledicno je ob prvem

znaku tezav vedno potrebno preveriti, ali ima zadnja naprava terminator in ali je upornost

terminatorja prava. Nekatere naprave imajo vgrajen terminator, ki ga vklopimo s stikalom. Ce

je omogocenih vec terminatorjev, kot jih ima zadnja naprava, je lahko tudi to vzrok tezav.

Seveda je pomembno, da se drzimo vseh zahtev standarda, ki so bile navedene v prejsnjih

poglavjih. Ena izmed praks, ki se jim je treba izogibati, je uporaba kablov, ki niso v skladu s

standardom EIA-485. Najpogosteje so to tonski kabli, saj vecina naprav DMX512 podpira 3-

pinski XLR. Uporaba taksnih kablov je, kljub temu da zadoscajo fizicnim lastnostim standarda,

napacna, saj imajo drugacno impedanco.

Protokol DMX512 lahko deluje tudi, kadar sta inverzni podatkovni vodnik (pin 2) in zemlja

(pin 1) zamenjana ali je kateri od njiju prekinjen ali pa sta v kratkem stiku. Normalno delovanje

z nakljucnimi motnjami je mozno tudi, kadar je kateri izmed podatkovnih vodnikov prekinjen

ali pa sta zamenjana med seboj – inverzni podatkovni vodnik (pin 2) in podatkovni vodnik (pin

3).

Poznamo tudi enostaven test upornosti, podrobneje predstavljen v tabeli 2.3, ki ga

izvedemo na moskem prikljucku na strani posiljatelja, ko so vsi prejemniki priklopljeni.

10

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Tabela 2.3: Izvedba in interpretacija testa upornosti. [6]

Test Normalna

vrednost

Nenormalna

vrednost

Mozne napake

pin 1–pin 2 Vec kot 2

kohm

Odprt krog.

Manj kot 200

ohm.

Nobene prikljucene naprave, naprave niso

nastavljene na prejemanje signala DMX,

prekinjen vodnik.

pin 1–pin 3 Pokvarjen prejemnik, kratek stik na liniji ali

narobe prikljucen prikljucek. Nepotreben

terminator za RDM (pri posiljatelju).

pin 2–pin 3 50–120

ohm

400–20 kohm.

Manj kot 50

ohm. Odprt

krog.

Manjkajoc ali napacen terminator. Preki-

njen vodnik ali pokvarjen prejemnik. Vec

kot dva terminatorja, kratek stik na liniji.

Zemlja in

katerikoli

pin

Odprt krog Manj kot nekaj

Mohm

Kratek stik v prikljucku ali visoka vlaga.

Podobno kot tonska oprema je tudi DMX512 ranljiv ob pojavu zanke preko zemlje. Gre

za situacijo, v kateri imata dve ozemljeni napravi na isti liniji razlicna potenciala. Posledica

je sum v primeru tonske opreme in razlicne motnje v protokolu DMX512. Tezavo resimo

s spremembo napajanja naprav ali pa naprave, ki so na drugem napajanju, medsebojno

izoliramo. [6]

11

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

3 PRIPRAVA OPREME ZA ZAJEM SIGNALA DMX512

Za zajem podatkov sta bila potrebna dva koraka. V prvem koraku je bilo treba podatke, ki

potujejo po kablu v skladu s standardom EIA-485, pretvoriti nazaj v bite. Kasneje je bilo treba

te podatke poslati na racunalnik, kjer so bili ustrezno obdelani.

Za prvi korak smo izdelali prototipno vezje, na katero smo pritrdili cip MAX3485EESA+, ki

je skrbel za komunikacijo preko standarda EIA-485, 3-pinski XLR-prikljucek, ki je omogocal

priklop naprave v DMX512, pine, preko katerih je bilo vezje mozno povezati s prototipno

ploscico, in 120-ohmski upor, ki je sluzi kot terminator. Ceprav 3-pinski XLR- prikljucek

po standardu ni dovoljen, se v praksi vseeno pogosto uporablja. Mi smo se zanj odlocili

predvsem iz prakticnega razloga, saj smo testni signal DMX512 posiljali preko USB-naprave

ChamSys MagicQ, ki ima enak prikljucek.

Za drugi korak smo izbrali prototipno ploscico STM32F4 Discovery (slika 3.1), s pomocjo

katere smo bite, prebrane iz cipa MAX3485EESA+ preko navideznega serijskega porta, z

USB-povezavo poslali na racunalnik.

Slika 3.1: STM32F4 Discovery. [13]

12

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

3.1 Izdelava prototipnega vezja

Za izdelavo lastnega tiskanega vezja smo se odlocili, ker smo zeleli majhen, kvaliteten in

robusten prototip, ki ga bo moc testirati tudi izven laboratorija. Postopek izdelave se je zacel

s seznamom zahtev, ki smo jih navedli ze v uvodnem poglavju. Vse zahteve smo temeljito

preucili in izbrali material, ki je izpolnil te zahteve. Tako smo za zacetek izdelave prototipnega

vezja izdelali seznam potrebnih delov:

• enostranska ploscica za jedkanje s fotolakom,

• kemikalije za razvijanje ploscice,

• kemikalije za jedkanje,

• prosojnice,

• XLR-prikljucek Neutrik NC3MD-H,

• cip MAX3485EESA+,

• 120-ohmski upor,

• 6 pinov.

Ko smo imeli vse dele, smo se lotili nacrtovanja vezja. Za risanje smo uporabili program

EAGLE1, proizvajalca CadSoft, ki ga je za izobrazevalne namene mogoce brezplacno prenesti

s spleta. Najprej smo narisali elektricno shemo ploscice, v kateri smo medsebojno povezali

vse komponente, kot je razvidno na sliki 3.2. Ker mora biti shema tocna, je treba poznati

natancne fizicne karakteristike omenjenih elementov. EAGLE ze v osnovi vsebuje bogato

knjiznico komponent, tako da smo jih vecino nasli kar tam. Zal nacrta cipa MAX3485EESA+

v knjiznici ni bilo, za to smo ga poiskali na spletu.

1Easily Applicable Graphical Layout Editor

13

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Slika 3.2: Shema ploscice.

Elektricno shemo smo na to pretvorili v nacrt nasega tiskanega vezja (slika 3.3). Program

sam obdrzi povezave, ki so bile narejene v postopku nacrtovanja elektricne sheme. Treba

je le primerno razporediti komponente in med pravimi elementi speljati bakrene povezave.

Pravilna razporeditev elementov nam olajsa risanje bakrenih povezav, saj se le-te ne smejo

stikati ali krizati.

Slika 3.3: Nacrt ploscice.

14

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Ko so bile povezave narisane, smo nacrt natisnili na prosojnico in se tako pripravili na

prvi korak v postopku jedkanja vezja – na osvetljavo fotolaka. Ker pa na ploscici nismo zeleli

zatemniti obrisov komponent, smo morali pred tiskanjem onemogociti dolocene plasti nacrta

(slika 3.4).

Slika 3.4: Plasti, potrebne za razvijanje vezja.

Natisnjen nacrt smo obrezali in prilepili v namizni okvir za fotografije. Iz ploscice za

jedkanje smo v temnem prostoru odstranili zascitno folijo in jo pravilno polozili na prosojnico.

Zaprli smo okvir in pod lucjo, ki oddaja UV svetlobo, pustili, da se je fotolak pravilno osvetlil.

[7]

V vmesnem casu smo pripravili dve kadi, v kateri smo zlili spojino za razvijanje fotolaka in

sredstvo za jedkanje. Osvetljeno ploscico smo najprej polozili v razvijalno kad, kjer se je v roku

nekaj minut sprala osvetljena plast laka, kar pomeni, da je baker ponekod ostal nezasciten in

ga je s pomocjo jedkanja mozno raztopiti. Razvito ploscico smo sprali pod tekoco vodo in jo

polozili v kad za jedkanje. Ker gre pri jedkanju za kemicni proces odstranjevanja bakra, je

postopek nekoliko dolgotrajnejsi. Za jedkanje ene ploscice v topli kopeli smo porabili priblizno

pol ure.

Zadnja koraka v izdelavi ploscice sta bila vrtanje lukenj za nekatere elemente in spajkanje.

Na vezje je bilo treba pritrditi material, ki smo ga nasteli v uvodu in uporabili pri risanju nacrta.

Koncni izdelek je bilo treba le se povezati s prototipno ploscico STM32F4 Discovery, kor

prikazuje slika (3.5).

15

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Slika 3.5: Ploscici med programiranjem.

3.1.1 Maxim MAX3485EESA+

V delu, ki je govoril o standardu, smo ze povedali, da se signal DMX512 po kablu prenasa v

skladu s protokolom RS-485. Standard za posiljanje bita uporabi dva vodnika z razlicnima

napetostma. Razlika med napetostma pove, kdaj je linija v visokem in kdaj v nizkem stanju.

Malo je verjetno, da bi bil standard tako razsirjen, ce bi morali sami ugotavljati napetost

vsakega vodnika in racunati stanje. K sreci je ta pretvorba resena s pomocjo cipov, ki

omogocajo kodiranje in dekodiranje standarda. Pri izbiri cipa smo se najbolj osredotocili na

dvoje: da cip podpira hitrost protokola DMX512 in da deluje z logiko 3,3 V, ki jo uporablja

nasa prototipna ploscica STM32F4 Discovery. Maxim MAX2485EESA+ je ustrezal vsem

zahtevam. Na sliki (3.6) je viden razpored pinov in njihova funkcija, ki je predstavljena v

tabeli 3.1. Iz tabele je tudi razvidno, da ima cip podporo za ”half-duplex”, kar pomeni da

lahko podatke preko istih pinov prejemamo ali posiljamo. V nasem primeru smo le prejemali,

ce bi jih zeleli posiljati, pa bi morali spremeniti napetost na kontrolnem pinu. Za razliko od

naprav ”half-duplex”, ki lahko podatke ali prejemajo ali posiljajo, jih lahko naprave ”full-duplex”

istocasno prejemajo in posiljajo.

16

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Tabela 3.1: Pregled funkcij pinov. [11]

PIN Ime Funkcija

1 RO2 Izhodni podatki sprejemnika. Kadar je A > B za vec kot 200 mV,

bo imel RO visoko vrednost (1); kadar je A < B za vec kot 200 mV,

bo imel RO nizko vrednost (0).

2 RE3 Omogoceno posiljanje izhodnih podatkov. RO je dovoljen, ko ima

RE nizko vrednost; RO ima visoko vrednost impedance, ko ima

RE visoko vrednost. Ce ima RE visoko vrednost in DE nizko, bo

naprava presla v stanje spanja.

3 DE4 Omogocen izhod vodila. Izhod vodila je omogocen s spremembo

vrednosti DE na visoko. Imajo visoko impedanco, ko ima DE

nizko vrednost. Ce imata RE visoko in DE nizko vrednost, bo

naprava presla v stanje spanja. Ce je izhod vodila omogocen, deli

nastopajo kot vodniki podatkovnih linij, v stanju visoke impedance

pa delujejo kot sprejemniki podatkovnih linij.

4 DI5 Vhod vodila. Nizka vrednost DI prisili nizko izhodno vrednost Y

ter visoko izhodno vrednost Z. Prav tako visoka vrednost DI prisili

visoko izhodno vrednost Y ter nizko izhodno vrednost Z.

5 GND6 Zemlja.

6 A7 Neobrnljiv vhod sprejemnika ter neobrnljiv izhod gonilnika.

7 B8 Obrnljiv vhod sprejemnika ter obrnljiv izhod gonilnika.

8 Vcc Napajanje: 3.0 V ≤ Vcc ≤ 3.6 V. Upravljanje naprave z Vcc > 3.6

V ni priporocljivo.

2Receiver Output3Receiver Output Enable4Driver Output Enable5Driver Input6Ground7Noninverting Receiver Input and Noninverting Driver Output8Inverting Receiver Input and Inverting Driver Output

17

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Slika 3.6: Razporeditev pinov na Maxim MAX3485EESA+. [11]

3.1.2 STM32F407VG Discovery

Prototipne ploscice so nepogresljivo orodje za izgradnjo prototipov, saj vsebujejo pester

nabor perifernih naprav, s katerimi lahko razvijemo svoj prototip in natancno dolocimo,

katere komponente bomo potrebovali za izdelavo namenskega prototipa. Ploscica STM32F4

Discovery kot centralno procesno enoto uporablja cip STM32F407VG, ki deluje s taktom

168 MHz. Zraven tega se na ploscici nahajajo tudi druge komponente, med katerimi je

vredno omeniti analogno-digitalne in digitalno-analogne pretvornike, podporo za omrezno

povezovanje, vecje stevilo DMA-, I2C-, SPI-, UART- in USART- vmesnikov, stevcev ter podporo

za USB9. Ploscica podpira ”High Speed” (480 Mb/s) in ”Full Speed” (12 Mb/s) vmesnik USB

2.0, vendar bi za USB ”High Speed” potrebovali dodatno zunanjo uro. Za to ploscico smo se

odlocili zaradi visjega takta procesorja, saj le-ta omogoca vecje stevilo operacij na sekundo,

kar olajsa obdelavo vecjih kolicin podatkov. Ploscice ne bi izbrali, ce ne bi imela: podpore za

USB, ki nam je omogocil posiljanje podatkov na racunalnik; DMA, s pomocjo katerega lahko

kopiramo podatke brez sodelovanja procesorja; UART, ki je mocno olajsal asinhrono serijsko

komunikacijo, kamor spada tudi DMX512, in stevce z najrazlicnejsimi nastavitvami, saj smo

te periferne naprave potrebovali za zajem in analizo podatkov.

9Universal Serial Bus (vecnamensko serijsko vodilo)

18

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Slika 3.7: Shema STM32F407VG Discovery. [17]

19

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

4 ZAJEM IN OBDELAVA PODATKOV

To poglavje opisuje nacrtovanje, razvoj in uporabo resitev, ki so bile potrebne za uspesno

dekodiranje signala DMX512 in njegovo analizo. Najprej bomo opisali orodje STM32CubeMX,

s pomocjo katerega smo generirali knjiznice in osnovne nastavitve. Orodje podpira vecino

produktov podjetja STMicroelectronics, kar vcasih pripelje do napak pri generiranju kode za

posamezno napravo, za to so pred uporabo le-te na STM32F4 Discovery potrebne dolocene

spremembe, o katerih bomo povedali nekaj besed. Nato pa bomo opisali funkcije, ki smo jih

uporabili, in navedli nekaj napotkov za pravilno implementacijo. Na koncu bomo predstavili

programske resitve, s katerimi smo zajeli ter analizirali zelene podatke in jih poslali na

racunalnik, kjer so bili predstavljeni uporabniku.

4.1 Uporaba orodja STM32CubeMX

Orodje STM32CubeMX je izdelek podjetja STMicroelectronics, ki ponuja graficni vmesnik za

konfiguracijo vecine njihovih naprav in generiranje knjiznic za njihovo delovanje. Program

je dostopen na spletu in se lahko prosto uporablja, zato smo se odlocili zadevo preizkusiti,

saj pravilna konfiguracija naprave vzame precej casa, ce se je lotimo sami in ce tega ne

pocnemo pogosto.

Graficni vmesnik je sestavljen iz treh glavnih zavihkov, v katerih nastavimo zelene lastnosti.

V prvem zavihku omogocimo funkcije, ki jih potrebujemo, in poskrbimo, da se ne prekrivajo z

drugimi, saj imajo lahko pini na cipu vec razlicnih funkcij. Za nase potrebe smo omogocili

casovnik TIM2, USB FS1, UART7 in zunanji resonator za uro, ki je potreben za casovnik in

USB. V nastavitvah za USB smo izbrali moznost serijske naprave, ki smo jo potrebovali. V

drugem zavihku lahko nastavimo uro oz. takt, s katerim tecejo razlicne periferne naprave. Ker

ne varcujemo z energijo, smo vse nastavitve pustili na najvisji vrednosti. V tretjem zavihku

(slika 4.1) imamo moznosti dodatnih nastavitev posameznih funkcij. Tako smo za casovnik

TIM2 omogocili DMA in ga pravilno konfigurirali. Enako smo storili tudi za UART4, ki smo

mu dodatno omogocili prekinitve. Nastavitve za USB smo pustili privzete. Vec o konfiguraciji

posameznih perifernih naprav sledi v nadaljevanju.

1USB FullSpeed omogoca prenos do 12 Mb/s

20

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Slika 4.1: Nastavitveno okno v programu STM32CubeMX.

Zadnji korak je shranjevanje projekta in generiranje kode. Kodo smo generirali za IAR

Embeded Workbench IDE, ki je bilo tudi razvojno okolje, v katerem smo programirali ploscico.

Druge podprte platforme, za katere je mozno generirati projekt, so: Atollic TrueSTUDIO, Keil

MDK-ARM in SW4STM32, ki je brezplacno razvojno orodje podjetja STM in bazira na orodju

Eclipse.

Generirana koda je vsebovala vse potrebne knjiznice in zacetne nastavitve. Ker vmesnik

ne podpira nastavitve vseh parametrov, je bilo treba dolocene nastavitve naknadno spre-

meniti. Ker smo kodo, generirano s tem orodjem, srecali prvic, smo porabil veliko casa, da

smo ugotovili, kako koda deluje in katere funkcije iz katerih knjiznic moramo uporabiti, da

dosezemo zeleno. K temu sta najbolj botrovali dejstvi, da je dokumentacija skopa in le redko

vsebuje primere uporabe in da so knjiznice razdrobljene, zaradi cesar je med datotekami

tezko navigirati do zelenega dela kode. Kljub temu se je orodje izkazalo za uporabno, saj

znatno zmanjsa cas, potreben za konfiguracijo naprave, vendar ne v primeru zacetnega

nepoznavanja kode.

4.1.1 Prilagoditev nastavitev za USB

Najvec tezav se je pojavilo pri nastavitvah USB navidezne serijske naprave. Generirana

koda je vsebovala nekaj napak, ki jih je bilo treba odpraviti. Ob prvem zagonu kode naprava

ni bila prepoznana. Kot vzrok se je pokazala napacna velikost kopice, ki jo je bilo treba iz

21

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

0x200 spremeniti v 0x400. V razvojnem okolju IAR IDE se velikost sklada in kopice nastavlja v

uporabniskem vmesniku in ne z inicializacijsko kodo 4.2. Sprememba je omogocila, da se je

naprava v okolju Windows predstavila kot navidezna serijska naprava, vendar iz nje vseeno

ni bilo mozno brati podatkov. Po nekaj dneh poskusov ter nekaj neuspelih resitvah iz spletnih

forumov je serijski port naposled le zacel delovati. Kot se je izkazalo, je bilo treba izkljuciti

zaznavanje stanja v-bus2, ki je bilo vkljuceno, kljub temu da le-ta ni bil omogocen. Prav tako

je bilo treba spremeniti velikost APP RX DATA SIZE3 in APP TX DATA SIZE v 2048.

Slika 4.2: Nastavljanje velikosti sklada in kopice.

4.2 Uporaba strojne opreme na STM32F4 Discovery

Osnovni cilj, ki smo ga zeleli doseci, je bilo vzorcenje signala DMX512, njegova obdelava

in posiljanje rezultatov na racunalnik. Do zadanega cilja je mogoce priti na vec nacinov,

izbrali smo tistega, ki se je zdel najbolj ucinkovit in je potencialno ponujal najboljse rezultate.

Pri izbiri je veliko vlogo igralo dejstvo, da se signal prenasa s hitrostjo 250.000 bitov na

sekundo4, kar ni zanemarljiva kolicina podatkov. Da bi lahko rekonstruirali posamezni bit,

2usbd conf.c3usbd cdc if.c4250 kb/s

22

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

je zraven stanja linije, ki je lahko visoko (1) ali nizko (0), treba poznati tudi cas trajanja

posameznega stanja. Kot izhaja iz standarda, se stanje linije za posamezni bit ohranja 4 µs,

kar pomeni, da je treba zaznati spremembo v taksnem casovnem intervalu. Pomembno je

tudi natancno merjenje casa trajanja, saj imamo lahko vec zaporednih bitov, ki imajo enako

stanje linije, njihovo stevilo pa je treba izracunati iz trajanja stanja linije. Za lazje razumevanje

predpostavimo, da zelimo znotraj paketa DMX512 poslati rezo z vrednostjo 2, kar se po

principu posiljanja od najmanj pomembnega bita do najbolj pomembnega pretvori v binarno

01000000, ki predstavlja nas zlog podatkov. Kot izhaja iz standarda, se reza zacne z zacetnim

bitom, ki ima nizko stanje (0) in traja 4 µs. Sledi se 4 µs nizkega stanja (0), saj je prvi bit zloga

enak 0, 4 µs visokega stanja (1), in 32 µs nizkega stanja (0). Kot veleva standard, se reza

konca z dvema bitoma visokega stanja (1), kar znasa se 8 µs. S spremljanjem stanja linije,

bi tako prisli do naslednjega rezultata: 0–8 µs, 1–4 µs, 0–32 µs in 1–8 µs. Ce case delimo

s 4, saj je trajanje enega bita 4 µs, dobimo 00100000011. Vemo, da sta prvi bit in zadnja

bita kontrolni strukturi, zato jih izpustimo. Taksno dekodiranje signala zahteva natancne

rezultate, ki jih samo s spremljanjem stanja linije in merjenjem casa ni mogoce dobiti. Zato

smo uporabili stevec.

Vsak stevec5 ima vnaprej doloceno frekvenco, ki je odvisna od hitrosti vodila, na katerega

je povezan. Ploscica omogoca zmanjsanje ure s faktorjem 2 ali 4. Hitrost stetja pa lahko se

dodatno zmanjsamo s preddeliteljem. Nasa ploscica ima 16-bitni preddelitelj6, kar pomeni, da

je najvecja vrednost, s katero je mogoce deliti izhodiscno frekvenco, 65.535. Uporabili smo

stevec z oznako TIM2 in ga konfigurirali, kot prikazuje spodnji izsek kode 4.1. Stevec lahko

steje navzgor, navzdol ali navzgor in navzdol, vedno pa steje do nastavljene vrednosti. Ce za

stevilo, do katerega stejemo, nastavimo 0 , se stevec ne zazene. Stevec lahko prozi dogodek,

ko presteje do dolocenega stevila, ali pa javi stanje stevca ob dolocenem dogodku. V nasem

primeru je bil tak dogodek prehod linije iz visokega stanja v nizko ali obratno. Z odstevanjem

dveh vrednosti smo dobili stevilo enot, ki so minile od enega do drugega dogodka. Ce

poznamo frekvenco stetja, lahko izracunamo cas. Vemo, da smo uporabili notranjo uro vodila,

ki za stevec TIM2 znasa 84 MHz, kar je 84.000.000 prehodov stanj na sekundo. Ce to

vrednost delimo s preddeliteljem, ki ima vrednost 84, dobimo 1 MHz, kar je enako 1 µs. Ko

smo s pomocjo stevcev izracunali cas med dvema spremembama stanja linije, smo stanje

le-te prebrali iz registra pina, saj bi bila v primeru nepoznavanja stanja rekonstrukcija signala

5Advance-controled timers6Prescaler

23

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

izjemno tezka, ce ne celo nemogoca.

Koda 4.1: Izsek nastavitve stevca.

void MX_UART4_Init(void)

{

htim2.Instance = TIM2;

htim2.Init.Prescaler = 84;

htim2.Init.CounterMode = TIM_COUNTERMODE_UP;

htim2.Init.Period = 0xffffffff;

HAL_TIM_Base_Init (&htim2);

sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;

HAL_TIM_ConfigClockSource (&htim2 , &sClockSourceConfig);

sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_BOTHEDGE;

sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;

sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;

sConfigIC.ICFilter = 0;

HAL_TIM_IC_ConfigChannel (&htim2 , &sConfigIC , TIM_CHANNEL_1);

}

Ker je programsko rekonstruiranje signala casovno zahtevno in podvrzeno napakam,

je v primeru normalnega stanja linije, ko v prenosu ne prihaja do napak, bolje in hitreje

uporabiti UART7, saj protokol DMX512 uporablja serijsko komunikacijo. S tem se proces

branja vrednosti rez avtomatizira, saj UART sam zazna, kateri del paketa so podatki, kateri

pa le krmilne strukture, in nam vrne le pravilne podatke. STM32F4 Discovery ponuja vec

USART- in UART-vmesnikov, mi smo izbrali UART4, saj smo potrebovali le asinhrono branje

podatkov. Najvisja mozna hitrost, ki jo je mogoce doseci, je 10.5 Mb/s, kar je veliko vec kot

hitrost 250 kb/s, pri katerih deluje protokol DMX512. [15] Za pravilno delovanje je kljucnega

pomena pravilna konfiguracija. Kot je razvidno iz inicializacijske funkcije 4.2, smo ”baud rate”8

nastavili na 250.000 , kar je enakovredno 250 kb/s. Stevilo koncnih bitov smo nastavili na dva,

kot veleva standard, stevilo podatkovnih bitov pa na 8, saj je prvi bit v rezi kontrolna struktura.

7Universal asynchronouse receiver transmitter (Univerzalen asinhroni prejemnik in posiljatelj)8Baud rate – stevilo bitov na sekundo

24

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Koda 4.2: Nastavitev UART za branje paketov DMX512.

void MX_UART4_Init(void)

{

huart4.Instance = UART4;

huart4.Init.BaudRate = 250000;

huart4.Init.WordLength = UART_WORDLENGTH_8B;

huart4.Init.StopBits = UART_STOPBITS_2;

huart4.Init.Parity = UART_PARITY_NONE;

huart4.Init.Mode = UART_MODE_RX;

huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;

huart4.Init.OverSampling = UART_OVERSAMPLING_16;

HAL_UART_Init (& huart4);

}

Branje podatkov mora potekati hitro in brez prekinitev, saj je treba ujeti vse bite in bajte,

zato za prenos podatkov uporabimo DMA9. Kot pove njegovo ime, DMA omogoca prenos

podatkov iz periferije do pomnilnika brez uporabe procesorja, kar pomeni, da centralna

procesna enota ni motena zaradi prenosa podatkov. Prav tako je omogoceno kopiranje iz

pomnilnika na periferijo in iz pomnilnika v pomnilnik. [14] Kot pri vseh drugih nastavitvah

moramo tudi pri konfiguraciji DMA paziti na nekaj osnovnih parametrov. Spodnji izsek

kode prikazuje nastavitve, ki smo jih uporabili za casovnik TIM2 4.3. STM32F4 Discovery

ima dva krmilnika DMA, od katerih ima vsak 8 kanalov. Kadar zelimo prenasati podatke

s periferije v pomnilnik ali obratno, moramo izbrati DMA krmilnik in kanal, ki je namenjen

prenosu na zeleno periferno napravo. Za prenose iz pomnilnika v pomnilnik uporabimo DMA2.

Naslednja zahtevana nastavitev je stevilo bitov, ki jih beremo, in stevilo, ki ga zapisemo.

Na razpolago imamo tri moznosti: zlog, ”half-word”, kar znasa 16 bitov, in ”word”, kar je

32 bitov. Ce na izvoru in cilju ne nastavimo iste velikosti, se biti zdruzujejo po principu

”litle-endian”10. Naslednja pomembna lastnost je nacin obnasanja DMA. Kadar je parameter

”mode” nastavljen na vrednost ”normal”, DMA prenese zeleno stevilo podatkov in se nato

ustavi. Ce zelimo prenasati konstanten tok podatkov, parameter prestavimo na vrednost

“circular”11, kar povzroci, da se prenos ponavlja, dokler ga ne izkljucimo. DMA nam tudi

omogoca uporabo polja FIFO12, ki je velikosti 128 bitov.

9Direct Memory Access (direktni dostop do pomnilnika)10Biti so razporejeni od najmanj pomembnega do najbolj pomembnega11krozno12First In First Out (prvi noter prvi ven)

25

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Koda 4.3: Nastavitev DMA za prenos podatkov iz TIM2.

hdma_tim2_ch1.Instance = DMA1_Stream5;

hdma_tim2_ch1.Init.Channel = DMA_CHANNEL_3;

hdma_tim2_ch1.Init.Direction = DMA_PERIPH_TO_MEMORY;

hdma_tim2_ch1.Init.PeriphInc = DMA_PINC_DISABLE;

hdma_tim2_ch1.Init.MemInc = DMA_MINC_DISABLE;

hdma_tim2_ch1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;

hdma_tim2_ch1.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;

hdma_tim2_ch1.Init.Mode = DMA_CIRCULAR;

hdma_tim2_ch1.Init.Priority = DMA_PRIORITY_HIGH;

hdma_tim2_ch1.Init.FIFOMode = DMA_FIFOMODE_DISABLE;

hdma_tim2_ch1.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;

hdma_tim2_ch1.Init.MemBurst = DMA_MBURST_SINGLE;

hdma_tim2_ch1.Init.PeriphBurst = DMA_PBURST_SINGLE;

HAL_DMA_Init (& hdma_tim2_ch1);

Za posiljanje podatkov s ploscice na racunalnik smo uporabili navidezna serijska vrata

USB. Posiljanje se je dogajalo v funkciji, prikazani v izseku kode 4.5. Funkcija je bila v rednih

intervalih klicana in redno se je preverjalo, ali so podatki v katerem izmed paketov pripravljeni.

Ko so bili, se je paket poslal s klicem funkcije CDC Transmit FS, ki je del generirane knjiznice.

Pred posiljanjem je treba preveriti, ali je naprava povezana in pripravljena za posiljanje.

Koda 4.4: Funkcija, ki posilja podatke preko USB.

void threadVirtualUSB ()

{

// Preverimo , da je naprava konfigurirana in posljemo paket , ki je

pripravljen.

if (hUsbDeviceFS.dev_state == USBD_STATE_CONFIGURED) {

if (AaliB == 1) {

CDC_Transmit_FS(UsbTxBuffA , UsbTxBuffSizeA);

usbAction = 1;

AaliB = 0;

}

}

}

26

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

4.3 Obdelava podatkov

Podatki, prebrani na perifernih napravah, so se s pomocjo DMA shranili v vnaprej dolocena

mesta v pomnilniku, kar pomeni, da smo jih lahko takoj uporabili. Iz UART-a, ki smo ga

nastavili tako, da je bral pakete DMX512, smo prejeli vrednosti rez, ki predstavljajo stanje

kanala. Nadaljnja obdelava podatkov, ce na liniji ne prihaja do napak, ni bila potrebna.

Podatke smo le shranili v polje in jih poslali uporabniku. Za dolocanje zacetka novega paketa

smo izkoristili prekinitev in nastavljeno zastavico, ki jo UART prozi, kadar naleti na odmor

(break), ki oznacuje zacetek novega paketa. Ista prekinitev nam omogoca tudi spremljanje

napak, saj se v primeru le-teh prekinitve prozijo zelo pogosto. Seveda pa so ti podatki

verodostojni samo, kadar lahko parametre standarda izmerimo in ugotovimo, ali sovpadajo s

standardom ali ne. Te deviacije smo merili s pomocjo podatkov, pridobljenih iz stevca.

Koda 4.5: Globalna prekinitev za UART v kateri iscemo zastavico, ki sporoca odmor na liniji.

void UART4_IRQHandler(void)

{

if(__HAL_UART_GET_FLAG (&huart4 , UART_FLAG_FE)) {

i = 3;

j = 2;

BaliA = 1;

errSnd ++;

}

HAL_UART_IRQHandler (& huart4);

}

Vrednosti stevca smo odcitali, kadar je prislo do spremembe stanja linije. Trenutni

vrednosti smo odsteli prejsnjo vrednost in tako izracunali dolzino zadnjega stanja linije. Ker

smo stevec nastavili tako, da se spremeni vsako 1 µs, nismo imeli tezav z dolocanjem trajanja.

Vendar za ugotavljanje struktur paketa niso dovolj samo casi trajanja stanja linije, ampak

potrebujemo tudi podatek o stanju. Za to smo iz registra pina, na katerega je bil prikljucen

vhod za TIM2, to strukturo prebrali na zacetku in jo pri vsakem naslednjem podatku spremenili,

saj se neprestano izmenjavata vrednosti 0 in 1. Podatek smo v rednih casovnih razmakih

preverili, saj je mozno, da bi kak cas izpustili in posledicno samo menjavanje polaritete ne bi

prikazovalo realnega stanja. Dobljene vrednosti smo primerjali z vrednostmi, ki jih zahteva

standard (tabela 2.2). Tako smo lahko identificirali zelene podatkovne strukture in ugotovili,

27

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

ali se njihovi casi skladajo s tistimi, dolocenimi v standardu. 4.6

Koda 4.6: Funkcija za dolocanje strukture odmor.

void threadnajdiBreak ()

{

if (novaVrednostTIM)

{

// BREAK je dolg vsaj 88 mikro sekund

if (vrednostTIM2 >= 88 && stanjePIN == 0 && breakIN == 0)

breakIN = vrednostTIM2;

// BREAK -u sledi MAB , ki je dolg vsaj 8 mikro sekund

else if (breakIN > 0 && vrednostTIM2 >= 8 && stanjePIN == 1)

{

breakTime = breakIN;

breakIN = 0;

lineOK = 0;

} else {

breakIN = 0;

}

novaVrednostTIM = 0;

}

}

V primeru, da UART ni uspel prebrati podatkov in je javil napako, smo skusali ugotoviti,

ali lahko napako identificiramo. Najbolj smo si prizadevali implementirati metodo, s pomocjo

katere bi lahko ugotovili, ali gre za obrnjeni podatkovni liniji, saj je ta napaka razmeroma

pogosta. Z enako metodo, kot smo racunali dolzino odmora, smo skusali izracunati njegovo

dolzino na obrnjenih podatkovnih linijah. Prakticno to pomeni, da se obrnejo stanja linije.

Odmor, ki ima obicajno nizko stanje (0), ima v taksnem primeru visoko stanje (1) 4.6. Ce je

bila zaznava strukture uspesna, smo uporabnika o tem obvestili, v nasprotnem primeru smo

javili samo splosno napako branja.

4.4 Prikaz rezultatov

Na racunalniku smo podatke pridobivali s pomocjo serijske naprave. Za izgradnjo aplikacije

smo uporabili Visual Studio in napisali aplikacijo v programskem jeziku C#. Aplikacija na ukaz

uporabnika odpre serijsko napravo ter zacne brati podatke. Podatki se iz ploscice posiljajo v

28

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

paketih, ki so sestavljeni iz glave in podatkov. Glava je sestavljena iz dveh zlogov, ki se ne

spreminjata in nam omogocata zaznavo zacetka podatkovnega paketa, kot prikazuje izsek

kode 4.7.

Koda 4.7: Zaznava glave.

if (!glava)

{

if (( stanje == 0) && (buffer[f] == 0xAB))

stanje = 1;

else if (( stanje == 1) && (buffer[f] == 0xBA)) {

stanje = 2;

glava = true;

} else if (( stanje == 0) && (buffer[f] == 0xBA)) {

stanje = 3;

} else if (( stanje == 3) && (buffer[f] == 0xAB)) {

stanje = 4;

glava = true;

} else {

stanje = 0;

}

}

Glavi sledijo vrednosti posameznih kanalov, ki jih shranimo v polje. Vsebino polja upo-

rabniku prikazemo v graficnem vmesniku. Podatki se lahko osvezujejo samodejno ali pa

le na uporabnikovo zeljo. Rocno osvezevanje je uporabno v primerih, ko uporabnik zeli na-

tancneje pregledati prikazane vrednosti. Vklop in izklop samodejnega osvezevanja dosezemo

s klikom na gumb osvezi, enkratno osvezitev podatkov pa dosezemo z dvojnim klikom. Na

sliki 4.3 lahko vidimo graficni vmesnik, ki prikazuje vrednost vseh 512 kanalov. Podatek o

vrednosti posameznega kanala je pomemben za diagnostiko, saj nam pove, ali posiljatelj

posilja zelene vrednosti in ali podatki pridejo do koncne naprave. Uporabnik lahko s klikom

na gumb vrednost oziroma odstotek preklaplja med prikazanimi vrednostmi (med odstotki in

vrednostmi kanala). V spodnjem levem kotu lahko najdemo tudi podatke o zacetni kodi in

dolzini odmora. Na sredini je prikazano trenutno stanje signala DMX512, kjer lahko uporabnik

prejme sporocilo o vec razlicnih napakah.

29

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Slika 4.3: Prikaz podatkov.

Podatek o dolzini odmora nam lahko pomaga pri detekciji tezav, ki jih aplikacija trenutno

ne zazna sama. Tako lahko krajsi cas od zahtevanega nakazuje na tezavo pri prenosu

signala, ki je lahko posledica napake na vodniku ali pa okvarjene naprave. Priporoceno je

preveriti cas pri posiljatelju in ugotoviti, ali so tam izmerjeni casi v skladu s standardom. Ce

so, meritve nadaljujemo po verigi, dokler ne odkrijemo izvora napake. Seveda krajsi cas

trajanja signala za odmor najverjetneje ne bo neposredno vplival na delovanje naprav, vendar

lahko isti dejavniki, ki vplivajo na skrajsanje dolzine tega signala, enako vplivajo tudi na druge

strukture paketa, kar pa lahko pripelje do izgube bitov in posledicno do napacnega delovanja

naprav.

Naslednji podatek, ki ga izpisujemo, je zacetna koda. Gre za prvo rezo v paketu, ki

doloci funkcijo nadaljnjih rez. Praviloma je vrednost zacetne kode 0, kar napravam pove, da

reze, ki sledijo, nosijo vrednosti posameznih kanalov. Z uvedbo tehnologije RDM, ki smo jo

ze omenili, je zacetna koda dobila dodatne vrednosti. Tezava nastopi, kadar uporabljamo

funkcije RDM, nekatere naprave na isti liniji pa tega protokola ne podpirajo in ne preverjajo

30

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

vrednosti zacetne kode. Taksne naprave pakete RDM obravnavajo kot navadne pakete, kljub

temu da bi jih morale izpustiti. V tem primeru lahko preverimo, kaksna je vrednost zacetne

kode, in vidimo, ali posiljamo napacne pakete ali pa dolocene naprave delujejo napacno.

Kot zadnje bomo omenili se polje s stanjem signala DMX512, v katerem izpisujemo tri

razlicne napake. Prvo opozorilo “Ni podatkov.” nam pove, da program preko serijskih vrat

ne prejema podatkov. To stanje nastopi, kadar STM32F4 Discovery ne prejme nobenega

signala, kar pomeni, da posiljatelj ne posilja ali pa ploscica ni priklopljena na pravo linijo.

Drugo opozorilo je “Napaka branja.”, kot je prikazano na sliki 4.4.

Slika 4.4: Prikaz napake v primeru obrnjenih podatkovnih linij.

Ta napaka nastopi, kadar UART na ploscici dobiva podatke, vendar le-ti nimajo pricakovane

strukture. Moznosti za taksno napako je vec, lahko gre za izgubo dela paketa, prehitro

posiljanje ali pa v celoti za napacen signal. Napako skusamo na ploscici tudi identificirati.

Iskanje napake obrnjenih podatkovnih linij smo ze razlozili v prejsnjem poglavju. Omenjeno

napako najveckrat povzroci napacno izdelan kabel ali pa napacno povezane linije na ka-

teri izmed naprav. Nekatere izvorne naprave ponujajo moznost obracanja polaritete, kar

31

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

bistveno pripomore k pogostosti taksnih napak. Po uspesni zaznavi napake obvestimo o tem

uporabnika z opozorilom “Obrnjeni podatkovni liniji.”, kot je prikazano na sliki 4.4.

32

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

5 SKLEP

V sklepnem delu diplomske naloge bi radi objektivno ocenili opravljeno delo, izpostavili

pozitivne vidike in skusali evalvirati, kaj vse bi lahko storili bolje.

Izbrana tema nam je ponujala veliko moznosti, saj podobnih projektov skoraj ni mogoce

izslediti. Razlogov za to je vec, prevladujoca sta najverjetneje zaprtost kroga ljudi, ki upo-

rabljajo to tehnologijo, in komercialni izdelki na trgu, ki jih uporabljajo profesionalci. Nasa

resitev je lahko vodilo vsem tistim, ki jih to podrocje zanima, vendar se z njim ne ukvarjajo

dovolj aktivno, da bi se odlocili za nakup komercialnega produkta.

Zacetni cilji so bili jasni in realni, zato smo vecino zastavljenih ciljev dosegli, seveda pa

obstaja se veliko prostora za izboljsave. Izdelali smo vezje s cipom, ki prejema podatke po

protokolu RS-485 in jih posilja v binarni obliki kot zaporedje visokih in nizkih stanj. Ta stanja

smo uspesno zaznali in interpretirali s pomocjo prototipne ploscice. Vrednosti posameznih

kanalov na delujoci liniji smo prebrali s pomocjo UART-a, podatke, potrebne za diagnostiko, pa

pridobili s pomocjo stevca in preverjanjem stanja linije na vhodnem pinu. Obdelane podatke

smo uporabniku uspesno prikazali v aplikaciji, tako vrednosti posameznega kanala kot tudi

podatke o napakah.

Podrocje, na katerem smo pricakovali vec, je brez dvoma diagnostika. Zal se je protokol

DMX512 izkazal za dokaj zahtevnega, kadar govorimo o analizi, saj je zaradi hitrosti in

zgradbe standarda, ki je v primeru dolzine posameznih krmilnih struktur dokaj ohlapen, to

analizo tezko natancno izvesti. Kadar pride do napak pri prenosu, se namrec hitro zgodi,

da pozitivno identificiramo napacno strukturo. Pomagamo si z iskanjem dveh zaporednih

struktur, ki ju ni mogoce zamenjati. To sta odmor, ki je dolg vsaj 88 µs v nizkem stanju linije,

in MAB, ki ima visoko stanje linije in je dolg vsaj 8 µs. Odmor je edina neprekinjena struktura

z negativnim stanjem linije, daljsim od 36 µs, s pomocjo MAB pa lahko potrdimo pravilno

zaznavo. Stanje postane konfuzno, kadar se zgodi obrat linij, saj je potrebno odmor iskati pri

obratnem stanju linije. Ce ga iscemo pri nespremenjenem stanju, ga napacno identificiramo,

saj dobi nedejavna linija, ki jo v normalnem stanju predstavlja visoko stanje, nizko stanje.

Maksimalna dolzina odmora in nedejavne linije ima enako omejitev, to je 1 s. Ker je MAB v

standardu definiran kot vsaj 8 µs visokega stanja, zgornja meja pa je 1 s, lahko kateri koli

naslednji signal, ki izpolnjuje pogoje, zaznamo kot MAB in tako potrdimo zaznavo signala

33

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

za odmor, kljub temu da to ni res. Seveda bi lahko iskali se dodatne strukture, vendar s tem

mocno narascata kompleksnost zaznave in cas, potreben za procesiranje.

Iz zapisanega izhaja, da je pravilna interpretacija in analiza standarda DMX512 mozna

in da tudi daje uporabne rezultate. Opisana resitev ponuja uporabniku zadostno kolicino

podatkov, da mu v primeru tezav olajsa iskanje napak na liniji DMX512. V primeru obrnjenih

linij in izpada signala obvesti uporabnika, za tocno katero napako gre.

V prihodnje bo treba trud in razvoj vloziti v izgradnjo novih filtrov, ki bodo omogocali boljso

diagnostiko od trenutnih. Seveda se bodo uporabnost izdelka in njegove pomanjkljivosti

najbolj izkazale v praksi, pridobljene izkusnje pa bodo pripeljale do novih izboljsav.

34

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

Literatura

[1] 3 pin XLR. Digitalna fotografija. ACCLAIM LIGHTING. Dostopno na: http://www.

acclaimlighting.com/uploads/pics/3pin_xlr_02.jpg[09. 08. 2015].

[2] 5 pin XLR. Digitalna fotografija. ACCLAIM LIGHTING. Dostopno na: http://www.

acclaimlighting.com/uploads/pics/5pin_xlr_01.jpg[09. 08. 2015].

[3] 96 Channel Strand System LC. Digitalna fotografija. Theatre Lighting Archive. Do-

stopno na: http://www.theatrearchive.co.za/members/gallery/images/large/

30bfdaaee44ea0a662692e970cdd17c2.jpg[08. 08. 2015].

[4] ANSI E1.11 - 2008. American National Standard E1.11 – 2008 (R2013) Entertainment

Technology USITT DMX512 - A Asynchronous Serial Digital Data Transmission Standard

for Controlling Lighting Equipment and Accessories. PLASA North America, New York,

2013. Dostopno na: http://tsp.plasa.org/tsp/documents/docs/E1-11_2008R2013.

pdf[08. 08. 2015].

[5] ANSI E1.20 - 2010. ANSI E1.20 – 2010, Entertainment Technology – RDM – Remote De-

vice Management over DMX512 Networks. PLASA North America, New York, 2011. Do-

stopno na: http://tsp.plasa.org/tsp/documents/docs/ANSI_E1-20_2010.pdf[08.

08. 2015].

[6] Bennett A. Recommended Practice for DMX512, 2nd Edition incorporating USITT

DMX512-A and Remote Device Management - RDM. East Sussex: PLASA, 2008.

Dostopno na: http://tsp.plasa.org/tsp/documents/docs/DMX512-A_Guide_(8x10)

_ESTA.PDF[08. 08. 2015].

[7] Circuit Skills: Circuit Board Etching. Video posnetek. Dostopno na: https://www.

youtube.com/watch?v=tWnfnt2rNO0[20. 08. 2015].

[8] DMX512. Wikipedia, the free encyclopedia. Dostopno na: https://en.wikipedia.org/

wiki/DMX512[08. 08. 2015]

[9] EIA RS-485 standard kabel. Digitalna fotografija. Odeskabel. Dostopno na: http:

//www.odeskabel.com/main-eng/index.php?option=com_content&view=article&

35

Analiza prejetih podatkovnih paketov v digitalnem komunikacijskem standardu DMX512

id=138:odeskabel-starts-supplying-interface-cables&catid=6&Itemid=16[09.

08. 2015].

[10] Elation Professional A Division of the American DJ Group of Companies. DMX 101: A

DMX 512 HANDBOOK. Los Angeles: Elation Professional A Division of the American

DJ Group of Companies, 2008. Dostopno na: http://www.elationlighting.com/

pdffiles/dmx-101-handbook.pdf[08. 08. 2015].

[11] Maxim Integrated Products. 3.3V-Powered, ±15kV ESD-Protected,

12Mbps and Slew-Rate-Limited True RS-485/RS-422 Transceivers:

MAX3483E/MAX3485E/MAX3486E/MAX3488E/MAX3490E/MAX3491E. Rev

0. Sunnyvale: Maxim Integrated Products, 1999. Dostopno na: http:

//www.maximintegrated.com/en/app-notes/index.mvp/id/367[09. 09. 2015].

[12] Pro Palette. Digitalna fotografija. The Strand Archive. Dostopno na: http:

//www.theatrecrafts.com/archive/contentssearch.php?global=1&type=kit&

search=6065[08. 08. 2015].

[13] STM32F4 Discovery. Digitalna fotografija. WolinLabs. Dostopno na: http://www.

wolinlabs.com/blog/linux.stm32.discovery.gcc/stm32f4_discovery.jpg[09. 09.

2015].

[14] STMicroelectronics. RM0090 Reference manual. STM32F405/415, STM32F407/417,

STM32F427/437 and STM32F429/439 advanced ARM-based 32-bit MCUs. Do-

cID018909 Rev 10 2015. Dostopno na: http://www.st.com/web/en/resource/

technical/document/reference_manual/DM00031020.pdf[09. 09. 2015].

[15] STMicroelectronics. STM32F405xx STM32F407xx. DocID022152 Rev 5 2015. Do-

stopno na: http://www.st.com/web/en/resource/technical/document/datasheet/

DM00037051.pdf[09. 09. 2015].

[16] Texas Instruments Incorporated. Isolated RS-485 transceivers support DMX512 stage

lighting and special-effects applications. 3Q 2011. Dallas: Texas Instruments Incorpo-

rated, 2011. Dostopno na: http://www.ti.com/lit/an/slyt425/slyt425.pdf[08. 08.

2015].

[17] Dostopno na: http://www.wvshare.com/img/devkit/STM32F4DISCOVERY/

STM32F4DISCOVERY-dimensions.jpg[09. 09. 2015].

36