[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

Bluetooth

Technologia bezprzewodowej komunikacji

Bluetooth (wym. /ˈblu:tu:θ)/ – standard bezprzewodowej komunikacji krótkiego zasięgu pomiędzy różnymi urządzeniami elektronicznymi, takimi jak klawiatura, komputer, laptop, palmtop, smartfon i wieloma innymi.

Logo Bluetooth
Słuchawka Bluetooth do telefonu komórkowego
Adapter Bluetooth dla USB
Słuchawka Nokia BH-208 od środka
Port Bluetooth w formie adaptera USB

Jest to otwarty standard opisany w specyfikacji IEEE 802.15.1. Jego specyfikacja techniczna obejmuje trzy klasy mocy nadawczej ERP 1-3 o zasięgu 100, 10 oraz 1 metra w otwartej przestrzeni. Najczęściej spotykaną klasą jest klasa druga. Standard korzysta z fal radiowych w paśmie częstotliwości ISM 2,4 GHz.

Urządzenie umożliwiające wykorzystanie tego standardu to adapter Bluetooth.

Bluetooth zawiera patenty, z których można korzystać bezpłatnie w produktach zakwalifikowanych jako zgodne z Bluetooth. Kwalifikacja kosztuje 5–10 tys. USD[1], za to potencjalni klienci-użytkownicy mogą łatwo znaleźć nowy produkt na opublikowanej w tym celu liście[2].

Pochodzenie nazwy

edytuj

Autorem koncepcji był mieszkaniec Skanii (płd. Szwecja), Jim Kardach, zafascynowany pierwszym królem duńskim Haraldem Sinozębym (duń.: Blåtand), który ok. roku 970 podporządkował sobie Norwegię i tym samym przyczynił się do zjednoczenia rywalizujących rodów oraz poszczególnych jarlów z Danii i Norwegii[3]. Harald panował również nad południową częścią Szwecji, Skanią. Podobnie Bluetooth, który został zaprojektowany, aby „zjednoczyć” różne technologie jak: komputery, telefonię komórkową, drukarki oraz aparaty cyfrowe.

W logo standardu Bluetooth umieszczone są runy wiązane z fuþarku młodszego: haglaz (ᚼ) oraz berkanan (ᛒ) będące odpowiednikami wielkich liter h oraz b.

Berkanan – (ᛒ) to właśnie pierwsza litera przydomku króla Haralda Blåtand.

Historia powstania

edytuj

W 1994 roku firma L. M. Ericsson zainteresowała się możliwością łączenia telefonów komórkowych z innymi urządzeniami bez użycia kabla. Wspólnie z czterema innymi firmami (IBM, Intel, Nokia i Toshiba) uformowała SIG (ang. Special Interest Group) celem standaryzacji bezprzewodowego standardu cechującego się niewielkim zasięgiem, małym poborem prądu, niskim poziomem mocy promieniowanej oraz niską ceną. Pierwotny zamiar wyeliminowania kabli połączeniowych szybko przekształcił się w prace na obszarze bezprzewodowych sieci LAN. Dzięki temu standard stał się bardziej praktyczny i stał się konkurencją dla standardu 802.11.

W lipcu 1999 Bluetooth SIG opublikowało 1500-stronicową specyfikację pierwszej wersji standardu Bluetooth (Bluetooth V1.0). Wkrótce potem grupa standaryzacyjna IEEE zajmująca się bezprzewodowymi sieciami osobistymi 802.15 przyjęła dokument organizacji SIG jako podstawę dalszych prac. Należy zaznaczyć, że standard grupy SIG obejmuje kompletny system, od warstwy fizycznej do warstwy aplikacji, natomiast standard IEEE obejmuje tylko warstwę fizyczną i łącza danych. Pomimo że IEEE zatwierdziło pierwszy standard PAN (ang. personal area network), 802.15.1, w 2002 roku, organizacja SIG ciągle pracuje nad jego poprawą.

Architektura systemu Bluetooth

edytuj

Podstawową jednostką standardu Bluetooth jest pikosieć (ang. piconet), która zawiera węzeł typu master oraz maksymalnie 7 węzłów typu slave. Wiele pikosieci może istnieć w jednym pomieszczeniu, a nawet mogą być ze sobą połączone przy pomocy węzła typu bridge, jak pokazano na rysunku nr 1. Połączone ze sobą pikosieci określa się mianem scatternet.

 
Połączone dwie pikosieci – scatternet

Dodatkowo, oprócz siedmiu węzłów typu slave, w jednej pikosieci może pracować do 255 węzłów, pozostających w stanie synchronizacji z urządzeniem typu master (jest to tzw. tryb wyczekiwania i niskiego poboru mocy). Urządzenia te nie uczestniczą w wymianie danych. Mogą tylko otrzymać sygnał aktywacyjny lub nawigacyjny od węzła typu master. Istnieją jeszcze dwa przejściowe stany hold oraz sniff. Przyczyną podziału węzłów na master i slave jest minimalizacja kosztów standardu. Konsekwencją tego jest fakt, że węzły typu slave są w 100% podporządkowane węzłom master. Pikosieć jest scentralizowanym systemem TDM, urządzenie master kontroluje zegar i określa, które urządzenie i w którym slocie czasowym (szczelina czasowa) może się z nim komunikować. Wymiana danych może nastąpić tylko pomiędzy węzłem master i slave. Komunikacja slave – slave nie jest możliwa.

Zasięg

edytuj

Zasięg urządzenia determinowany jest przez klasę mocy:

  • klasa 1 (100 mW) ma największy zasięg, teoretycznie do 100 m
  • klasa 2 (2,5 mW) jest najpowszechniejsza w użyciu, teoretyczny zasięg do 10 m
  • klasa 3 (1 mW) rzadko używana, z teoretycznym zasięgiem do 1 m.

Wersje standardu i przepustowość

edytuj
  • Bluetooth 1.0 – 22 kb/s
  • Bluetooth 1.1 – 124 kb/s
  • Bluetooth 1.2 – 328 kb/s
  • Bluetooth 2.0 + EDR – wprowadzenie enhanced data rate zwiększyło transfer teoretyczny do 2,1 Mb/s (około 3 Mb/s wliczając narzut protokołu)
  • Bluetooth 2.1 + EDR – uproszczenie i ujednolicenie procesu parowania urządzeń BT, wsparcie dla przyszłych implementacji NFC, zmniejszenie zużycia energii[4]
  • Bluetooth 3.0 + HS (High Speed) – 24 Mb/s (3 MB/s)
  • Bluetooth 3.1 + HS (High Speed) – 40 Mb/s (5 MB/s)
  • Bluetooth 4.0 + LE (Low Energy) – 1 Mb/s[5] znacząco ograniczono pobór energii (np. praca czujnika temperatury, przez wiele miesięcy na baterii pastylkowej), kosztem obniżonego transferu oraz zwiększono realny zasięg działania do 100 m
  • Bluetooth 4.1 – standard opracowany do zastosowania w tzw. „internecie rzeczy” (urządzenia typu „wearables”), umożliwiający bezpośrednią łączność przedmiotów z internetem[6]
  • Bluetooth 4.2 – w stosunku do poprzednich wersji: szybszy transfer, wyższy poziom bezpieczeństwa, nawiązanie łączności z przedmiotami – łatwiejsze[7][8]
  • Bluetooth 5.0 – ujednolicenie wersji, szybszy transfer – 2 Mb/s dla urządzeń typu „wearables” i 50 Mb/s do normalnych, realny zasięg działania do 140 m[9]
  • Bluetooth 5.2 – dodaje funkcje połączenia 2 urządzeń jednocześnie
  • Bluetooth 5.3 – zmniejszony pobór energii, ulepszony przesył bardzo małej ilości danych.

Profile systemu Bluetooth

edytuj
Osobny artykuł: Profile Bluetooth.
  • Większość protokołów sieciowych, w przeciwieństwie do systemu Bluetooth, określa tylko kanały pomiędzy komunikującymi się jednostkami i pozwala projektantom aplikacji na dowolne ich użycie. Wersja 1.1 Bluetooth określa 13 specjalnych aplikacji, zwanych profilami systemu Bluetooth, w których system może być używany.

Warstwy protokołu w systemie Bluetooth

edytuj

Standard Bluetooth określa wiele protokołów, pogrupowanych w warstwy. Struktura warstw nie odpowiada żadnemu znanemu modelowi (OSI, TCP/IP, 802). IEEE prowadzi prace nad zmodyfikowaniem systemu Bluetooth, aby dopasować go do modelu określonego standardem 802. Architekturę warstw systemu Bluetooth przedstawia rysunek nr 2:

 
Architektura protokołów Bluetooth

Najniższa warstwa – fizyczna warstwa radiowa – odpowiada warstwie fizycznej modelu OSI. Określa ona transmisje radiową oraz modulację stosowaną w systemie.

Warstwa druga – baseband layer – jest zbliżona do podwarstwy MAC modelu OSI, ale zawiera także elementy warstwy fizycznej. Określa ona w jaki sposób urządzenie master kontroluje sloty czasowe i jak sloty są grupowane w ramki. Kolejna warstwa grupuje powiązane ze sobą protokoły. Link manager zajmuje się ustanowieniem logicznych kanałów między urządzeniami, zarządzaniem energią oraz jakością usługi (QoS). Link control adaptation protocol, często nazywany L2CAP, zajmuje się szczegółowymi parametrami transmisji, uwalniając w ten sposób wyższe warstwy od tego obowiązku. Protokół ten jest analogiczny do podwarstwy LLC standardu 802, ale technicznie jest zupełnie inny. Jak wskazują nazwy, protokoły audio i control zajmują się dźwiękiem oraz kontrolą. Aplikacje mogą z nich korzystać pomijając protokół L2CAP.

Kolejna warstwa jest warstwą przejściową, zawierającą mieszaninę różnych protokołów. Podwarstwa LLC standardu 802, została wstawiona tu przez IEEE, w celu zapewnienia kompatybilności z sieciami 802. RFcomm (Radio Frequency communication) jest protokołem, który emuluje standardowy port szeregowy do podłączenia klawiatury, myszy, modemu oraz innych urządzeń. Protokół telephony jest protokołem czasu rzeczywistego, używanym w profilach zorientowanych na rozmowy. Zarządza również zestawieniem i rozłączeniem połączenia. Protokół discovery service jest używany do umiejscowienia usługi wewnątrz sieci. W ostatniej warstwie umiejscowione są aplikacje oraz profile. Używają one protokołów warstw niższych. Każda aplikacja ma swój podzbiór używanych protokołów, zazwyczaj korzysta tylko z nich i pomija inne.

Warstwa radiowa

edytuj

Warstwa ta odpowiedzialna jest za transport danych od urządzenia master do slave i vice versa. Jest to system o małym poborze mocy, działający w zależności od klasy na różnych zasięgach, operujący w paśmie częstotliwości ISM 2,4 GHz. Pasmo jest podzielone na 79 kanałów, po 1 MHz każdy. System wykorzystuje modulację FSK (Frequency Shift Keying), dając prędkości transmisji 1 Mbit/s, jednak duża część tego widma jest zajęta przez nagłówek. Aby przydzielić kanały sprawiedliwie, wykorzystuje się skakanie częstotliwości (1600 skoków na sekundę). Sekwencję skoków dyktuje węzeł master. Systemy 802.11 oraz Bluetooth operują na tych samych częstotliwościach z takim samym podziałem pasma na 79 kanałów. Z tego powodu zakłócają się wzajemnie. Ponieważ skoki częstotliwości są znacznie szybsze w systemie Bluetooth, jest znacznie bardziej prawdopodobne, że system ten będzie zakłócał transmisje w 802.11. Gdy nowe urządzenie szuka sieci do której mogłoby się przyłączyć skacze po kanałach w sposób losowy. Połączenie zostaje nawiązane, dopiero gdy trafi na ten sam kanał co master. Algorytm wybierania kanału przez mastera jest inny niż algorytm przełączania kanału przez slave’a szukającego mastera. Oba algorytmy opierają się na losowości co powoduje, że nigdy nie ma pewności po jakim czasie slave znajdzie mastera.

Baseband layer

edytuj

Warstwa ta jest zbliżona do podwarstwy MAC modelu OSI. Opakowuje ona luźne bity w ramki. Master w każdej pikosieci definiuje sloty czasowe o długości 625 μs. Transmisja mastera zaczyna się od slotów parzystych natomiast transmisja slave od slotów nieparzystych. Jest to tradycyjna multipleksacja w dziedzinie czasu (TDM), gdzie master zajmuje połowę slotów, a slave pozostałą ich część. Ramki mogą mieć długość jednego, trzech lub pięciu slotów czasowych. Skakanie częstotliwości pozwala ustawić czas 250 – 260 μs na skok, aby umożliwić stabilizacje układów radiowych. Dla ramki składającej się z jednego slotu czasowego, po tym czasie, zostaje 366 z 625 bitów. 126 z nich zawierają kod dostępu oraz nagłówek, pozostałe 240 są dla danych. Gdy ramka składa się z pięciu slotów, tylko jeden okres stabilizacji jest wymagany i dla warstwy baseband pozostaje 2781 bitów, więc dłuższe ramki są znacznie bardziej efektywne niż ramki zbudowane z jednego slota czasowego. Każda ramka jest transmitowana przez kanał logiczny, nazywany z angielskiego link, pomiędzy masterem i urządzeniem slave. Istnieją dwa rodzaje kanałów logicznych. Pierwszy nazywa się ACL (Asynchronous Connection-Less), używany w połączeniu z komutacją pakietów, gdzie dane są dostępne w nieregularnych odstępach czasu. Dane te pochodzą od warstwy L2CAP po stronie nadawczej i są dostarczane do warstwy L2CAP po stronie odbiorczej. W tej wersji kanału logicznego nie ma żadnych gwarancji, ze ramka dotrze do celu. Ramki mogą zostać utracone i wymagać retransmisji. Urządzenie slave może mieć tylko jeden kanał typu ACL z urządzeniem master. Drugi typ kanału logicznego nazywa się SCO (Synchronous Connection Oriented) i jest używany do transmisji w czasie rzeczywistym, np. rozmowy telefonicznej. Ramki transmitowane w tego typu kanale, nie mogą być retransmitowane. Zamiast tego można stosować korektę błędów, aby zapewnić wysoką niezawodność. Urządzenie slave może korzystać z maksymalnie trzech kanałów typu SCO w kierunku mastera. Każde łącze SCO może transmitować jeden kanał telefoniczny (PCM, 64 kbit/s).

Warstwa L2CAP

edytuj

Warstwa L2CAP spełnia trzy główne funkcje:

  1. przyjmuje pakiety o maksymalnym rozmiarze do 64 KB od wyższych warstw i dzieli je na ramki w celu transmisji. Na końcu ramki są ponownie składane w całość.
  2. zajmuje się multipleksacją i demultipleksacją złożonych pakietów. Gdy pakiet jest składany w całość, warstwa L2CAP określa, któremu protokołowi warstwy wyższej go przekazać, np. do RFcomm lub telephony.
  3. zajmuje się wymaganiami na jakość usługi, zarówno podczas zestawiania połączenia oraz podczas realizacji usługi.

Struktura ramki

edytuj

Istnieje kilka formatów ramki w systemie Bluetooth, jednak najważniejszą i najczęściej stosowaną jest ta przedstawiona na rysunku nr 3. Zaczyna się ona kodem dostępu, który identyfikuje mastera, tak aby slave znajdujący się w zasięgu dwóch urządzeń master mógł określić, do którego odbywa się transmisja. Następne 54 bity stanowią nagłówek ramki, który zawiera standardowe pola podwarstwy MAC. Na końcu pojawia się maksymalnie do 2744 (dla ramki składającej się z 5 slotów) bitów zawierających dane. Dla transmisji jednoslotowej ramka zawiera 240 bitów pola danych.

 
Struktura ramki w systemie Bluetooth

Pole adres nagłówka identyfikuje jedno z ośmiu aktywnych urządzeń, dla którego przeznaczona jest ramka. Pole typ określa typ ramki (ACL, SCO, pool albo null), rodzaj korekcji błędów używany w polu danych oraz liczbę slotów w ramce. Pole Flow jest ustawiane przez slave, gdy jego bufory są pełne i nie może on przyjąć więcej danych. Bit Acknowledgement jest potwierdzeniem transmisji. Bit Sequence jest używany w celu numeracji ramek aby wykryć retransmisje. Ostatnie 8 bitów to suma kontrolna. 18 bitów nagłówka są powtarzane trzy razy dając w efekcie nagłówek 54-bitowy. Po stronie odbiorczej układ sprawdza wszystkie trzy kopie każdego bitu. Jeśli wszystkie są takie same, wówczas bit jest zaakceptowany. Jeśli nie, to jeżeli otrzymano dwa zera i jedną jedynkę, wartość końcowa jest zerem, jeśli zaś dwie jedynki i jedno zero, to jedynką.

Podstawowe elementy urządzenia Bluetooth

edytuj

Większość procesów realizowanych przez pasmo podstawowe oparte jest na dwóch elementach urządzenia Bluetooth, do których zalicza się:

  • adres urządzenia Bluetooth
  • zegar urządzenia Bluetooth.

Adres urządzenia Bluetooth

edytuj

Wyróżnia się cztery pojęcia związane z adresem urządzenia:

  • adres urządzenia Bluetooth (Bluetooth Device Address)
  • adres urządzenia aktywnego (Active Member Address)
  • adres zaparkowanego elementu pikosieci (Parked Member Address)
  • adres żądania przyłączenia (Access Request Address).

Każde urządzenie ma 48-bitowy adres IEEE MAC (Bluetooth Device Address, BD_ADDR) i jest on używany do inicjowania pewnych operacji oraz obliczania kodu dostępu. Adres MAC podzielony jest na trzy części:

  • 16-bitową nieznaczącą część adresu Non – significant Address Part (NAP) BD_ADDR [47:32] – NAP [15:0], która jest używana do inicjowania szyfrowania
  • 8-bitową wyższą część adresu Upper Address Part (UAP) BD_ADDR [31:24] – UAP [7:0], która jest używana do inicjowania obliczeń HEC (Header Error Chec) i CRC oraz skoków częstotliwości
  • 24-bitową niższą część adresu Lower Address Part (LAP) BD_ADDR [23:0] – LAP [23:0], która jest używana do generowania słowa synchronizującego i skoków częstotliwości.

Część adresu NAP oraz wyższa część adresu UAP stanowią wspólnie unikatowy identyfikator organizacji OUI (Organizational Unique Identifier), czyli wartość przyznawaną przez jednostkę administracyjną. Natomiast części LAP przypisywane są wewnętrznie w ramach konkretnych organizacji. Adres urządzenia aktywnego jest 3-bitowym adresem urządzenia podrzędnego (slave), znajdującego się w stanie połączenia, natomiast urządzenie nadrzędne (master) nie ma tego typu adresu. Adres tego typu jest nadawany urządzeniu podrzędnemu przez urządzenie nadrzędne na etapie zestawiania połączeń i jest ważny tak długo, jak długo pozostaje aktywne urządzenie typu „slave”. Adres zaparkowanego elementu pikosieci jest 8-bitowym adresem urządzenia podrzędnego, które aktualnie nie bierze udziału w transmisji (znajduje się w stanie nieaktywnym – park), ale jest zsynchronizowane z pikosiecią. Adres tego typu jest ważny tak długo, jak długo urządzenie pozostaje w trybie nieaktywnym. Ostatni typ adresu to adres żądania przyłączenia. To adres używany przez zaparkowane urządzenia podrzędne, zsynchronizowane z pikosiecią, do ustalenia, w której szczelinie czasowej dane urządzenie może przesłać żądanie przejścia w stan aktywny. Adres ten zatem nie musi być unikatowy w pikosieci, czyli różne urządzenia podrzędne (slave) znajdujące się w trybie parkingowym mogą mieć ten sam adres tego typu.

Zegar urządzenia Bluetooth

edytuj

Moduł Bluetooth wyposażony jest w 28-bitowy wewnętrzny zegar, który determinuje synchronizację i skakanie po częstotliwościach. Nigdy nie jest on dostrajany, ani wyłączany. Do synchronizacji z innym modułem Bluetooth wykorzystywana jest różnica (offset) pomiędzy zegarami jednostek chcących się komunikować. Częstotliwość zegara wynosi 3,2 kHz, czyli generuje on 3200 taktów na sekundę. Wartość ta odpowiada dwukrotnej szybkości przeskoków częstotliwościowych, która wynosi 1600 razy na sekundę. Okres zegara Bluetooth wynosi około 24 godzin.

Wewnętrzny zegar urządzenia Bluetooth

edytuj

W zależności od trybu pracy urządzenia, jego zegar wewnętrzny może znajdować się w jednym z trzech trybów pracy i są to:

  • Tryb standardowy (native clock), który jest punktem odniesienia przy tworzeniu pozostałych dwóch trybów pracy zegara. W stanach wysokiej aktywności dokładność zegara wynosi 20 ppm, natomiast w stanach pracy charakteryzujących się małą aktywnością i niskim zużyciem energii, takich jak stan oczekiwania (standby), parkingowy (park), wstrzymania (hold) oraz wyszukiwania (sniff) wykorzystywany jest oscylator o niskim poborze mocy, który steruje zegarem z dokładnością obniżoną do poziomu 250 ppm.
  • Tryb szacowany (estimated clock), który powstaje poprzez dodanie do zegara pracującego w trybie standardowym różnicy (offset) pomiędzy zegarami dwóch urządzeń Bluetooth i umożliwiający urządzeniu podrzędnemu komunikację z jednostką typu „master”.
  • Tryb zegara urządzenia nadrzędnego (master clock), który jest wykorzystywany do synchronizacji wszystkich urządzeń w pikosieci.

Urządzenia Bluetooth

edytuj

System Bluetooth jest obsługiwany przez szeroką gamę urządzeń takich jak: telefony, głośniki, tablety, odtwarzacze DVD, zautomatyzowane systemy, roboty, laptopy, sprzęt do grania w gry wideo, zestawy słuchawkowe, modemy, drukarki, aparaty słuchowe, czy zegarki. Szerokie zastosowanie tej technologii wskazuje na jej użyteczność, niemniej nie jest to technologia niezawodna[10]. Przy transmisji danych na jedno lub wiele urządzeń, które są w bliskiej odległości i przy wykorzystaniu małej przepustowości/ szerokości pasma (ang. low-bandwidth) pozostaje pierwszym wyborem.

Przypisy

edytuj
  1. Bluetooth Fees: An Overview. [dostęp 2012-03-14]. [zarchiwizowane z tego adresu (2008-05-15)].
  2. Find a Product – Bluetooth® Technology Website [online], www.bluetooth.com [dostęp 2020-07-01].
  3. Bluetooth.com, Bluetooth: Fast Facts [online], 2011 [dostęp 2011-10-01] [zarchiwizowane z adresu 2012-01-26], Cytat: „The name „Bluetooth” is actually very old! It is from the 10th century Danish King Harald Blåtand – or Harold Bluetooth in English.” (ang.).
  4. Nowa, ulepszona specyfikacja Bluetooth 2.1+EDR. 2007-08-03. [dostęp 2016-08-23].
  5. Julio Villegas Bluetooth Low Energy Version 4.0 Helping create the “internet of things”. [dostęp 2014-04-30]. [zarchiwizowane z tego adresu (2014-05-02)].
  6. Janusz Chustecki: Bluetooth 4.1 – technologia, która zrewolucjonizuje rynek urządzeń „wearable”. 2014-04-27. [dostęp 2016-05-28].
  7. Adrian Kotowski: Bluetooth 4.2 oficjalnie zaprezentowany. PC Lab, 4 grudnia 2014. [dostęp 2016-05-28].
  8. Sri Vishnu Kankipati, What are the main differences between Bluetooth 4.0, 4.1 and 4.2 in the Layers [online], Quora.com [dostęp 2016-05-28] (ang.).
  9. Bluetooth 5, Refined for the IoT. [dostęp 2017-09-15]. [zarchiwizowane z tego adresu (2017-09-15)].
  10. Grant Tyler, Why does Bluetooth still suck? [online], Business Insider [dostęp 2022-04-06] (ang.).

Linki zewnętrzne

edytuj