La tecnologia Bluetooth

Il nome bluetooth come ormai tutti saprete deriva da un re vichingo danese
famoso per la sua abilità nel far comunicare le persone. Come il famoso 802.11x il bluetooth è
una specifica wireless che in questi anni ha mandato in pensione cavetterie varie. Fu Ericsson
nel 1994 che ebbe per primo l’idea di una soluzione wireless per eliminare i cavi dal
telefonino all’ auricolare oppure nel computer per sincronizzare agenda e rubrica. Nel
settembre 1998 si formò un alleanza chiamata Bluetooth Special Interest Group (SIG) e i
membri fondatori furono: Nokia, IBM, Intel e Toshiba . Lo scopo di questa nuova tecnologia
wireless era quello di creare uno standard aperto e universale; inoltre era necessario che
supportasse sia la trasmissione dati che quella vocale, doveva essere a basso costo accessibile a tutti e di piccole dimensioni. Fu così che nell’estate del 1999 il SIG rilasciò la versione 1.0.
L’anno seguente al progetto si unirono al SIG altre quattro compagnie 3COM, Lucent
Technologies, Microsoft e Motorola, fino a raggiungere oggi una communità di oltre 2000
compagnie membre del progetto.

Come funziona
Il bluetooth utilizza un segnale radio a basso consumo energetico, si
posiziona sulla banda a 2,45Ghz (generalmente svincolata in tutti gli stati da licenze varie) e
per evitare le interferenze con gli altri apparecchi è stato introdotto il FHSS (Frequency
Hopping Spread Spectrum) il quale divide la banda spettrale in tanti canali e raggiunge un
cambio di frequenza molto veloce, in un secondo cambia 1.600 volte, su 79 frequenze a
intervalli di un 1mhz (parte da 2.402GHz e finisce a 2.480GHz). Dato che opera alla stessa
frequenza dello standard 802.11b e g , alcuni esperti sostengono che questo possa far sorgere
alcuni problemi se due apparecchi fossero nella stessa area.
Vi sono tre tipi diversi di apparecchi Bluetooth e si differenziano tra di loro in base alla potenza di trasmissione:
1) Potenza di classe 1: dispositivi a lungo raggio circa 100 metri di copertura, una
potenza di 100mW e un uscita massima di 20dBm
2) Potenza di classe 2: dispositivi a raggio normale circa 10 metri di copertura, sono i
chip all’interno dei telefonini, hanno una potenza di 2,5 mW e escono a 4dBm.
3) Potenza di classe 3: hanno un raggio mediocre di circa 10 cm, la loro potenza è di
1mW e 0dBm.
Una rete Bluetooth si è soliti chiamarla Piconet. Una piconet è costituita da due o più
periferiche che condividono un canale di comunicazione, composte da un dispositivo che funge da master e uno o più dispositivi chiamati slave. La frequenza di hopping è per tutti uguali in una piconet e viene data dal master. In una piconet è possibile avere un massimo di sette slave attivi, anche se lo standard bluetooth è in grado di disattivare dispositivi in eccesso se non necessari.
E’ possibile tuttavia collegare assieme diverse piconet, e realizzare una rete molto più grande
quella che il bluetooth chiama Scatternet.
Un dispositivo Bluetooth possiede quattro tipi di indirizzi differenti: BD_ADDR, (Bluetooth
Device Address) formato da un indirizzo unico di 48bit. AM_ADDR, (Active Member Address), formato da 3bit valido soltanto finchè il slave è attivo sul canale. PM_ADDR, (Parked Member Address) destinato ai dispositivi slave in “park mode� ovvero dispositivi che pur rimangono sincronizzati con la piconet, ma non partecipano al traffico di dati. AR_ADDR, (Access Request Address), altro indirizzo destinato ai dispositivi parked, utilizzato per mandare una richiesta di accesso, non è necessariamente univoco.
Un dispositivo bluetooth opera maggiormente in due soli diversi stati: Standby e Connection,
lo stato di standby è anche lo stato di minor consumo di energia, non vi alcuna interazione con altri dispositivi bluetooth e inoltre gira al clock suo nativo. Nella stato di Connection vi è uno scambio di dati tra un master e uno slave, e la frequenza di clock nonchè la chiave di accesso vengono definite dal master.
Vi sono anche sette stati minori chiamati rispettivamente: page, page scan, inquiry, inquiry
scan, master response, slave response e inquiry response.
Quando il device non conosce alcuna informazione sul bluetooth remoto esegue
rispettivamente lo stato di inquiry, che permette di fare uno scan e localizzare dispositivi
raggiungibili dell’area circostante ottenendo informazioni quali indirizzo bluetooth e clock del dispositivo remoto. Subito dopo entra in funzione lo stato di inquiry response per ritrasmettere al dispositivo scoperto informazioni utili sul proprio conto quali BD_ADDR etc. Normalmente dopo lo stato di inquiry una volta ottenuto l’indirizzo del dispositivo remoto segue lo stato di paging il quale permette di effettuare a tutti gli effetti un tentativo per stabilire una connessione attiva: l’unità che stabilisce la connessione diviene così automaticamente il master.
Il dispositivo essendo progettato per equipaggiare apparecchiature portatili e non penalizzare sulla loro durata di batteria, può assumere quattro diversi stati per gestire il consumo elettrico:
1. Active Mode, partecipa attivamente in piconet su un canale.
2. Sniff Mode, il dispositivo per risparmiare energia ascolta nella piconet ma a una minor frequenza, costringendo il master a ridurre il numero dei canali da utilizzare durante la trasmissione.
3. Hold Mode, ulteriore stato per risparmiare l’energia, è possibile utilizzare la modalità hold per fermare temporaneamente il trasferimento dei dati su in modo da riservare capacità per inquiry, page, scan o passare a lavorare in altra piconet. L’unità in modalità hold può anche entrare in uno stato a basso consumo di potenza pur conservando il proprio AM_ADDR e quando la richiesta perviene la trasmissione di dati viene ripresa immediatamente.
4. Park Mode: modalità di massimo risparmio energetico dove il dispositivo rimane solo sincronizzato con la piconet, cede il suo AM_ADDR e gli vengono assegnati due nuovi indirizzi un park address (PM_ADDR) e un access request adress (AR_ADDR) il dispositivo occasionalmente ascolta il traffico del master che lo re-sincronizza (con l’utilizzo di speciali beacon channel) e sempre attraverso questi canali ascoltari i vari messaggi in broadcast.

