BLUETOOTH



2.10. Bluetooth

Lo scopo principale della nascita della tecnologia Bluetooth risiede nella capacità di far dialogare e interagire fra loro dispositivi diversi come stampanti, computer, notebook, TV, impianti Hi-Fi, telefoni cellulari, elettrodomestici, senza la necessità di collegamenti via cavo semplificandone connessione e comunicazione.

Il nome Bluetooth deriva dal soprannome di un famoso condottiero scandinavo, re di Danimarca del medioevo, Harald II Bluetooth che conquistò la Norvegia.  

Con la tecnologia Bluetooth si possono creare reti senza fili chiamate piconet costituite da due o più periferiche, fino ad un massimo di 8, che condividono un canale di comunicazione utilizzando il Bluetooth sulla frequenza di 2.4 GHz alla velocità di 1Mbps che, nella versione 2.0, consente un incremento di velocità di trasmissione dati fino a 10Mbps con un raggio d’azione fino a 10 metri, supporto simultaneo per slave a bassa e alta velocità, conformità con la versione Bluetooth 1.0.

Bluetooth consente di gestire sia dati che voce utilizzando la trasmissione a commutazione di pacchetto per i dati e una modalità orientata alla connessione per la voce.

La piconet si configura automaticamente quando si inserisce o si elimina un dispositivo. A loro volta più piconet possono interconnettersi tra loro  aumentando le possibilità di espansione.

Tutte le apparecchiature bluetooth predisposte in un ambiente di lavoro sono nella condizione di  generare piccole reti senza fili.

Il sistema di comunicazione bluetooth è progettato per funzionare correttamente anche in ambienti con forte presenza di interferenze e campi elettromagnetici.

È  possibile, ad esempio, ascoltare musica dell' impianto stereo o della TV attraverso la cuffia senza fili anche se ci sono oggetti, ostacoli interposti, cosa ben difficile con le cuffie a raggi infrarossi (tecnologia IRDA).

La velocità di comunicazione è prossima ad 1 Mbps anche con piccole potenze nell'ordine di alcuni milliWatt, mille volte inferiore alla potenza di un cellulare GSM, impiegando la tecnologia TDD (Time Division Duplex).

I dispositivi Bluetooth, in relazione alla potenza emessa, vengono distinti in tre classi di funzionamento.

Un notebook, ad esempio, implementa un terminale bluetooth in classe 2 con raggio d'azione di diversi metri.

Più piconet possono interconnettersi, aumentando le possibilità di espansione fino ad un massimo di 10 piconet. Ciò permette, ad esempio, di sincronizzare i dati di un notebook e un PDA semplicemente avvicinando i due apparecchi, oppure di passare automaticamente al vivavoce quando si entra in auto parlando al cellulare.

Tutto questo è possibile grazie al "service discovery protocol" (SDP) che permette ad un dispositivo Bluetooth di determinare quali sono i servizi che gli altri apparecchi presenti nella piconet mettono a disposizione.

Tale protocollo può fungere sia da server che da client e ogni apparecchio dispone delle informazioni relative ai servizi di cui è capace e dei protocolli supportati: altri apparati potranno fare uso di queste informazioni per determinare le possibilità di interazione con i nodi della piconet.

Questo è necessario perché, naturalmente, una stampante bluetooth non offrirà le stesse possibilità di un PDA o di un auricolare, pertanto occorre che ogni nodo conosca le funzioni e le possibilità di ogni altro nodo della rete. Per fare un esempio concreto, se un telefonino Bluetooth vuole trasferire un messaggio di testo a un PDA, potrà interrogare quest’ultimo per sapere se è dotato di funzionalità e-mail, o se è in grado di ricevere un testo in altro modo.

Un dispositivo inserito per la prima volta in una piconet effettua una "scansione" di tutti i nodi presenti per capire come può interagire con essi.

 Tale modalità di interconnessione dinamica consente di sincronizzare i dati tra due apparecchi Bluetooth automaticamente, ad esempio un PDA con un PC portatile, sfruttando il protocollo SDP (Service Discovery Protocol) per distanze comprese tra 10 - 100 metri. 

 

