Railnet

Trochu povídání o DCC komunikaci

DCC | Zdeno Janeček, 07. 10. 2005 (12269 zhliadnutí)

Toto je prvý z článkov venujúcich sa popisu DCC komunikácie. Článok si nekladie za cieľ oboznámenie s komponetami systému DCC, ale je snahou o popis komunikačného protokolu.

Setkávám se s kolegy a modeláři a protože o DCC systému něco vím , stále se mne na všelico dotazují. Proto bych chtěl pár věcí vysvětlit a ukázat, aby to bylo pohromadě a srozumitelně.

Protokol DCC je pulzně-šířková modulace, kde informace je dána vzdáleností mezi hranami silového signálu. Logická jedna je 2 x 58µS s tolerancí +/- 8µS na obě strany. Zase záleží na tom, zda je to přijímač nebo vysílač. Pokud je to vysílač, má toleranci jen +/- 2µS na obě strany. Nejlépe je, pokud vysílá absolutně přesně, protože chyby přenosu a ve vedení jsou značné. Logická nula je 2 x 116µS s tolerancí od 90µS do 12mS pro přijímací zařízení a 110µS až 10mS pro vysílací zařízení. Tohle je tzv. zpětná kompatibilita, kde je možné řídit i analogovou lokomotivu a už se většinou nepoužívá. Různé systémy to využívají různě, třeba Lenz jede přesně podle normy a třeba Rocco a RKDCC jedou na spodní hranici normy, aby zvýšily propustnost sběrnice. Třeba moje první dekodéry byly nastaveny podle Lenze a na RKDCC nefungovaly. Musel jsem se přizpůsobit normě a snížit okénkový diskriminátor na rozmezí 50µS až 64µS a 90µS až 10mS, aby to správně fungovalo.

Tyto logické „1“ a „0“ se skládají do bajtů a bajty do paketů. Nejjednodušší paket je trojbajtový a skládá se z preambule, start bit, adresy, start bit, data, start bit a kontrolního součtu.
„1111111111“ preambule se skládá z deseti jedniček
„0“ start bit je jedna „0“
„0AAAAAAA“ adresa , kde první bit musí být nulový a adresa je maximálně 127
„0“ start bit
„01SRRRRR“ první dva bity napevno, S= směr, R= je rychlost pro 28 stupňové řízení
„0“  
„xxxxxxxx“ kontrola EXOR , to je exkluzivní součet předchozích dvou bajtů

Preambule je důležitá pro identifikaci začátku paketu. Pro sériovou komunikaci je vůbec velký problém určit , kde je začátek synchronizace a tím i srozumitelnost přenášených dat. Tady je to vyřešeno atypicky velikým bajtem o délce 10 „1“, což je naprosto spolehlivé. Po preambuli následuje start bit, který odděluje bajty v paketu.

Adresový bajt se sedmi významovými bity může obsahovat adresu od 1 do 127. Adresa 0 je tzv. multifunkční a platí pro všechny přijímače. (lokodekodéry) najednou a používá se třeba na brzdný generátor. Důležitý je MSB bit , který musí být v „0“ , aby se rozlišila malá nebo velká adresa. K tomu se ještě vrátím.

Datový bajt se skládá z konstanty „01“ a šesti významových bitů. Číslice znamená pořadí bitu v bajtu. 5 je směr. 4 je různá podle toho, zda se používá 14 nebo 28 stupňová rychlost. Při 14 je tam F0 - funkce přepínáni světel, při 28 je tam nejnižší bit rychlosti. Zase zpětná kompatibilita, aby na 28 st. rychlosti, na 14 st., neskákala loko jako divá. Takže při 14 je pořadí bitů v bajtu „01SF3210 “ a při 28 je to „01S04321“. Opakuji, číslo znamená pořadí bitu v bajtu.

Kontrolní bajt je XOR součet adresového a datového bajtu a výsledek musí být nula, jinak je celý paket neplatný a zruší se.

Teď budu popisovat různé pakety a jejich význam. Nebudu zařazovat start bity, zbytečně by se to komplikovalo a je nutné je tam doplnit. A= adresa , S= směr, F= funkce, a= malá adresa , R= rychlost, /A= negovaná adresa , E = kontrola EXOR.

