bluetooth

Aktualnie specyfikacje Bluetooth przewidują dwa dystanse - 10 m (30 stóp) i 100 m (300 stóp) wraz ze wzmocnieniem - przepustowość tej technologii wynosi 1 Mbps przesyłanych w paśmie 2.4 GHz ISM. Niektóre firmy rozważają również częstotliwość 5 GHz ISM dla przyszłych technologii. Bluetooth wykorzystuje technologie circuit oraz packet switching i umożliwia połączenia punkt-punkt i multi-point. Standardowe interfejsy obejmują USB, UART i PCMCIA. Jednak Bluetooth nie jest tylko zastąpieniem tych wszystkich kabli sterczących z komputera PC, ale również może służyć jako punkt dostępowy przesyłania danych i głosu w domu, w przedsiębiorstwie (LAN) i w miejscach publicznych, jak hotel czy poczekalnie na lotniskach. W przeciwieństwie do innego bezprzewodowego konkurenta - IrDA, który wykorzystuje technologię podczerwoną, Bluetooth nie jest blokowany przez obiekty, jak ściany, a użytkownik pozostaje podłączony podczas poruszania się.

Bluetooth to technologia bezprzewodowego przesyłania danych i głosu o otwartej specyfikacji, dostępnej dla każdego zainteresowanego. Może ona połączyć ze sobą dowolne urządzenia elektroniczne. Budowę blokową systemu Bluetooth przedstawia rysunek:

 

Połączenia realizowane są w relacjach master-slave i tworzone są ad-hoc. Grupa urządzeń pracujących w trybie slave (do siedmiu) i jeden master mogą utworzyć pikosieć. Z kilku takich pikosieci może powstać scatternet. Poniżej przedstawione są możliwe rodzaje konfiguracji połączeń master-slave:

 

Wszystkie urządzenia z pikosieci są zsynchronizowane z zegarem urządzenia typu master. Jak widać na powyższym rysunku master w jednej z pikosieci może być slave'em w innej. Pikosieci nie są ze sobą w żaden sposób zsynchronizowane. Oprócz siedmiu slave'ów w połączeniu może uczestniczyć więcej urządzeń, lecz pozostają one nieaktywne - są zaparkowane. Są jednak cały czas zsynchronizowane z urządzeniem pełniącym funkcję master'a i w każdej chwili aktywne połączenie może zostać przywrócone. Każde z aktywnych urządzeń posiada własny, 3-bitowy adres MAC (stąd ograniczenie na maksymalnie osiem urządzeń w pikosieci). Oprócz adresu MAC wyróżniamy jeszcze cztery inne grupy adresów. Adres urządzenia jest to unikalna, 48 bitowa sekwencja identyfikująca każde z urządzeń Bluetooth. Adres ten podzielony jest na trzy części - LAP, UAP, NAP. Adresy dostępowe wynikają z części LAP adresu urządzenia i służą do zastosowań sygnalizacyjnych. 8 bitowy adres urządzenia zaparkowanego służy do identyfikacji sprzętu, który aktualnie nie uczestniczy w transmisji. Urządzenie zaparkowane może powtórnie stać się aktywne przy użyciu adresu określającego żądanie dostępu.