Fig.18.- Schematizzazione del funzionamento del protocollo SDP.

 

In un collegamento Bluetooth tutti gli apparecchi connessi sono, generalmente, in modalità standby, seguendo un ciclo di scansione ad intervalli di tempo di 1.28 secondi al fine di verificare la presenza di eventuali altri dispositivi; in tale modalità tutti i dispositivi bluetooth sono a basso consumo energetico.

La scansione effettuata può essere di due tipi: PS  (Page Scan) e  IS (Inquiry Scan).

La scansione PS consente la ricerca di un collegamento con un altro apparecchio Bluetooth, che può risultare in modalità connectable o non-connectable.

La scansione IS, simile alla precedente, permette di identificare la tipologia di apparecchi disponibili nella piconet, discoverable o non-discoverable, e di approntare i necessari protocolli per il collegamento.

Un comando inquiry viene emesso quando l'indirizzo o il numero di identificazione di un dispositivo non è conosciuto, successivamente al riconoscimento seguirà un comando page che servirà per risvegliare l'altra unità e stabilire così una connessione completa tra i dispositivi.  

 

Fig.19. – Modalità di passaggio dallo stato standby a connessione e viceversa.

 

I risultati di una scansione possono essere:

·        A (Active)   la connessione è attiva e può avvenire la trasmissione e la ricezione dati, tutte le unità slave sono sincronizzate con il master;

·        H (Hold) può svolgere operazioni IS e PS con basso consumo energetico;

·        S (Sniff) riduzione del carico di lavoro in modalità di ascolto della piconet con tasso di attesa programmabile;

·        P (Park) modalità di attesa rimanendo sincronizzato alla piconet.

 

La tecnologia Bluetooth opera nella gamma di frequenza da 2.4GHz a 2.483 GHz, suddivisa in canali da 1 MHz impiegando la tecnica FHSS (Frequency Hopping Spread Spectrum), tecnologia che consente a più utenti di condividere lo stesso insieme di frequenze, cambiando automaticamente la frequenza di trasmissione fino a 1600 volte al secondo, al fine di una maggiore stabilità di connessione e di una riduzione delle interferenze tra canali di trasmissione.

Lo spectrum spreading consiste in una continua variazione di frequenza utilizzando una modulazione di frequency hopping. Gli hops corrispondono ai salti di frequenza all'interno della gamma assegnata (complessivamente 79 hops).

Due o più unità che condividono la stessa sequenza di hopping ( piconet ) vengono ad assumere tale configurazione. Tutti i dispositivi di una piconet condividono lo stesso canale di passaggi di frequenza, determinato dagli slave, sincronizzandosi con l'unità master.  

 

Fig.20. - Collegamento del master agli slave in una piconet.

 

La comunicazione viene gestita dall'unità master tramite FHSS consentendo la sincronizzazione con le unità slave, fino ad un numero massimo di 7 dispositivi slave attivi. Il master trasmette solo nei timeslot pari, mentre lo slave trasmette nei timeslot dispari al fine di evitare collisioni. Nella piconet, oltre alle sette unità slave attive, possono rimanere sincronizzate all'unità master altre unità in una modalità di attesa (park).

In ogni piconet un terminale Bluetooth assume la funzione di master scegliendo la sequenza con cui cambiare la frequenza portante radio mentre gli altri, adeguandosi, assumono il ruolo di slave interagendo tra loro secondo protocolli di scambio dati.

La tecnologia Bluetooth consente due principali modalità di collegamento tra unità master e slave, l'ACL e lo SCO.

Il collegamento ACL ( Asynchronous ConnectionLess) consente la trasmissione dei dati con una modalità asincrona non orientata alla connessione. La velocità di trasmissione dati nella modalità asimmetrica è 723 Kbps e di 57.6Kbps nell'altra direzione, nella modalità simmetrica invece, è intorno a 434 Kbps.

Il collegamento SCO ( Synchronous Connection Oriented ) consente la trasmissione radio e la trasmissione Voce. Permette la trasmissione dei dati con una modalità sincrona orientata alla connessione.

 La  velocità di trasmissione voce è sincrona e bidirezionale e sfrutta una codifica Continuous Variable Slope Delta Modulation (CVSD), permettendo un bit rate di 64 Kbps.

