Sunteți pe pagina 1din 10

Tehnologia Bluetooth

1. 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

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 79
2

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 si
3

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

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).

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

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.

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