Idle paket je na nastartování DCC sběrnice a vysílá se zpravidla po startu centrály, aby se všechna zařízení iniciovala. Po začatí provozu se vysílají jen na vyplnění mezer , aby byl na sběrnici stále střídavý proud.
„1111111111“
„1111 1111“
„00000000“
„1111 1111“

Paket pro 14 stupňovou rychlostní soustavu
„1111111111“
„0AAAAAAA“
„01SFRRRR“
„EEEEEEEE“

Paket pro 28 st. rychlostní soustavu
„1111111111“
„0AAAAAAA“
„01SRRRRR“
„EEEEEEEE“

Čtvorbajt pro 128 st. rychlost
„1111111111“
„0AAAAAAA“
„00111111“
„SRRRRRRR“
„EEEEEEEE“

Trojbajt pro ovládání funkcí na loko , ovládá 5 funkcí, F0 a F4
„1111111111“
„0AAAAAAA“
„100FFFFF“
„EEEEEEEE“

Trojbajt pro ovládání funkcí na loko , ovládá 4 funkce, F5 a F8
„1111111111“
„0AAAAAAA“
„1011FFFF“
„EEEEEEEE“

Trojbajt na ovládání příslušenství (výhybky, návěstidla) . Tady je zvláštnost v devítibitové adrese , kdy je adresa rozdělena na dvě části. V prvním bajtu je šest nejnižších bitů a v druhém tři vyšší, které jsou však invertovány, z jakých důvodů, netuším. V druhém bajtu je trojice malé adresy, která určuje který pin bude nastaven nebo nulován podle bitu „F“.
„1111111111“
„10AAAAAA“
„1/A/A/AFaaa“
„EEEEEEEE“

Paket na proměnnou funkci ve větším rozsahu, než je normálně možné. Tento paket umožňuje inkrementovat nebo dekrementovat dvě funkce bez ohledu na současný stav a rozsah. Adresování je stejné jako u předcházejícího a jiné je jen „xx“ a „yy“ , které při stavu „01“ inkrementuji, při stavu „10“ dekrementuji a při „00“ resetují stav zařízení.
„1111111111“
„10AAAAAA“
„1/A/A/Axxyy“
„EEEEEEEE“

Pokud bude zájem, budu pokračovat rozšířenou adresací.

Sepsal Janeček

[Akt. známka: 0,00 / Počet hlasov: 3] -      + 

Pridať nový komentár

marian paulini 09.10.2005 16:25:32

a čo tak základy...

je to zaujímavý článok, ktorý predpokladá, že viem čosi o dcc, avšak bolo by dobré urobiť nejaký kvázy manuál pre toho, kto začína s dcc, kde by sa dozvedel 1. na čo to je, 2.aké sú možnosti (trhu, peňaženky...) 3. čo s čím funguje a ako... (napríklad mám loko s digitálom lenz a niekto mi ponúka ovládač fred - pôjde to... a podobné otázky) píšem to preto, lebo ak niekto začína a prečíta si napríklad danove články o zdigitalizovanie mašín, a teraz toto, prípadne čo - to na webe (čosi je u pietrika), tak nadobudne dojem, že to je tak zložité, že sa na to... skúste sa zamyslieť, ako ľudí pritiahnuť a nie postrašiť...

Reagovať

zdeno 09.10.2005 16:46:17

re: a čo tak základy...

ahoj, to nejde. uz mi bylo mnohokrat vycitano,ze jsem zly ucitel,protoze predpokladam urcite znalosti. moznost realizace a cena mne v zasade nezaujima a nesouvisi s tematem clanku, kde se snazim o vysvetleni, jak co funguje. proste a jasne velmi striktne rozdelujem kseft od zakladniho vyzkumu. pokud se chces neco naucit a postavit si sam, nikdo to za tebe neudela a budes muset tvrde makat a ucit se. tenhle clanek je nadstavba pro elektroniky , kterym je lito davat prehnane penize za komerci, ale nechteji zacit na uplne zelene louce. ahojz.

Reagovať

peter m 09.10.2005 17:16:34

