Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Pasma częstotliwości ISM (ang. Industrial, Scientific, Transceiver) 2
Ogólne informacje dotyczące protokołu SimpliciTI Opracowanie Texas Instruments Dwie podstawowe topologie: Każdy z każdym (ang. Peer-to-Peer), Gwiazda (ang. Star), Typy węzłów: Węzeł końcowy (ang. End Device), Punkt dostępu (ang. Access Point), Rozszerzenie zasięgu (ang. Range Extender), Wspierane typy uśpienia, Niskie zapotrzebowanie na pamięć: <8 kb Flash, 1 kb RAM. 3
Funkcje protokołu SimpliciTI Punkt dostępu (ang. Access Point) służy głównie do obsługi urządzeń końcowych (ang. End Devices) oraz do komunikacji z systemami wyższego rządu takimi jak np. komputer, przekazując odebrane dane. Realizuje funkcje zarządzania siecią. 4
Funkcje protokołu SimpliciTI Zarządzanie siecią (ang. Network Management) funkcja ta jest domeną AccessPoint a (ang. Access Point punkt dostępu) i składa się z funkcji, takich jak przechowywanie wiadomości dla urządzeń będących w uśpieniu, zarządzaniem kluczami szyfrowania oraz zarządzaniem zmianą częstotliwości 5
Funkcje protokołu SimpliciTI Urządzenie zwiększające zasięg (ang. Range Extender) funkcja ta powoduje, że urządzenie po odebraniu wiadomości nadaje ją ponownie co powoduje zwiększenie zasięgu działania sieci. W jednej sieci mogą znajdować się maksymalnie cztery Range Extender y. 6
Funkcje protokołu SimpliciTI Zmienność częstotliwości (ang. Frequency Agility) - możliwość ta pozwala sieci na migrację do innej częstotliwości pracy, jeżeli używane częstotliwości są hałaśliwe lub zajęte. Zmiany są wprowadzane przy użyciu tabeli częstotliwości, która jest tworzona w czasie budowy programu. 7
Funkcje protokołu SimpliciTI Sieć zasilana bateryjnie (ang. Battery-only network) ponieważ Access Point musi być zawsze zasilany, sieci zasilane bateryjnie nie posiadają Access Point a, a wszystkie urządzenia pracują w trybach uśpienia. Ponieważ nie ma możliwości przechowywani wiadomości dla odbiorcy (z powodu braku AP) otrzymywanie ramek danych zależy od retransmisji wykonywanej przez nadawcę. 8
Funkcje protokołu SimpliciTI Szyfrowanie (ang. Encryption) obecnie wspierane jest szyfrowanie sprzętowe jak i programowe, gdy jest ono włączone wszystkie pola ramki danych z wyjątkiem adresu oraz pola kontekstu szyfrowania są zaszyfrowane. 9
Warstwy logiczne protokołu SimpliciTI Warstwa łącza danych/fizyczna (ang. Data Link/PHY) MRFI (Minimal RF Interface) - warstwa ta streszcza, to czym jest odczyt / zapis ramki danych z interfejsu aplikacji do radia. Różne radia wspierane przez SimpliciTI wymagają różnych implementacji, ale podstawowy interfejs oferowany w warstwie sieciowej jest taki sam dla wszystkich urządzeń radiowych. Różne transceivery oferują różne poziomy wsparcia dla warstwy fizycznej oraz łącza danych. MRFI pilnuje aby różnice te nie miały wpływu na działanie opisywanej warstwy. 10
Warstwy logiczne protokołu SimpliciTI Warstwa łącza danych/fizyczna (ang. Data Link/PHY) BSP (ang. Board Support Package) - dla wygody jest zaimplementowane pewne minimalne wsparcie dla różnych docelowych mikrokontrolerów. W postaci BSP (nie pokazano na schemacie architektury) dodane są następujące funkcje: obsługa interfejsu SPI (Serial Peripheral Interface) do komunikacji z radiem, zarządzanie przerwaniami poprzez połączenia GPIO (ang. General Purpose Input/Output) aby wspierać asynchroniczne wiadomości od radia, wsparcie dla sterowania diodami LED oraz odczytywania stanów przycisków. 11
Warstwy logiczne protokołu SimpliciTI Warstwa sieciowa (ang. Network Layer) Ustawienia sieciowe są przygotowywane na etapie kompilacji programu i mogą zawierać: częstotliwość nośną, ilość wspieranych częstotliwości, metody modulacji, prędkość transmisji danych, oraz inne ustawienia transceivera,. 12
Warstwy logiczne protokołu SimpliciTI Warstwa sieciowa (ang. Network Layer) Ustawienia sieciowe są przygotowywane na etapie kompilacji programu i mogą zawierać: wygenerowane oraz domyślne sieciowe klucze szyfrujące, ilość możliwych do przechowania wiadomości dla urządzeń w uśpieniu, adres urządzenia, ilość prób powtórzeń wiadomości dla urządzeń transmitujących, tokeny do nawiązywania połączeń. 13
Warstwy logiczne protokołu SimpliciTI Ping (Port 0x01): wykrywanie obecności wybranego węzła. Link (Port 0x02): zarządzanie połączeniem dwóch węzłów równorzędnych Join (Port 0x03): ochrona wejścia do sieci w topologii z AP. Security (Port 0x04): do zmiany informacji o zabezpieczeniach, takich jak klucze szyfrowania i o kontekście szyfrowania. Freq (Port 0x05): dla wykonania: zmiany kanałów, żądania zmiany kanałów oraz żądania echa. Mgmt (Port 0x06): ogólny port zarządzania używany do zarządzania węzłem. 14
Topologie protokołu SimpliciTI Połączenie bezpośrednie (Peer to Peer) W konfiguracji tej AP uczestniczy w transmisji, przechowując wiadomość dla uśpionego ED2, gdy ten się wybudzi, AP przekaże mu informację od ED1 funkcja ta nazywa się Storeand-forw 15
Topologie protokołu SimpliciTI Komunikacja odbywa się z użyciem urządzenia zwiększającego zasięg (Range Extender) Droga między ED1 oraz ED2 prowadzi przez Range Extender oraz Acces Point z wykorzystaniem funkcji Pollingu (przekazaniem wiadomości uśpionemu urządzeniu). 16
Bezpieczeństwo transmisji SimpliciTI Szyfrowanie z użyciem zmodyfikowanego licznika CTR (ang. Counter mode Encryption), Szyfrowanie bloków 64-bitowych z wykorzystaniem algorytmu XTEA (ang. Extended Tiny Encryption Algorithm), Długość klucza stosowanego do szyfrowania -128 bitów, Zabezpieczenie nadmiarowe CRC 17
Struktura ramki danych SimpliciTI (z włączoną funkcją szyfrowania) RD* - zależne od typu RF, LENGTH długość pozostałej ramki w bajtach, DSTADDR adres docelowy, SRCADDR adres źródłowy, PORT dane organizacyjne, DEVICE INFO typ węzła i możliwości, TRACID Identyfikator transakcji, APP PAYLOAD typ aplikacji, FCS - pole kontroli CRC. 18
Właściwości protokołów ZigBee oraz SimpliciTI 19
Dziękuję Zygmunt Kubiak 20 09-200 6