Una volta stabilito il link ovvero il collegamento tra il dispositivo master e quello slave, ci sono due tipi diversi di servizi che possono essere utilizzati:
1. Servizi di tipo Asincrono : vengono riferiti da Bluetooth con il termine ACL (Asynchronous
Connection-Less). Appena viene creata una connessione il link acl entra in azione , il master
può possedere un qualsiasi numero di link ACL , però può esistere solo un link ACL tra la
connessione di due dispositivi. La scelta di quale slave deve ricevere o trasmettere è
fatta dal master slot per slot con il passare del tempo. Uno slave può rispondere nello slot del
master solo se il pacchetto è stato indirizzato realmente a lui e quindi decifrato. Tuttavia esiste anche la possibilità di inviare pacchetti in broadcast. Il Link ACL viene usato durante la
trasmissione dati e sono in grado di utilizzare il multislot FEC e di default implementano il
meccaniscmo ARQ.
2. Servizi di tipo Sincrono : vengono riferiti da Bluetooth con il termine SCO (Synchronous
Connection-Oriented), questo collegamento è di tipo assimetrico tra master e slave, un master può inoltre realizzare fino a tre link SCO con 3 diversi slave in contemporanea e uno slave è in grado di realizzare fino a tre link SCO con lo stesso master oppure 2 link con master differenti.
Anche se uno slave non è in grado di decifrare il pacchetto potrà ritrasmettere una risposta al
master nello slot ad esso destinato. Sono utilizzati per trasportare voce, e ogni link garantisce
un troughput di 64 kbps bidirezionale. Non è implementato un meccanismo ARQ, quindi i
pacchetti possono essere soggetti a errori.

Il bluetooth è in grado anche di gestire egregiamente il controllo degli errori durante la
trasmissione suddividendo in tre categorie diverse la sensibilità della correzzione di eventuali errori: 1/3 rate FEC (Forward Error Correction) ogni singolo bit viene trasmesso tre volte per rindondanza. 2/3 rate FEC un generatore polimoniale è usato per codificare 10 bit a 15 bit di codice. Schema ARQ in grado di verificare automaticamente eventuali errori, e nel caso non ci fossero passare al prossimo pacchetto.

Tirando le somme, affinche avvenga una sincronizazzione bluetooth sono necessari tre
informazioni :
1) Channel Hopping Sequence: di conseguenza il BD_ADDR del master da quale si
ricava la frequenza di hopping.
2) Phase: dalla velocità di clock del master riusciamo a determinare la fase corretta di
frequenza di hopping
3) Channel Access Code: il codice di accesso per il canale.

Informazioni tratte da Bluetooth Security (Security Wireless)


3 Commenti to “La tecnologia Bluetooth”

  1. 1
    Emilia ha detto

    Very well!!
    It’s a good article; simple, clear and complete.

  2. 2
    neos ha detto

    Giusto un appunto…
    Il nome Bluetooth deriva da “Harald 2° Blatand” , re danese del decimo secolo.
    La sua particolare bravura non era “far comunicare le persone” …per niente! E’ in suo onore il nome dello standard perchè unì Danimarca e Norvegia sotto un unico “governo” (per abuso di notazione). Due “nazioni” che, oltre a non essere collegate via terra, erano completamente differenti quanto a usi, costumi, religioni, etnie ecc…
    Infatti tale standard ha come principale obbiettivo, quello di interconnettere dispositivi differenti tra di loro, per mezzo di onde radio.
    Per il resto contiene molte info utili e non è male come articolo.

  3. 3
    Antonio Troise ha detto

    @neos: grazie mille per la precisazione… molto più interessante questa storia :)

Lascia un messaggio

Il tuo commento:


Chiudi
Invia e-mail