Bluetooth
Czyli jak to działa?
Czym jest Bluetooth?
Historia powstania technologi Bluetooth
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
bezprzewodowej technologii cechującej się
niewielkim zasięgiem, małym poborem prądu,
niskim poziomem mocy promieniowanej oraz
niską ceną. W lipcu 1999 Bluetooth SIG
opublikowało 1500-stronicową specyfikację
pierwszej wersji technologii Bluetooth.
Jak działa Bluetooth?
Podstawową jednostką technologii
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. 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.
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.
Istnieją 3 klasy mocy urządzeń Bluetooth które
determinują jest zasięg
Klasa 1 (100mW) ma największy zasięg, do
100m
Klasa 2 (2,5mW) jest najpowszechniejsza w
użyciu, zasięg do 10 m
Klasa 3 (1mW) rzadko używana, z zasięgiem do
1m
Warstwy protokołu w systemie Bluetooth
Standard Bluetooth określa wiele
protokołów, pogrupowanych w
warstwy. Struktura warstw nie
odpowiada żadnemu znanemu
modelowi
Najniższa warstwa – fizyczna warstwa radiowa – odpowiada
warstwie fizycznej łącza danych. 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. 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. Jak wskazują nazwy, protokoły audio i control
zajmują się dźwiękiem oraz kontrolą. RFcomm 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.
Warstwa radiowa odpowiedzialna jest za transport
danych od urządzenia master do slave i
odwrotnie. 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 2,4 GHz. Pasmo
jest podzielone na 79 kanałów, po 1MHz każdy.
System wykorzystuje modulacje FSK, dając
prędkości transmisji 1 Mbit/s, jednak duża cześć
tego widma jest zajęta przez nagłówek. Aby
przydzielić kanały sprawiedliwie, wykorzystuje się
skakanie częstotliwości (1600 skoków/s).
Sekwencję skoków dyktuje węzeł master.
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
Istnieje kilka formatów ramki w systemie Bluetooth. Ramka w systemie Bluetooth
zaczyna się 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 bitów zawierających
dane. Pole adres nagłówka identyfikuje jedno z ośmiu aktywnych urządzeń, dla
którego przeznaczona jest ramka. 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.
Zegar urządzenia Bluetooth
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ę. A okres zegara Bluetooth wynosi około 24
godzin.
Bluetooth 3.0
Bluetooth 3.0+HS to ulepszona wersja standardu
Bluetooth. Została ona przyjęta 21 kwietnia
2009r. Teoretyczna prędkość standardu
Bluetooth 3.0 wynosi 24Mbit/s czyli około
3MB/s
Taką prędkość uzyskano dzięki zastosowaniu
protokołu radiowego 802.11 używanego w
sieciach WiFi.
Główną zmianą jest wprowadzenie AMP
(Alternate MAC/PHY). Umożliwia to użycie
alternatywnie warstwy fizycznej i podwarstwy
warstwy łącza danych dla przesyłu jednego z
profili. Warstwa radiowa nadal jest
odpowiedzialna za wyszukiwanie urządzeń,
nawiązywanie połączeń i konfiguracji profilów
jednakże gdy mamy do wysłania duże ilości
danych to za przesył danych będzie
odpowiadać właśnie AMP.
Zezwala na transmisje danych bez
ustalenia otwartego/sprecyzowanego
kanału L2CAP. Jest on przeznaczony do
użytku przez aplikacje wymagające
małych opóźnień między akcjami
użytkownika i transmisją danych. Jest to
odpowiednie tylko dla małej ilości danych.
Unicast Connectionless Data
Bluetooth
3.0 wprowadza zwiększoną kontrolę
mocy (Enhanced Power Control
) usuwając
sterowanie mocą w otwartej pętli oraz do
wyjaśnienia niejasności kontroli mocy
wprowadzonych przez nowe modulacje EDR.
Wprowadzono również zapotrzebowanie na
pracę z maksymalną mocą urządzenia. Było to
wymagane aby zlikwidować problemy z
transmisją zaobserwowane podczas
korzystania z headset-
ów.
Dziękujemy za uwagę!
Patryk Samulewicz, Łukasz Cendrowski
Kl. 4i