Podręcznik
2. Interfejs równoległy IEC-625
2.10. Bluetooth
Bluetooth to nowoczesny interfejs radiowy (rys. 3.3). Darmowy standard opisany w specyfikacji IEEE 802.15.1. Obejmuje trzy klasy mocy nadawczej o zasięgu: 100m, 10m, 1m. Pasmo częstotliwości pracy od 2.4020 do 2.4835 GHz, Maksymalna szybkość transmisji 1Mb/s. Przeznaczenie: komunikacja między komputerem, a takimi urządzeniami jak telefon komórkowy, mysz, drukarka, skaner, palmtop, słuchawki itp. Nowoczesne przyrządy pomiarowe mogą być wyposażane w Bluetooth. Interfejs ten ma zastąpić znane już łącze IrDA. Przewaga Bluetooth nad IrDA polega na tym, że może on łączyć w sieć (piconet) kilka urządzeń (do 8-miu) pracujących na różnych kanałach. Każdemu urządzeniu przyporządkowany jest adres w postaci 32-bitowego słowa o nazwie BDA (Bluetooth Device Address).
Rys.3.3 Połączenie w standardzie Bluetooth
Kodowanie binarne sygnału przesyłanego odbywa się metodą kluczowania częstotliwości FSK (Frequency Shift Keying). Jedno z urządzeń w sieci pełni rolę nadrzędną (master), a pozostałe podrzędną (slave). Komunikacja odbywa się w trybie semidupleks. Podstawową jednostką technologii Bluetooth jest sieć (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 za pomocą węzła typu „bridge”, (rys. 3.4). Połączone ze sobą pikosieci określa się mianem scatternet.
Rys. 3.4 Połączenie pikosieci w standardzie Bluetooth
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 i mogą tylko otrzymać sygnał aktywacyjny od węzła typu master. Istnieją jeszcze dwa przejściowe stany „hold” oraz „skiff”.
Przyczyną podziału węzłów na „master” i „slave” jest minimalizacja kosztów technologii. Konsekwencją tego jest fakt, że węzły typu „slave” są w pełni podporządkowane węzłom master. Pikosieć jest scentralizowanym systemem TDM (Tool Data Management). Urządzenie master kontroluje zegar i określa, które urządzenie i w którym slocie czasowym 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.
Wykaz parametrów technicznych Bluetooth:
- klasa 1 (100 mW) ma największy zasięg, do 100 m,
- klasa 2 (2,5 mW) jest najpowszechniejsza w użyciu, zasięg do 10 m
- klasa 3 (1 mW) rzadko używana, z zasięgiem do 1 m.
Szybkość transmisji danych:
- Bluetooth 1.0 - 21 kb/s
- Bluetooth 1.1 - 124 kb/s
- Bluetooth 1.2 - 328 kb/s
- Bluetooth 2.0 - 2,1 Mb/s (Enhanced Rate) - 3Mb/s)
- Bluetooth 3.0 + HS (High Speed) - 3 MB/s
- Bluetooth 3.1 + HS (High Speed plus) - 5 MB/s
Rys. 3.5 Adapter Bluetooth dla USB
Warstwy protokołów Bluetooth
Bluetooth zawiera 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ę protokołów Bluetooth zobrazowano na rys. 3.6.
Rys. 3.6 Architektura protokołów Bluetooth
- Phisical Radio - Warstwa fizyczna - radiowa - definiuje transmisję radiową oraz modulację stosowaną w systemie. Odpowiedzialna za transmisję danych z urządzenia master do slave i odwrotnie. System o małym poborze mocy, działający w zależności od klasy, na różnych zasięgach, w paśmie 2,4 GHz. Pasmo jest podzielone na 79 kanałów, po 1MHz każdy. Zastosowano modulację FSK (Frequency Shift Keying), przy szybkości transmisji rzędu 1 Mbit/s. Aby przydzielić kanały „sprawiedliwie”, wykorzystuje się skakanie częstotliwości (1600 skoków na sekundę). Sekwencję skoków dyktuje węzeł master.
- Baseband layer – zbliżona do podwarstwy MAC modelu OSI. Określa ona w jaki sposób urządzenie „master” kontroluje sloty czasowe i jak sloty są grupowane w ramki. Upakowuje bity w ramki.
- Link manager - ustanowienie logicznych kanałów między urządzeniami, zarządzaniem energią oraz jakością usługi (QoS).
- Link control adaptation protocol (L2CAP) - zawiera dane o parametrach transmisji, uwalniając od tego wyższe warstwy. Protokół jest analogiczny do podwarstwy lLLC standardu 802.
- Audio i Control - protokoły wykorzystane do transmisji dźwięku oraz obsługi procesów sterowania. Można z nich korzystać pomijając protokół L2CAP.
- Podwarstwa LLC (ze standardu 802) - zapewnia kompatybilności z sieciami 802. Jest warstwą przejściową, zawierającą mieszaninę różnych protokołów.
- RFcomm (Radio Frequency Communication) - emulacja standardowego portu szeregowego do podłączenia klawiatury, myszy, modemu oraz innych urządzeń.
- Telephony - protokół czasu rzeczywistego, używany w profilach zorientowanych na rozmowy. Zarządza również nawiązaniem i rozłączeniem połączenia.
- Discovery Service - jest używany do umiejscowienia usługi wewnątrz sieci.
- Applications/Profiles – zawiera aplikacje oraz profile. Używa 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.
Istnieje kilka formatów ramki w systemie Bluetooth (tabela 3.2) . Najczęściej 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ć, od 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 danych.
Tabela 3.2 Formaty ramki w systemie Bluetooth
Liczba bitów |
72 |
54 |
0-2744 |
|||
Nazwa pola |
Access code |
Header |
Data |
|||
Liczba bitów |
3 |
4 |
1 |
1 |
1 |
8 |
Nazwa pola |
Address |
Type |
F |
A |
S |
Checksum |
Address (adres nagłówka) identyfikuje jedno z ośmiu aktywnych urządzeń, dla którego przeznaczona jest ramka. Type 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. 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. Checksum - suma kontrolna, ostatnie 8 bitów. 18 bitów nagłówka jest powtarzanych trzy razy dając w efekcie nagłówek 54 bitowy. Po stronie odbiorczej układ logiczny sprawdza i porównuje wszystkie trzy kopie każdego bitu. Jeśli wszystkie są takie same, wówczas bit jest zaakceptowany.