Ogni master riesce a gestire un massimo di tre connessioni SCO simultanee verso slave con una cadenza di 64 Kbps, gli ACL agiscono sui time slot liberi gestendo i dati generici. I dati di una piconet vengono trasmessi a pacchetti di 2745 bit e sono composti da tre campi:

·        AC (Access Code)

·        H (Header)

·        P (Payload)

 

72 bit

54 bit

0 – 2745 bit

ACCESS CODE

HEADER

PAYLOAD (dati)

 

Fig.21. – Struttura di un pacchetto di una piconet.

       Ogni pacchetto può estendersi fino a cinque time slots.

       Nel livello immediatamente superiore ISO/OSI i dati vengono gestititi dal protocollo L2CAP (Logical Link Control Adaption Protocol) che si occupa della suddivisione dei file in pacchetti e del loro assemblaggio. Un altro protocollo, di nome IROBEX, permette la gestione delle comunicazioni IRDA.

       Le caratteristiche di una scheda Bluetooth di un determinato dispositivo (cellulare, notebook, palmare, stampante,...) dipendono dal costruttore; sarà necessario, quindi, controllare preventivamente la presenza e le modalità di gestione della:

      

       La modalità di trasmissione e ricezione dati può cambiare in relazione alle esigenze di comunicazione delle varie unità Bluetooth, passando per esempio da una sola comunicazione voce a una sola comunicazione dati.

       Una rete wireless composta da più apparecchi realizza una piconet, a sua volta più piconet realizzano un network wireless chiamato scatternet.

       Due dispositivi Bluetooth vicini tra loro che svolgono un ruolo di master realizzano una scatternet su frequenze diverse, ogni master a sua volta gestisce gli slave della propria piconet. Il limite dei canali radio disponibili è 79.

       Una piccola rete Bluetooth può supportare un collegamento punto-punto e multipunto.

Fig.22. – Esempio di collegamento punto-punto ( a sinistra) e multipunto (a destra).

 

Ogni unità Bluetooth è costituita da:

Fig.23. – Costituzione di una unità Bluetooth.

 

       Le connessioni tra dispositivi Bluetooth vengono gestite, autenticate e configurate dall’unità di gestione e di interfaccia del collegamento (Link Manager – LM) attraverso il contatto con un altro Link Manager.

       L’ unità di controllo del collegamento (Link Controller – LC) gestisce l’invio, la ricezione e le impostazioni dei dati.

       Lo scambio delle informazioni di servizio avviene tramite il protocollo LMP (Link Manager Protocol).

       Le informazioni del protocollo LMP possono essere di:

 

 

       Il protocollo LMP controlla, inoltre, le modalità di potenza ed i valori di duty-cycle dell’unità radio.

       I messaggi inviati si chiamano PDU (Protocol Data Units) e si articolano in 55 tipologie.

       Un ulteriore livello di controllo superiore è il protocollo LLCAP (Logical Link Control and Adaptation Protocol) che agisce una volta stabilita la connessione tra dispositivi tramite il protocollo LMP, gestendo la segmentazione/ricompilazione dei pacchetti dati (di max 64 Kbit), il multiplexing, le informazioni QoS (Quality of Service).

 

Tabella 10

Alcuni protocolli impiegati dal Bluetooth

LMP  ( Link Manager Protocol )

L2CAP (Logical Link Control  and Adaptation Protocol )

SDP  ( Servive Discovery Protocol )

RFCOMM  (protocollo sostituzione cavo, emula segnali RS-232)

TCS-BIN ( Telephony Control Specification-Binary 

Baseband (connessione fisica RF, sincronizzazione frequenze)

AT-Commands ( Audio/Telephony Commands)

PPP ( Point to Point Protocol )

TCP/IP/UDP (Transport Control Protocol/Internet Protocol/Datagram Protocol)

IrMC  ( Infrared Mobile Communication )

WAP  ( Wireless Application Protocol )

OBEX ( Object Exchange Protocol )

WAE  ( Wireless Application Environment )



a cura del prof. Giuseppe Spalierno, docente di Elettronica - ultima versione febbraio 2005