Tehnologia Bluetooth1. Generalitati In 1998, cinci companii
importante (Ericsson, Nokia, IBM, Toshiba si Intel) au format un
grup, numit Bluetooth SIG (Special Interest Group), pentru a crea o
tehnologie care sa nu necesite licenta destinata conexiunilor
universale fara fir ntre dispozitivele mobile. Rezultatul este
Bluetooth, o tehnologie ce a luat numele regelui care n secolul al
X-lea a unit triburile de razboinici Vikingi. Adoptarea acestui
nume reprezinta o recunoastere a rolului deosebit pe care
companiile nordice l-au avut n dezvoltarea tehnologiei Bluetooth.
Bluetooth reprezinta un standard pentru comunicatii radio pe
distante scurte. Principalele trei scopuri avute n vedere nca din
faza de proiectare sunt: dimensiune redusa, consum minim, pret
scazut. Tehnologia a fost proiectata pentru a fi simpla si pentru a
deveni un standard de facto in conexiunile fara fir. 2.
Specificatiile Bluetooth Primele specificatii referitoare la
Bluetooth au aparut n februarie 2001 sub denumirea de Bluetooth 1.1
Specification. A urmat apoi n 2003 Bluetooth 1.2 Specification.
Specificatiile sunt compuse din doua parti: nucleul si profilele.
2.1 Specificatiile nucleului Specificatiile nucleului definesc
toate nivelele din stiva protocolului Bluetooth (fig.1).Stiva
protocolului Bluetooth difera n anumite privinte de modelul clasic,
OSI. Aceste diferente provin in principal din conditia impusa
Bluetooth-ului de a suporta conectivitate ad-hoc ntre nodurile
participante la care se adauga cerinta de consum redus si
necesitatea implementarii protocolului pe dispozitive care au
resurse limitate, dispozitive pe care nu s-ar putea implementa
modelul OSI.
figura 1.- Stiva protocolului Bluetooth si structura chip-ului
Bluetooth
1
Nivelul radio (RF) se afla la baza stivei. Specificatiile
interfetei sale definesc caracteristicile transmisiunii radio,
banda de frecventa, structura canalelor, nivelele admise ale
puterii de emisie si nivelul de sensibilitate al receptorului. Al
doilea nivel este 17217u2024r baseband. Acest nivel se ocupa cu
partea fizica a Bluetooth-ului (PHY) si controlul accesului la
mediu (MAC). Acestea implica sarcini cum ar fi descoperirea
dispozitivelor (device discovery), formarea legaturii, comunicatie
sincrona sau asincrona cu dispozitivele conectate. Dispozitivele
conectate trebuie sa schimbe ntre ele unele mesaje de control
pentru configurarea si managementul conexiunilor. Structura acestor
mesaje este definita la nivelul link manager protocol (LMP).
Entitatea functionala care are rolul de a ndeplini functiile
acestui nivel se numeste managerul legaturii (link manager). Un
aspect care confera unicitate Bluetooth-ului l reprezinta
integrarea ntr-un singur chip Bluetooth a partii radio si a partii
de control. Un chip bluetooth poate fi conectat cu procesorul
dispozitivului gazda folosind ca interfete USB, UART sau un
PC-card. In specificatiile nivelului controler interfata cu
dispozitivul gazda (Host Controller Interface - HCI) se defineste o
metoda de interfatare independenta pentru comunicarea cu chip-ul
Bluetooth. Procesorul dispozitivului gazda comunica cu modulul
Bluetooth folosind comenzi HCI. Nivelul HCI este parte a stivei
Bluetooth dar nu constituie un nivel de comunicatie peer-to-peer,
cu un alt dispozitiv Bluetooth, din moment ce comenzile HCI si
mesajele de raspuns nu folosesc legatura radio. Nivelul de control
al legaturii logice si protocolul de adaptare (logical link control
and adaptation protocol - L2CAP) poate fi considerat ca fiind Link
layer-ul pentru Bluetooth. Acest nivel se ocupa de multiplexarea,
reasamblarea si segmentarea pachetelor. In mod uzual nivelul L2CAP
si nivelele superioare sunt implementate software. L2CAP livreaza
pachetele receptionate de la nivelele superioare catre destinatar.
Dispozitivele Bluetooth pot stabili o legatura L2CAP de ndata ce
sunt unul n raza celuilalt. Un dispozitiv client trebuie sa
descopere mai nti serviciile oferite de un dispozitiv server.
Nivelul protocolului de descoperire a serviciilor (Service
discovery protocol - SDP) defineste mijloacele prin care
dispozitivul client poate descoperi att serviciile oferite ct si
atributele serviciilor. Design-ul nivelului SDP a fost optimizat
pentru Bluetooth. Acesta defineste doar mecanismul de descoperire,
neincluznd metodele de accesare a acestor servicii. Specificatiile
nivelului RFCOMM definesc o metoda de emulare a conexiunii prin
cablu RS-232 peste legatura radio Bluetooth. RFCOMM suporta
aplicatii derivate din aplicatiile care utilizau portul COM pentru
a realiza comunicatii peer-to-peer (de exemplu protocoalele
point-topoint - PPP, inclusiv TCP/IP) .2.1.1 Legatura radio
Bluetooth-ul opereaza n banda ISM la 2,4 GHz. Majoritatea
tarilor aloca o latime de banda de 83,5 MHz (exceptie face
Japonia). In interiorul acestei benzi sunt definite 79 de canale
radio (23 de canale n Japonia) distantate la 1 MHz. In prezent se
fac eforturi pentru a alinia toate tarile la aceasta definire a
benzii pentru Bluetooth astfel nct tehnologia sa poata deveni una
globala. Bluetooth este un sistem care foloseste tehnica spectrului
mprastiat cu salt n frecventa.Aceasta nseamna ca purtatoarea face
salturi n frecventa acoperind ntreg spectrul de 792
de canale, folosind o secventa de salt pseudo-aleatoare. Rata
uzuala a salturilor, 1600 salturi pe secunda, asigura o foarte buna
protectie la interferente n banda de 2,4 GHz.
figura 2.- Exemplificarea unei transmisiuni cu salt n
frecventa
Un alt avantaj al salturilor rapide n frecventa l reprezinta
lungimea mica a pachetelor de date. Astfel daca un pachet nu este
receptionat corect de un dispozitiv se solicita retransmisia
pachetului. Cu siguranta retransmisia se va face pe o alta
frecventa, n functie de secventa de salt stabilita. Acest caz este
ilustrat n figura 2, unde pachetele dispozitivului 1 (casutele
rosii) si pachetele dispozitivului 2 (casutele verzi) folosesc la
anumite momente de timp aceeasi frecventa, rezultnd coliziuni.
Aceasta situatie poate sa apara si atunci cnd un dispozitiv
non-Bluetooth foloseste o parte din banda alocata
Bluetooth-ului.
figura 3.- Exemple de pachete de date transmise pe unul, trei
sau cinci sloturi temporale
Intervalul de comutare de 220s care succede pachetele este
necesar efectuarii saltului n frecventa. Pentru emisie si receptie
se folosesc sloturi temporare succesive. Lungimea nominala a unui
slot este de 625s. In mod normal un pachet de date ocupa un singur
slot dar poate ocupa si3
trei sau cinci sloturi. In cazul pachetelor multi-slot frecventa
de emisie ramane aceeasi pna cnd ntregul pachet este transmis. Cnd
se utilizeaza pachete multi-slot rata de bit este mai mare deoarece
este nevoie doar de un singur header si un singur interval de
comutare de 220s (switching time) n fiecare pachet. Pe de alta
parte, scade robustetea deoarece ntr-un spectru aglomerat pachetele
lungi se pot transmite cu erori. Viteza legaturii, de 1Mbps, poate
fi usor atinsa folosind o modulatie GFSK. O tehnica de modulatie
mai complexa ar conduce la atingerea unor rate de bit mai ridicate
dar ar complica structura partii radio a Bluetooth-ului si implicit
ar creste costurile de productie. In general partea radio este cel
mai costisitor element al interfetei cu o retea wireless. In
receptoarele radio tipice filtrele, oscilatoarele si mixerele
proceseaza semnalul de intrare la frecventa nalta. Asemenea
circuite sunt costisitoare. Pentru a reduce costurile
specificatiile Bluetooth recomanda trecerea semnalului de intrare
pe o frecventa intermediara mai mica (aproximativ 3 MHz), frecventa
care permite realizarea unor filtre integrate folosind tehnologia
CMOS. Trecerea pe o frecventa intermediara mai mica creeaza nsa
alte probleme cum ar fi reducerea sensibilitatii receptorului.
Sensibilitatea recomandata a receptorului Bluetooth este de minim
-70dB.2.1.2 Retele de tip piconet si scatternet
Un grup de dispozitive Bluetooth care folosesc acelasi canal
pentru a comunica ntre ele poarta numele de piconet. Asa cum se
observa n figura 16b un piconet este o retea cu o configuratie de
tip stea. Dispozitivul central are rolul de master celelalte
dispozitive functioneaza ca slave (sclav). Un rol important al
master-ului este acela de a stabili secventa de salt n frecventa.
Aceasta secventa se stabileste pseudo-aleatoriu, n principiu
pornind de la numarul care reprezinta adresa masterului si de la un
alt numar generat aleatoriu de catre master. Toate dispozitivele
slave din fiecare piconet sunt sincronizate cu ceasul master-ului
si urmeaza schema de salt stabilita de acesta. Un master poate
deservi simultan maxim sapte sclavi activi. Astfel o retea de tip
piconet poate fi formata din doua, trei, pna la opt dispozitive
(figura 4a,b) din care unul singur poate fi master. Dispozitivele
slave nu pot comunica direct ntre ele, ci doar cu masterul.
Masterul poate comunica cu oricare dintre sclavi. O retea de tip
scatternet poate fi formata prin conexiunea a doua sau mai multe
retele tip piconet.(figura 4c). Atunci cnd un dispozitiv face parte
din mai multe piconet-uri el va trebui sa se sincronizeze, de
fiecare data, cu piconet-ul cu care comunica la un anumit moment.
Un dispozitiv poate fi sclav n doua piconet-uri diferite sau master
ntr-un piconet si sclav n altul dar nu poate fi master pentru mai
mult de un piconet. O caracteristica proprie retelelor Bluetooth
este dinamismul. Retelele Bluetooth sunt retele ad-hoc, care se
formeaza, se modifica si se dizolva permanent
4
figur a 4. - Exemple de retele de tip piconet si scatternet a)
b) c) piconet format din doua dispozitive piconet format din mai
multe dispozitive scatternet constituit din trei piconet-uri
2.1.3 Procedura de cautare de dispozitive (inquiry) si cererea
de conectare (paging) Conectarea cu un anumit dispozitiv se
realizeaza prin intermediul unui mesaj de tip page. Pentru a
trimite un mesaj page (procedura numita paging) masterul trebuie sa
cunoasca adresa sclavului catre care face cererea de conectare.
Aceasta adresa se obtine cu ajutorul unui mesaj de tip inquiry.
Starea implicita a unui dispozitiv Bluetooth este numita standby
mode. In aceasta stare dispozitivul asculta la intervale de 1,28
secunde eventualele mesaje inqury sau page. De fiecare data sunt
ascultate pe rnd 32 de frecvente pe care este posibil sa se
primeasca unul din mesajele amintite anterior. Prin mesajul inquiry
masterul trimite un cod numit inquiry access code. Celelalte
dispozitive raspund trimitnd informatii despre identitatea lor si
despre ceasul propriu. Dupa aceasta urmeaza o procedura de cautare
de servicii utilizata pentru a determina ce fel de servicii ofera
fiecare dispozitiv prezent n raza masterului. In timpul procedurii
de paging, pe baza informatiei despre identitatea si ceasul
fiecarui dispozitiv masterul determina si trimite sub forma
mesajului page un cod de acces si o secventa de activare a
sclavului (wake-up sequence). Un astfel de mesaj va fi trimis de
master pe cele 32 de frecvente destinate acestei proceduri astfel:
initial mesajul este transmis pe primele 16 frecvente de 128 de ori
iar daca nu se primeste nici un raspuns se continua transmiterea
mesajului pe celelalte 16 frecvente tot de 128 de ori. Timpul maxim
de asteptare a raspunsului la mesaj este de 2,56 secunde. In urma
procedurilor inquiry si page se realizeaza conexiunea ntre master
si sclavi (figura 5).
5
figura 5. - Procedurile inquiry si page duc la stabilirea unei
conexiuni 2.1.4 Transferul de date. Canalul piconet
Imediat ce s-a format o retea de tip piconet, comunicatia ntre
master si sclav(i) poate ncepe. Canalul comun pe care se face
comunicatia se numeste canalul piconet. Acest canal este mpartit n
intervale de timp de cte 625s, fiecare slot folosind o alta
frecventa de transmisie. Canalul este partajat ntre master si
sclavi folosind o schema de tipul salt n frecventa/divizare duplex
n timp (frequency-hop/time-division-duplex FH/TDD) n care
comunicatia n sensul master-slave si slave-master se desfasoara pe
rnd. Pentru transferul de date pe un canal piconet se pot defini
doua tipuri de legaturi: legatura asincrona (Asynchronous
Connectionless Link - ACL) sau legatura sincrona (Synchronous
Connection Oriented Link - SCO). Legatura de tip ACL este cu
comutare de pachete si, desigur, se foloseste pentru transmisia
datelor sub forma de pachete. Debitul maxim pentru aceasta
legatura, folosind pachete multislot, este de 723 kbps ntr-un sens
de transmisie si 57,6 kbps n celalalt sens, masterul fiind cel care
controleaza viteza de transmisie pe fiecare sens. Pentru conexiuni
punct la punct, simetrice, cu comutare de circuite, se foloseste
legatura SCO (uzual pentru transmisia de voce). Debitul pentru
aceasta legatura este de 64 kbps. Cel mai adesea datele sunt
trimise sub forma de pachete (figura 6). Un astfel de pachet poate
sa aiba o lungime de 1, 3 sau 5 sloturi temporale. Fiecare pachet
este compus din trei parti: codul de acces (access code), header-ul
si datele utile (payload). Partea care contine datele utile poate
avea ntre 0 si 2745 biti. Sunt admise si pachete de control care sa
fie compuse doar din codul de acces sau doar din codul de acces si
header. Codul de acces contine informatii referitoare la
destinatarul pachetului iar headerul contine informatii referitoare
la pachet (tipul pachetului, sursa, corectia erorilor, etc).
figura 6. - formatul unui pachet standard.2.2 Specificatiile
profilelor
Producatorii pot folosi serviciile oferite de stiva Bluetooth
pentru a crea o varietate de aplicatii. Deoarece
interoperatibilitatea este cruciala pentru functionarea
Bluetooth-ului, Bluetooth SIG a elaborat specificatiile profilelor.
Profilele reprezinta modele de utilizare a tehnologiei Bluetooth.
Acestea descriu principalele aplicatii Bluetooth si dispozitivele
carora la sunt adresate. Profilele definesc protocoalele care
suporta un anumit model de utilizare. Unele profile se pot baza pe
altele, ntre ele existnd o relatie de interdependenta. (figura 7).
De exemplu trei profile (File Transfer Profile, Object Push Profile
si Synchronization Profile) sunt definite pe baza Generic Object
Exchange Profile.6
Aparatele Bluetooth implementeaza diferite seturi de profile.
Pentru ca un dispozitiv sa suporte un anumit profil acesta trebuie
implementeze trasaturile obligatorii ale profilului respectiv .
figura 7. - Relatiile de interdependenta dintre profilele
Bluetooth
Conform specificatiilor Bluetooth profilele se pot grupa astfel:
profile generale, profile orientate pe model de utilizare si
profile aditionale. In continuare se va prezenta fiecare grupa de
profile. Ideea de baza, aceea de conectare a telefonului mobil la
un accesoriu al acestuia, a fost dezvoltata si extinsa, de-a lungul
anilor. De la transmiterea de date intre un telefon si altul sau
intre telefon si un calculator sau o imprimanta si lista poate
continua cu generozitate, incepand de la tastaturi fara fir si
ajungand pana la dispozitive medicale. Principiul de functionare
este unul destul de complex, pentru a trimite (de exemplu) un
fisier de la un telefon la altul sunt necesari mai multi pasi: 1.
2. 3. 4. 5. gasirea dispozitivului - investigare ; conectarea la
dispozitiv - apel ; descoperirea serviciilor pe care le suporta
dispozitivul - SDP ; decizia asupra serviciului la care sa se
conecteze si modul de conectare -SDP ; conectarea la acel
serviciu.
Etapele de la 3 la 5 implica conectarea la mai mult de un nivel
superior. Conexiunile la aceste nivele superioare trebuie deschise
fiecare separat si n ordine. Urmatoarele scheme ilustreaza acest
proces n cazul unui dispozitiv audio care se conecteaza si
realizeaza o legatura audio cu castile audio. Etapa1 : gasirea
dispozitivului prin investigare
7
Diagramele sunt simplificate si sunt omise detalii de
configurare, deci se considera ca dispozitivul de acces audio si-a
configurat parametrii de investigare iar castile sunt n modul de
scanare a investigarii. 1. dispozitivul audio transmite o cerere de
investigare nivelelor inferioare. 2. nivelele inferioare transmit
pachetele de investigare n vecinatate. 3. toate dispozitivele de
scanare a investigarii din vecinatate, inclusiv castile, transmit
replici cu raspunsul de investigare. 4. nivele inferioare transmit
raspunsurile aplicatiei audio Este necesar sa se precizeze ca
aplicatia legata de casti nu este implicata total : o data
configurate nivelele inferioare pentru scanarea investigarii este
complet detasata de orice raspunsuri de investigare genereaza
nivelele. Etapa2 : conectarea la dispozitive prin apel
Din nou diagramele sunt simplificate si se omit detaliile de
configurare. Se presupune ca poarta audio a configurat parametrii
de apel si castile sunt n modul de scanare a apelului. 1. poarta
audio trimite un raspuns de apel nivelelor inferioare. 2. nivelele
inferioare ale portii audio apeleaza castile utiliznd propria
adresa Bluetooth pentru a genera identificatorul pachetelor pe care
numai le vor asculta. Alte dispozitive de scanare a apelului din
vecinatate nu vor detecta apelul si nu vor raspunde la el. n
aceasta etapa o serie de pachete de nivel scazut sunt
interschimbate. Detaliile nu sunt importante cu exceptia faptului
ca, castile au transmis informatiile dispozitivului audio incluznd
adresa sa Bluetooth si clasa. 3. nivelele inferioare din casti
transmit un mesaj la aplicatiile castilor notificnd raspunsul de
conexiune. Notificarea cuprinde si adresa si clasa dispozitivului
audio care au fost adunate n timpul apelului. 4. aplicatia castilor
trimite o replica la nivelele inferioare acceptnd conexiunea. 5.
nivelele inferioare ale castilor trimit raspunsul nivelelor
inferioare ale portii audio.8
6. nivelele inferioare ale portii audio trimit mai departe
mesajul acceptnd conexiunea. Acum poarta audio stie ca are o
conexiune de date gata de folosit. Etapa3 : descoperirea
serviciilor pe care le suporta un dispozitiv
Primul lucru pentru conectarea la protocolul de descoperire a
serviciilor este realizarea unei legaturi L2CAP utiliznd PSM-ul
care identifica nivelul SDP. 1. poarta audio trimite o cerere la
propriul nivel L2CAP cernd o conexiune prin PSM la protocolul de
servicii al castilor. 2. cererea este transmisa nivelului L2CAP al
castilor care ntreaba aplicatia daca doreste sa accepte cererea. 3.
aplicatia headset raspunde ca va accepta o comunicatie cu nivelul
SDP. 4. raspunsul este trimis catre nivelul L2CAP al portii audio
care informeaza aplicatia corespunzatoare ca o conexiune L2CAP la
nivelul SDP al castilor poate fi folosita. Etapa4 : decizia asupra
serviciului pentru care se realizeaza conexiunea si modul de
utilizare al acestuia.
Aplicatia portii audio poate transmite cereri SDP si va primi
raspunsuri SDP de la serverul SDP al castilor. Se precizeaza ca din
moment ce aplicatia a nregistrat o nregistrare de servicii nu este
necesar sa fie implicate tranzactii SDP - nivelul SDP poate
raspunde cererii autonom. Aplicatia portii audio va trimite cererea
pentru a regasi nregistrarea serviciilor pentru functia headset.
Aceasta verifica daca serviciul este acceptat si ofera informatii
despre cum se realizeaza conexiunea la aceasta.
Etapa5 : conectarea la serviciu.
9
Aceasta etapa ncepe n acelasi mod n care se conecteaza nivelul
SDP prin crearea unei conexiuni L2CAP. Procedura este la fel ca si
n cazul n care se creeaza o conexiune L2CAP la SDP cu exceptia
faptului ca PSM utilizat n acest caz este cel corespunzator RFCOMM.
Din moment ce conexiunea L2CAP la RFCOMM este stabilita poate fi
folosita pentru a trimite mesaje ntre aplicatia audio si aplicatia
headset. Asa cum s-a precizat RFCOMM poate purta mai multe legaturi
n acelasi timp, deci dispozitivul audio trebuie sa identifice
legatura corecta pe care sa o utilizeze pentru a comunica cu
castile.
Tehnologia Bluetooth difera de conexiunile cu fir n multe
feluri. Unele diferente sunt evidente: cnd nu esti conectat la un
dispozitiv printr-un cablu trebuie sa gasesti si sa verifici nainte
daca acesta este dispozitivul la care vrei sa te conectezi. Unele
diferente sunt mai subtile: exista posibilitatea de a aparea
interferente, sau legatura sa se altereze sau chiar sa dispara daca
dispozitivul se ndeparteaza. Toate acestea pot parea ciudate daca
exista obisnuinta de a lucra n medii statice interconectate prin
cablu, cu toate acestea exista metode bine definite pentru a
percepe complexitatea conexiunilor Bluetooth.
10