re: re: a čo tak základy...

viem čo máš marian na mysli, tento článok tým skutočne nie je. taký článok by bol určite veľmi podnetný. ak sa nájde niekto, kto to rozumne a zrozumiteľne spíše, radi to uverejníme. už som aj upravil úvod k článku, aby bolo jasné, že sa nejedná o popis komponentov systému dcc a jeho základné oboznámenie. on to nadpis článku relatívne presne vystihuje keď hovorí, že sa jedná o komunikáciu.

Reagovať

karol antalík 11.10.2005 01:35:46

pre mariána paulíniho

v záujem objektívnosti, aj keď si vysvetlil, ako si to myslel, musím sa zastať zdena janečka, pretože ako napísal pán, čo sa skrýva za pseudonymom jk@, zdeno skutočne na jeho stránkach (teda pána jk@) napísal veľmi seŕiózne príspevky na tému dcc, kde sú skutočne výborné základy pre tých čo chcú s dcc začať, resp. ho budujú. sám som si to vtedy stiahol, aby som s tým mohol pracovať. aj keď sa tejto problematike ešte vôbec nerozumiem, myslím že citované zdenove články sú najlepšie z tých, čo som doteraz na interneete objavil (asi na 6 stránkach) k tejto problematike.

Reagovať

marian paulini 11.10.2005 09:28:20

re: pre mariána paulíniho

s tvojím názorom súhlasím, ale skús si niekedy vypočuť otázky a názory napríklad kupujúcich (napríklad u vraťa v obchode) a zistíš, že ak im máš čosi hutného povedať, tak tým zabiješ kopu času a i tak asi "budú v tom mať hokej", alebo by si ich mohol možno odkázať na web, ale kam? pritom záujemcom podľa mňa pribúda a asi to bude tak ako aj s modulmi, kto si najprv nezíska nejaké dobré info - najmä na webe a potom to niekde neuvidí v reále, tak sa do toho nepustí... preto tie moje poznámky a výzvy na napísanie čohosi stráviteľného. (ps: super stráviteľný článok je mimo iných napríklad jožov: ako zapoji? led...)

Reagovať

peter m 11.10.2005 10:49:21

re: re: pre mariána paulíniho

môžem prislúbiť, že taký materiál u nás bude. píše ho jozef. dnes som čítal základ toho materialu, podľa mojej mienky je napísaný čítavou a zrozumitelnou formou. bude z toho serial, keďže celá problematika je dosť obšírna. vo worde je to už teraz asi 6 strán textu.

Reagovať

mm 14.10.2005 15:14:42

ovladanie prislusenstva

mna by este zaujimalo, co posielaju profesionalne systemy, ked ovladaju prislusenstvo. najprv poslu pakety ktore vypnu parovy vystup a potom zapnu ten ktory chceme, alebo na na vypnutie kaslu a posielaju iba povel na zapnutie (f=1)? pre ovladanie vyhybiek je to v podstate jedno, vacsina ma na vystupe nastaveny iba impulz a vypnutie netreba, ale podobne sa daju ovladat aj napr. semafory a tam neviem ako to funguje. tak isto som sa stretol z adresaciou vyhybiek podla firmy "lenz" - max. je 99. viete niekto, preco to vymysleli a ako to teda presne je ?

Reagovať

jk 14.10.2005 16:22:04

re: ovladanie prislusenstva

profesionálne i neprofesionálne systémy musia posielať rovnaký riadiaci telegram na rovnaký povel v danom formáte. lenz ovláda iba dcc, možno tých 99, horná hranica možnosti adresácie (platí pre compact). intelibox má obrovské číslo vo formáte dcc, pričom má možnosť použiť formát motorola aj loconet. ten povel vskutku ide systémom posielania iba "zapínacieho" povelu. ak nemá dekodér príslušenstva blokovanie vykonania povelov, tak to spácha. stačí si dať na výstupy žiarovku a skúsiť to, ak to centrála umožňuje fyzicky. u samotného dekodéra (u centrály tiež) ide nastavovať dĺžku povelu a pod. na náveste, svetelné, sú iné dekodéry, nakoľko na svietenie je potrebný nižší výkon ako na prestavník (motorický aj cievkový). mechanická návest s cievkovým pohonom je ako výhybka. inak upravuje sa to nastavovaním v cv513 adr. 514 aktivácia výstupov, cv515-518 časy výst. signálov, atď. na http://zmrailwebpark.sk sú domácke dekodéry prísl. pre výhubky i náveste.

