Všechny originální moduly Massoth DiMAX se připojují k centrále pomocí sběrnice Massoth BUS. Zvládnutím připojení na tuto sběrnici by bylo možné získat plnou kontrolu nad centrálou a tím i obejít omezení sériového rozhraní. Tento článek popisuje pozorování dějů na Massoth Control BUS. Toto není oficiálnídokumentace firmy Massoth ani z žádné jiné dokumentace nečerpá. Jsou to výhradně vlastní poznatky získané při experimentování s centrálou Massoth DiMAX 1200Z.
Upozornění! Autor tohoto dokumentu nenese žádnou odpovědnost za případné škody vzniklé použitím informací v tomto dokumentu obsaženém.
Sběrnice Massoth BUS používá modulární konektor se šesti pozicemi osazený čtyřmi kontakty RJ-14. Při pohledu do zásuvky centrály jsou kontakty číslovány zprava doleva od 1 do 4. Krajní dvě pozice nejsou osazeny. Pro sledování, měření a zachytávání průběhů byl použit USB osciloskop S2X100 firmy Dynon Instruments připojený na notebook.
Základním proměřením napěťových úrovní zjistíme, že kontakt číslo 4 je zapojen na zem (GND). Na kontaktu číslo 2 je konstantní stejnosměrné napětí, odpovídající aktuálnímu nastavení napájecího napětí centrály (DC). I když není na sběrnici připojeno žádné zařízení, je na kontaktu číslo 1 stále přítomna opakující se série kladných pulzů. To bude vysílací linka centrály. Na kontaktu číslo 3 je v klidovém stavu také kladné napětí. Ale po připojení aktivního zařízení na sběrnici se na něm objeví také série pulzů, ale záporných a s viditelně nižší frekvencí opakování. To bude linka, po které centrála přijímá signály z připojených zařízení.
Na vysílací lince centrály na první pohled zaujme posloupnost tří širokých pulzů, která se pravidelně opakuje každých asi 30 ms. Mezi těmito trojicemi je vloženo 7 nebo 8 skupin užších pulzů. Trojice širokých pulzů se opakuje beze změny 15x. Každé 16. opakování je nahrazeno delší sérií kratších pulzů. První pulz série si ale zachová původní délku. Tato delší série se opakuje každých asi 500 ms (přibližně 16 x 30 ms). Kratší skupiny pulzů se také opakují, ale ne tak pravidelně. Některé skupiny se opakují každých 30 ms (společně s trojicemi širokých pulzů), jiné se opakují až po 500 ms (podobně jako delší série).
Průběhy pulzů odpovídají standardní sériové komunikaci. Nejkratší pulz (1 bit) má délku 100 us. To odpovídá rychlosti komunikace 1/100 us = 10 kbaud, možná trochu méně. Nejdelší pulz má délku 900 us. To odpovídá posloupnosti start bitu + 8 bitů s hodnotou 0. Krátké posloupnosti celkové délky 900 us jsou samostatně vysílané bajty různých hodnot. Také polarita signálu odpovídá standardní sériové komunikace po lince RS 232. Klidový stav na lince má úroveň logické "1". Bajt začíná jedním start bitem úrovně logické "0". Pak následuje 8 bitů, první je nejméně významný bit 0, poslední je nejvýznamnější bit 7. Pak následuje jeden stop bit logické úrovně "1", který případně plynule přejde do klidového stavu linky.
Na základě dosavadních měření se zdá, že centrála vysílá data klasickou sériovou komunikací, standardní rychlostí 9.600 baudů, 8 bitů bez parity s jedním stop bitem. Můžeme se pokusit o čtení této komunikace pomocí sériového rozhraní počítače. Sběrnici Massoth, vysílací linku, kontakt číslo 5 můžeme přímo propojit s kontaktem 2 sériového rozhraní. Případně pro snížení zátěže sběrnice můžeme použít tranzistor.
V klidovém stavu se na přijímací lince nic něděje. Po připojení navigátoru (nebo jiného aktivního zařízení) k centrále se situace změní. Změní se hodnota jednoho samostatně vysílaného bajtu, tento bajt se přesune na začátek opakovacího cyklu. Bezprostředně za tímto bajtem se na přijímací lince centrály objeví krátká série pulzů, délkou odpovídající jednomu bajtu.
Pokud navigátorem vydáváme nějaké pokyny, například změna rychlosti, je jeden bajt na přijímací lince nahrazen posloupností několika bajtů. O délku vysílané sekvence se zpozdí vyslání následujícího bajtu na vysílací lince. Pokud je na sběrnici připojeno více zařízení, objeví se na přijímací lince v jednom cyklu více stejných jednobajtových sekvencí.
Můžeme předpokládat, že i děje na přijímací lince budou mít charakter sériové komunikace. Již na první pohled je ale vidět, že polarita signálu bude obrácená. Zařízení se pravděpodobně připojují na linku otevřeným kolektorem. Pro připojení na RS232 rozhraní počítače musíme signál invertovat. Nejjednodušeji pomocí tranzistoru. Vzhledem k tomu, že nedochází k souběžnému přenosu dat na vysílací i přijímací lince, můžeme případně signály z obou linek sloučit do jednoho kanálu. Pak budeme pomocí jediného sériového portu počítače číst všechna data procházenící sběrnicí Massoth BUS oběma směry.
Komunikace po sběrnici Massoth BUS je klasická sériová komunikace rychlostí 9 600 baudů, 8 bitů bez parity.
Po sběrnici protékají dva typy informací. Prvním typem jsou jednobajtové synchronizační výzvy ke komunikaci pro jednotlivá zařízení a jednobajtové odpovědi aktivních zařízení. Druhým typem informací jsou delší sekvence obsahující stavové informace centrály pro zařízení a naopak pokyny a informace z periférií pro centrálu. Delší sekvence obsahují ve druhém bajtu kontrolní součet, délka sekcence je dána typem zprávy uložených v prvním bajtu sekvence. Obsahem jsou sekvence na sběrnici shodné se sekvencemi na sériovém RS 232 rozhraní centrály. Rozdíl je pouze u stavových informací centrály, které na sběrnici neobsahují délkový byte.
Pro sledování komunikace probíhající po sběrnici Massoth BUS byl vytvořen program "vMassothBus". Aplikace je velmi jednoduchá, má pouze hlavní okno a jedno pomocné konfigurační okno. V levé části hlavního okna se zobrazují stavové informace centrály. Tlačítkem "Připojit" je aktivováno sériové rozhraní počítače a je zahájeno čtení zpráv. Tlačítkem "Konfigurace" je nutné nastavit číslo COM portu, ke kterému je sběrnice připojena. Ostatní parametry komunikace se ponechají ve výchozích hodnotách.
V pravé části hlavního okna je 31 řádků odpovídajících maximálně možnému počtu připojitelných zařízení. Právě připojená zařízení jsou na začátku seznamu. Jednotlivé sloupce obsahují:
Program je možné stáhnout z odkazu vMassothBus.zip. Program se nijak neinstaluje, pouze se rozbalí a spustí v libovolném adresáři. Fyzické propojení Massoth BUS se sériovým rozhraním se provede podle posledního, výše uvedeného schématu. Na počítači, který není vybaven sériovým rozhraním, je nutné použít převodník USB / RS232.
Podrobnější popis komunikace po sběrnici Massoth BUS je uveden v dokumentu "Massoth Sbernice.pdf".