Urządzenie, oprócz przypadku, w którym aktywnie uczestniczy w połączeniu (posiada własny adres MAC), może znajdować się w kilku innych trybach, w których zużywa znacznie mniej energii. Przed połączeniem urządzenie znajduje się w trybie STANDBY, w którym co 1.28s budzi się ze stanu uśpienia i nasłuchuje na 32 częstotliwościach czy w pobliżu nie znajduje się inne urządzenie Bluetooth. Połączenie inicjalizowane jest przez dowolne urządzenie, które następnie staje się mastre'em. Połączenie nawiązywane jest przy użyciu wiadomości PAGE (jeśli adres urządzenia jest znany) lub przy użyciu wiadomości PAGE poprzedzonej wiadomością INQUIRY (gdy adres urządzenia nie jest znany). W trybie PAGE master wysyła 16 identycznych ciągów wiadomości na 16 różnych częstotliwościach. Jeśli nie otrzyma odpowiedzi to po następnym okresie uśpienia (1.28s) wysyła te wiadomości na kolejnych 16 częstotliwościach. Tak więc maksymalny czas po jakim master skomunikuje się ze slave'em to 2.56s a czas średni wynosi 0.64s. Wiadomość typu INQUIRY jest stosowana do znajdowania urządzeń Bluetooth w pobliżu o nieustalonym dotąd adresie. Kolejnym trybem jest HOLD. Master może przełączyć slave'a w ten tryb lub też sam slave może zażądać przełączenia. Tryb ten stosowany jest gdy urządzenie nie ma więcej danych do transmisji. Istnieją jeszcze dwa tryby oszczędzania energii: SNIFF i PARK. W trybie SNIFF urządzenie nadal jest aktywne w sieci, lecz "nasłuchuje" tylko wybranych pakietów. Tryb PARK służy do wyłączenia urządzenia z aktywnej transmisji. W tym trybie urządzenie nie posiada własnego adresu MAC, lecz jest cały czas zsynchronizowane z master'em.

Dane w systemie Bluetooth są transmitowane w pakietach. Każdy pakiet posiada nagłówek oraz pole danych użytkowych. Istnieje wiele typów pakietów w zależności od celu w jakim wykorzystywane jest połączenie (transmisja głosu, danych, mieszana, z zabezpieczeniem lub bez).Typy pakietów to: ID, NULL, POLL, FHS, DM1 (są to pakiety zarówno dla łącza typu SCO jak i ACL), DH1, AUX1, DM3, DH3, DM5, DH5 (dla łącza ACL), HV1, HV2, HV3, DV (dla łącza SCO). Opis poszczególnych pakietów znajduje się w dziale słownik.

Do połączeń wykorzystywane jest nie licencjonowane pasmo o szerokości 83,5MHz (z niewielkimi różnicami w regionalnymi) w okolicy 2,4GHz. W USA i w Europie (oprócz Hiszpanii i Francji) pasmo podzielone jest na 79 kanałów co 1MHz. W Hiszpanii, Francji oraz Japonii pasmo jest węższe i podzielone tylko na 23 kanały (także co 1MHz). Nie licencjonowane pasmo jest dość zaszumione, ze względu, iż dużo urządzeń (także sprzęt gospodarstwa domowego) pracuje w tym paśmie. Aby ograniczyć wpływ zakłóceń na łącze radiowe wykorzystywana jest technologia skakania po częstotliwościach. W standardzie Bluetooth wykonywanych jest 1600 skoków na sekundę. Sekwencja skakania po częstotliwościach jest pseudolosowa, różna dla każdej z pikosieci i określona przez adres urządzenia pełniącego rolę master'a. Kanał podzielony jest na szczeliny czasowe, z których każda odpowiada jednej z częstotliwości i trwa 625m s. Szczeliny są ponumerowane od 0 do 227-1. Podczas trwania szczeliny master i slave mogą transmitować swoje pakiety. Przy transmisji "full duplex" stosowany jest typ transmisji "Time-Division Duplex" (TDD). Każdy pakiet zajmuje pojedynczą szczelinę czasową ale może zostać rozszerzony aż do pięciu szczelin. Przy transmisji, na przykład głosu, poszczególne szczeliny mogą być rezerwowane. Szczeliny o nieparzystych numerach są przeznaczone do transmisji danych slave'a, natomiast master może przesyłać swoje dane w szczelinach o numerach parzystych. Przy transmisji pakietów zajmujących więcej niż jedną szczelinę, częstotliwość pozostaje stała - taka jak na początku transmisji, przez cały czas trwania pakietu.

Bluetooth obsługuje transmisję synchroniczną (głos) jak i asynchroniczną (dane). Na łączu mogą działać trzy równoległe, synchroniczne kanały do transmisji głosu (64kb/s w każdą stronę), kanał asynchroniczny (symetryczny kanał 432.6kb/s w każdą stronę lub niesymetryczny - 721kb/s w jedną i 57.6kb/s w drugą stronę), lub kanał mieszany, w którym mogą być transmitowane zarówno dane jak i głos.

