Popis sběrnice Denet a její komunikační protokol.
Popisuji sběrnici Denet , která je OPEN-SOURCE a tedy ji uvolňuji pro všeobecné používání. Mám dvě podmínky, pokud změníte protokol, změňte zároveň název, protože to už nebude Denet, a pokud ji budete používat, tak někde uveďte moje jméno, jako autora.
Sběrnice Denet je neřízená jednodrátová sběrnice typu proudová smyčka s ovládáním přes otevřený kolektor. Napájí se proudovým zdrojem o parametrech 12V/20mA a ovládá přes tranzistory s otevřeným kolektorem rychlostí 9600 Baudu. Tato rychlost je optimalizace mezi chybovostí a rychlostí. Tato rychlost je zároveň výhodná pro komunikaci s počítačem. Sběrnice Denet je zvláštní tím, že nepracuje sama , ale je logicky i fakticky navázána na centrálu DCC, která vyrábí digitální signál pro lokomotivy nebo příslušenství. Centrála DCC vyrábí pakety DCC rychlostí přibližně od 100 (pětibajt) do asi 155 (trojbajt) paketů za vteřinu. Tedy žádná velká sláva. Proto je snaha omezovat zbytečnou nebo nadbytečnou komunikaci. Proto byla DCC navržena striktně jako jednosměrná, aby se úplně vyloučily komunikační kolizní časy. Popis DCC je uveden na NMRA stránkách. To je dost důležité poznat, protože DCC konvenci používám v Denetu prioritně.
Hardware Denetu je podobný jako Loconet. Používá se konektor RJ12 s šesti zapojenými piny v pořadí 1- +12V ,2-zem, 3-Denet, 4-Denet, 5- zem, 6- +12V. Zem, Denet a +12V jsou zdvojeny kvůli spolehlivosti. Tím taky spolehlivě rozlišuji typ sběrnice a ovladač automaticky přepne na danou sběrnici. Pokud je potřeba více boostrů, zapojují se jako opakovač na hlavní DCC vedení centrály. Pokud se použijí velmi rychlé procesory, vznikne zpoždění okolo 20nS a to je naprosto zanedbatelné. Jinak nejlepší řešení je nezapojovat centrálu přímo na koleje, ale přes opakovače DCC zapojovat jednotlivé úseky. Tím se zároveň zabrání při zkratu zablokování celého kolejiště. Taky je možné použít několik centrál DCC a ty pojedou paralelně.
Denet používá devítibitovou komunikaci , kdy devátý bit definuje začátek paketu a určuje adresový bajt. Periférie, která vysílá, tím oznamuje centrále DCC o tom, že budou následovat další bajty. Lze používat trojbajt, čtyřbajt, pětibajt pro lokomotivy, tak pro příslušenství. Centrála automaticky rozezná typ i druh paketu. Protože v Denetu používám konvenci DCC , kde jen nahradím preambuli devátým bitem, je komunikace velmi přehledná a striktně definovaná. Příklad pětibajtu vysílaný na Denetu:
„11aa aaaa“ + TB8 = 1 | ; horní adresa a zároveň začátek paketu |
„aaaa aaaa“ + TB8 = 0 | ;dolní adresa |
„0011 1111“+ TB8 = 0 | |
„SRRR RRRR“+TB8= 0 | ;směr a rychlost |
;xxxx xxxx“ + TB8´=0 | ;kontrola |
Centrála přesně pozná, kdy paket skončil, protože pozná všechny možné a používané pakety.
Centrála DCC z toho udělá paket přesně v tvaru podle norem DCC
„11111 11111“ | ;preambule |
„0“ | |
„11aa aaaa“ | |
„0“ | |
„aaaa aaaa“ | |
„0“ | |
„0011 1111“ | |
„0“ | |
„SRRR RRRR“ | |
„0“ | |
„xxxx xxxx“ |
Centrála je úplně samostatný automat, který převádí pakety Denetu na DCC konvenci. Pakety DCC mají velmi přesnou definici a je tedy velmi důležité, aby vysílací periférie tuto normu dodržovala. Centrále stačí vědět, že pokud přijde bajt s RB8 v „1“, je povinna zařadit preambuli a mezi každé dva bajty vsunout „start bit“.
Sběrnice Denet je až úzkostlivě událostmi řízená síť, kde zařízení, která nemají co vysílat, musí být bezpodmínečně zticha. Pro vysílání je velmi přesně určeno, za jakých podmínek může periférie přistoupit na sběrnici. Platí následující podmínky:
Každé zařízení počítá čas od poslední „nuly“.Nejdelší čas mezi dvěma „0“ je čas mezi dvěma „start bity“, obsah je „255“ = 1,041µS x 11 = to je asi 1,2mS. Centrála má buffer na jeden paket, druhý se vysílá. Po dobu vysílání a plném bufferu drží centrála sběrnici v stavu „0“. Po odvysílání převezme paket z bufferu do vysílače, uvolní Denet a načte do bufferu další paket. Centrála nikdy nevysílá., pouze při plném bufferu zablokuje sběrnici stavem „0“. Každá periférie si počítá vlastní prioritu v délce mezi „0 x 62,5nS x 13 = 0.812uS“ až 511 x 62,5nS x 13 = 414µS“.
Z těchto podmínek vyplývají následující definice: Po souvislém intervalu 1,2mS ve stavu „1“ od poslední „0“, se považuje sběrnice za volnou.
Zařízení, které má co vysílat, odpočítá si vlastní prioritu a může začít vysílat.
Výjimka:
Pokud „0“ trvá souvisle déle než 3mS, znamená to, že sběrnici zablokovala centrála a zařízení mohou vysílat okamžitě po skončení „0“. Samozřejmě si musí odpočítat priority, aby nezačaly vysílat všechny současně.
Kolize na sběrnici, která vznikla tím, že si dvě zařízení vypočítala stejnou prioritu, se ošetřuje tak, že obě zařízení se vrátí na začátek svého vysílání a znovu počítají 1,2mS a priority. Protože je 512 možných priorit, je šance na kolizi 1:512 a to je celkem dobré a vyhovující.
A to je všechno, tak jednoduchý je protokol Denetu.
Zdůvodnění, proč jsem si vymyslel vlastní sběrnici je několik. Nejdůležitější je to, že Loconet je patentově chráněn a nedá se na něm komerčně participovat, bez možných právnických problémů. Další důvod je ten, že Loconet je starý už pěkných pár let a je to na něm znát. Největší jeho výhoda je zároveň jeho největší slabinou. A to jsou sloty. Nejde totiž ovládat periferie přes sloty. Jde to samozřejmě přímo přes Loconet, ale to se ztrácí obrovská výhoda vést zároveň napájení a informaci po dvou drátech DCC. Další nevýhoda Loconetu je v nemožnosti automatizace kolejiště bez počítače nebo nějakého dalšího monstra jako třeba Intellibox. Tím nechci odsuzovat PC nebo IBox, ale naznačuji, že je víc cest, než jen jedna, daná centrálou nebo programem v PC. A to je tzv. roztroušená inteligence, kdy každé návěstidlo si ovládá svůj úsek. To znamená, že vlaky jezdí od návěstidla k návěstidlu a jsou jimi přímo řízena. Výhoda je jasná a to je stavebnicový systém. Základním článkem stavebnice je modul návěstidla s detekčním úsekem. Ale to je už trochu moje tajemství a mohu jenom napovědět, že používám něco podobné jako Uhlenbrock a jeho Lissy. Přišel jsem na to úplně sám a až potom jsem se o Lissy dozvěděl, když už jsem měl svůj systém hotový a vyzkoušený.
Pokud není lokodekodér vybaven vysílací LEDkou, tak se to dá obejít tak, že jednotlivé prvky vědí, které prvky následují a adresu loko si předávají mezi sebou. To se dá použít jen a pouze na pevně stanovený grafikon, jakákoli změna nebo chyba to úplně rozhodí. Každá periferie má paměť na 128 vlaků a jejich směr. To je ale dost náročné na naprogramování a naplánování.
Porovnání obou sběrnic je těžký úkol, protože každá je prioritně určená na jiný účel.
Loconet s jeho sloty je určen striktně pro ovládání lokodekodérů a není určen pro automatizaci a ovládání příslušenství. Tím nechci říct, že to nejde obejít, ale musí se použít „vyšší“ inteligence.
Denet je určen na automatizaci kolejiště a umí tedy komplexně řešit vztahy mezi prvky kolejiště. Jeho roztroušená inteligence je obrovským zjednodušením a stavba je vlastně spojováním prvků do stavebnice. Základní prvek je návěstidlo s detekčním úsekem, které se neustále opakuje. Hlavní účel Denetu je v automatizaci kolejiště, kde loko jezdí podle návěstidel a obsluha nastavuje vlakové cesty. Samozřejmě je možné převzít kteroukoliv loko do „osobní“ starostlivosti a jezdit s ní.
K tomuto článku nebol doposiaľ priradený žiadny komentár!