KNX dla profesjonalisty cz. 19 – Warstwa sieci, warstwa transportowa i warstwa aplikacji

Warstwa sieci

Urządzenia pracujące na magistrali odbierają każdą docierającą do nich ramkę i interpretują do poziomu warstwy sieci. To na tym etapie porównywany jest adres przesłany w ramce z adresem urządzenia nasłuchującego. W przypadku, gdy adres zapisany w ramce pokrywa się z adresem zapisanym w urządzeniu informacja jest dalej interpretowana aż do wykonania rozkazu zapisanego w polu danych. Na tym etapie interpretacji danych pracują również sprzęgła, zarówno obszarowe jak i liniowe. Porównują one adresy zawarte w ramkach do adresów zapisanych w ich pamięci w postaci tabel i przepuszczają tylko te ramki, na które zezwolił projektant sieci.

Warstwa transportowa 

Mimo opisanych zabezpieczeń na magistrali może nastąpić sytuacja, w której dwie ramki rożnych urządzeń będą ze sobą kolidowały. Za rozwiązywanie takich problemów odpowiada warstwa transportowa. Będzie to miało miejsce, gdy oba urządzenia odczekają 50 bitów i ruch na magistrali nie zostanie odczytany. W momencie gdy oba urządzenia zaczną nadawać wiadomość w czasie zbliżonym do siebie a odległość fizyczna między nimi będzie większa, niż droga jaką którakolwiek z ramek zdoła przebyć w czasie od rozpoczęcia nadawania jednego urządzenia do rozpoczęcia nadawania urządzenia następnego nastąpi kolizja ramek.

W takiej sytuacji rozpoczyna się transmisja regulowana protokołem CSMA/CA (Carrier Sense Multiple Access with collision Avoidance). Podczas nadawania urządzenia nie przestają odbierać danych z magistrali. Gdy urządzenie nadające bit „1” (napięcie niskie) odczyta z sieci stan „O” (napięcie wysokie) przestaje nadawać swój komunikat. W przypadku wielu urządzeń zaczynających nadawanie jednocześnie najwyższy priorytet będzie miało to, którego bramka ma najdłuższy ciąg zer początkowych. Pozostałe urządzenia nadal odczytują dane z magistrali i w odpowiednim czasie ponawiają przesłanie swojej ramki. Gwarantuje to, że w danej chwili tylko jedno urządzenie zajmować będzie magistralę. Nie jest jednak możliwe określenie maksymalnego czasu, w jakim ramka zostanie przesłana do odbiorców. Sieć KNX nie jest siecią deterministyczną.

 

Warstwa aplikacji

Warstwa aplikacji w urządzeniach KNX odpowiada za interpretację danych uzyskanych z magistrali. Informacje przekazane z warstwy transportowej. Specyfikuje ona interfejs użytkownika konkretnych urządzeń. Rozkazy wywoływane przez użytkownika, a następnie interpretowane przez aplikacje wgrane do każdego urządzenia są interpretowane na poziomie warstwy aplikacji.