Reagovať

jki 19.10.2005 17:01:49

hrušky a jablká

kolega jk vniesol zas trochu chaosu do pojmov. dcc je len názov systému pohonu a ovládania. normy, podľa ktorých sa vysielajú poveky do koľajníc sú v zásade 3: nmra dcc (bežne lenz, digitrax, uhlenborck, a väčšina "prevzatých" setov ako roco, piko a pod). 2. systém motorola používa iba firma märklin anie je kompatibilná s nmra dcc, a 3. v podstate zabudnutý je systém selectrix. naproti tomu loconet je ovládacia zbernica a súčasne norma pre komunikáciu na tejto zbenici. nemá nič do činenia s dcc! slúži na zber údajov z ovládačov, ale môže slúžiť aj priamo na ovládanie príslušenstva. (centrála, ktorá rozumie povelom z loconetu, vie generovať príslušný dcc signál. intelibox je univerzálny vie generovať dcc signál vo všetkých 3 normách, rozumie loconetu, aj xpressnetu). konkurenciu loconetu je napr. xpressnet, ktorý používa lenz. loconet a xpressnet nie sú kompatibilné t.j. ovládač jedného systému nefungujú v druhom.

Reagovať

21.10.2005 22:02:07

re: hrušky a jablká

čo je v tom chaotické, ak je reč o príslušenstve ? mimochodom použil som takmer doslovnú citáciu popisu intelliboxu, ktorý na ovládanie príslušenstva používa (doporučuje ?) príslušenstvo pracujúce pod formátmi dcc, motorola alebo rozhrania loconet. nepoužil som som pojem formát vo väzbe na loconet! systém motorola nepoužíva iba fy märklin, ale podporujú ho aj ďalšie - viessmann, tams, esu, cte (to len námatkou). intellibox ovláda aj seletrix, s88 a nový formát mfx, keď už oddeľujeme jablká od hrušiek. intellibox ovláda teda loconet i xpressnet a vie používať oba ovládače a to súčasne ako vie ovládať súčasne delodéry, loko aj príslušenstva motorola i dcc a súčasne rozhrania loconet, xpressnet aj s88. uhlenbrock ponúka vlastne aj "prevodník", ktorý umožňuje märklinu používať/rozumieť rozhraniu loconet. čo sa týka chaosu nuž norma dcc nmra vzala za základ formát dcc fy lenz, tak ako märklin za svoju normu považuje formát motorola, pričom oba systémy sú dcc - digital command co

Reagovať

jk 21.10.2005 23:16:25

re: hrušky a jablká

jozef, keď chceš mentorovať a poučovať, nech sa ti páči, ale so znalosťou veci. nepodsúvaj ľuďom čo nenapísali a než niečo napíšeš, over si, či prežije 5 minút surfovania po nete. ešte teda k dcc, keďže krátiť komentáre - dcc je skratka pre každý ! digitálny riadiaci systém používajúci nezávislé povelmi (protokolmi) riadené ovládače lokomotív (lokodekodéry), resp. príslušenstva (dek. prísl.), teda aj s vlastným protokolom! aby existoval nejaký poriadok a kompatibilita, ustálili sa dva formáty, dcc nmra, iba skrátene dcc a motorola. formát motorola podporujú okrem lenza všetci relevantní európski výrobcovia - uhlenbrock, viessmann, tams, cte, dietz, esu, kuhn, ldt, atď. dekodéry príslušenstva a funkčné dekodéry formátu motorola sú dokonca lacnejšie ako dcc. keď chceš popisovať možnosti intelliboxu, mrkni sa aspoň do jeho manuálu. história dcc vývoj systémov, atď. je na je na http://fremodcc.sourceforge.net/artikel/artikel2.h tml#heading6

Reagovať

Pridať nový komentár