Zasięg urządzeń, ze względu na małą moc anteny, wynosi 10 metrów, jednak może on zostać powiększony nawet do ponad 100 metrów przez zwiększenie mocy nadawania.

Do przesyłu sygnały cyfrowego wykorzystywana jest binarna modulacja FM (GFSK), co w znacznym stopniu upraszcza budowę nadajnika, a co za tym idzie zmniejsza koszty całego urządzenia. Maksymalna dewiacja częstotliwości powinna zawierać się w granicach 140kHz a 175kHz.

Przy przesyłaniu głosu wykorzystywany jest typ kodowania CVSD (Continuous Variable Delta Modulation). Jego zastosowanie sprawia, iż nawet w przypadku złej jakości połączenia, przy błędach dochodzących do 4%, jakość dźwięku jest nadal przyzwoita - można zrozumieć mowę. W transmisji głosu pakiety nigdy nie są retransmitowane.

W standardzie tym stosowane są także pewne formy korekcji błędów, dzięki którym możliwe jest ograniczenie retransmisji pakietów przekłamanych. Mają tu zastosowanie trzy typy korekcji:

  • · Nadmiarowe zabezpieczenie typu FEC (Forward Error Correction) o współczynniku 1/3
  • · Nadmiarowe zabezpieczenie typu FEC o współczynniku 2/3
  • · Zabezpieczenie typu ARQ (Automatic Repeat Request)
  • Zabezpieczenie typu FEC o współczynniku 1/3 polega na powtarzaniu bitu informacyjnego przez czas trwania dwóch następnych. W odbiorniku decyzja jaki bit ma zostać odczytany jest podejmowana w sposób większościowy (jaka wartość bitu znajduje się na minimum dwóch pozycjach). Zabezpieczenie typu FEC o współczynniku 2/3 wykorzystuje kody Hamminga. W rezultacie działania tego zabezpieczenia każde 10 bitów informacyjnych kodowane jest na 15 bitach. Za pomocą tego typu można skorygować wszystkie błędy pojedyncze oraz wykryć wszystkie podwójne. Zabezpieczenie typu ARQ polega na powtarzaniu transmitowanego pakietu aż do uzyskania potwierdzenia lub do upłynięcia czasu oczekiwania na potwierdzenie. Zabezpieczenie typu FEC w znacznym stopniu zmniejsza ilość retransmisji błędnych pakietów, lecz jednocześnie w przypadku braku zakłóceń powoduje dość dużą nadmiarowość w przesyłanych danych co skutkuje niższą przepustowością. Dlatego też istnieje możliwość określenia czy dane użytkowe mają być zabezpieczane czy też nie. Zawsze zabezpieczany jest natomiast nagłówek, za pomocą FEC o współczynniku 1/3, ze względu na to, iż przenosi on bardzo istotne informacje o połączeniu. Metody zabezpieczeń polegające na retransmisji pakietu są wykorzystywane tylko przy transmisji danych asynchronicznych. Pakiety synchroniczne (przenoszące na przykład głos w rozmowie telefonicznej) nigdy nie są retransmitowane. Do wykrywania błędów w pakietach służą sumy kontrolne. Wyróżnia się dwa typy sum: HEC (Header Error Check) oraz CRC. HEC jest 8 bitowym słowem służącym do zabezpieczania nagłówka pakietu. Dane użytkowe mogą być chronione za pomocą sumy kontrolnej CRC.

    W standardzie Bluetooth zastosowano także metody służące do zabezpieczenia przesyłanych danych przed podsłuchem a także do autoryzacji poszczególnych urządzeń. Zabezpieczenia standardowe są stosowane w warstwie fizycznej, lecz dla zwiększenia poufności może być także stosowane zabezpieczenie na poziomie aplikacji. Do zabezpieczeń wykorzystuje się klucze losowe o długości do 128 bitów.
  •  

     

    by Krzysztof Pietrzak 2004

    [2.Warstwa lacz danych] [IEEE 802.2] [804.5 Token Ring] [sdlc/hdlc] [bezprzewodowe 802.11] [bluetooth] [x.25] [FRame relay]