PDF: 510 kB - Politecnico di Milano
Transcript
PDF: 510 kB - Politecnico di Milano
Dispensa (concetti principali): Standard IEEE 802.15.4 e ZigBee (Ing. Stefano Maggi) (Dottore di Ricerca – Politecnico di Milano) ( [email protected] ) ______________________________________________________________________ IEEE 802.15.4 e ZigBee 1.0 Introduzione Questa breve dispensa descrive i concetti principali inerenti ad una tecnologia di comunicazione wireless a radio frequenza. Questa tecnologia, molto promettente, può essere applicata sia in ambito industriale sia in quello domotico (Home and Building Automation). 2.0 Caratteristiche generali Lo standard IEEE 802.15.4 viene approvato nell’estate del 2003 e definisce il protocollo di interconnessione, tramite comunicazione radio, tra diversi dispositivi rientranti in una “Personal Area Network” (PAN). Le WPAN (Wireless PAN) vengono utilizzate per distribuire informazione su distanze relativamente brevi e senza cavi di collegamento; le connessioni effettuate attraverso le WPAN riguardano piccoli ambienti ed infrastrutture, il che favorisce lo sviluppo di soluzioni poco costose ed energeticamente efficienti per un’ampia gamma di applicazioni. Lo standard definisce, più in particolare, le specifiche del livello fisico (PHY) e datalink (MAC) al fine di garantire una modalità di connessione wireless a basso data-rate tra dispositivi fissi, portatili o mobili che necessitano di un basso consumo di potenza, ovvero lunga durata delle batterie a bordo e che tipicamente lavorano in uno spazio operativo (POS: Personal Operating Space) dell’ordine di qualche decina di metri. Il data-rate deve essere sufficientemente elevato in modo da consentire la connettività di periferiche interattive largamente diffuse, come ad esempio quelle per PC, ma nel contempo vi deve essere anche la possibilità di ridurlo fino ai livelli tipici richiesti da sensori ed applicazioni orientate al controllo ed all’automazione delle infrastrutture. Si perviene, quindi, ad una LR-WPAN (Low Rate WPAN), ovvero una rete di comunicazione semplice e a basso costo selettivamente orientata verso applicazioni a basso consumo ed a “throughput” (quantità di informazione da trasmettere in ciascuna transizione) non elevato, principalmente caratterizzata da: Data rate di 250 kb/s, 40kb/s e 20 kb/s Operabilità in configurazione a stella o “peer-to-peer” 16 bit o 64 bit di indirizzo allocati Accesso al canale in modalità CSMA-CA 2 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Completa definizione del protocollo per trasferimento dei dati Basso consumo di potenza Indicazione della qualità del canale 16 canali nella banda attorno a 2.45 GHz, 10 canali nella banda attorno a 915 MHz, un canale ad 868 MHz 3.0 Topologie di rete Una LR-WPAN può includere due diversi tipi di dispositivi: FFD (Full Function Device) e RFD (Reduced Function Device). Un dispositivo del primo tipo può operare all’interno della rete secondo tre modalità: funzionando da coordinatore della rete, da coordinatore semplice o, più tipicamente, da terminale di comunicazione. Un dispositivo FFD può dialogare con altri dispositivi di entrambe le categorie, mentre un RFD può comunicare direttamente solo con un FFD. L’inclusione di terminali RFD all’interno della rete è orientata per applicazioni estremamente semplici, come interruttori di luce o sensori ad infrarossi, che non necessitano dell’invio di grosse quantità di dati e possono quindi, essere supportate attraverso minime risorse e capacità di memoria. Una WPAN è costituita da un minimo di due dispositivi operanti in una stessa POS; in ciascuna rete, uno solo di essi può configurarsi come “ PAN Coordinator” che si occupa di iniziare, terminare e redirigere la comunicazione tra le diverse periferiche. A seconda della particolare applicazione una LR-WPAN può configurarsi in due possibili topologie: a stella o peer-to-peer (fig.1). In ogni caso, ciascun dispositivo interno alla rete possiede un indirizzo esteso a 64 bit; tale indirizzo può essere direttamente utilizzato per la comunicazione, oppure, in alternativa, si utilizza un indirizzo ridotto, attribuito dal PAN coordinator ogni volta che il dispositivo viene da esso rilevato. Nella topologia a stella, ciascun dispositivo può comunicare solo con il coordinatore. Quest’ultimo quindi, controlla e gestisce ogni tipo di comunicazione all’interno della PAN ed è tipicamente collegato ad alimentazione fissa, mentre altri dispositivi sono dotati di batteria a bordo. Applicazioni tipiche di una topologia a stella includono l’automazione per ambienti domestici o il collegamento di periferiche al PC. 3 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Fig.1: Topologie di rete previste dallo standard IEEE 802.15.4 Una topologia peer to peer, invece, differisce dalla precedente in quanto ciascun dispositivo può comunicare direttamente con un altro interno alla rete, a patto che questo rientri nella sua regione operativa senza ricorrere alla mediazione del coordinatore. Una tale topologia quindi, si presta alla formazione di reti di comunicazione decisamente complesse che coinvolgono potenzialmente un elevato numero di dispositivi; essa è tipicamente rivolta ad applicazioni come il controllo e monitoraggio industriale, reti di sensori wireless e sicurezza ambientale. La modalità di formazione di una PAN rientra nel livello di rete (network layer), per cui non è argomento trattato nello standard in questione, tuttavia verranno riportate indicazioni di carattere generale a questo proposito. Nella formazione di una rete a stella ogni dispositivo FFD, dopo essersi attivato, può creare una propria rete diventandone coordinatore. Tutte le reti a stella operano indipendentemente dalle reti simultaneamente attive, in quanto ciascuna di esse è contraddistinta da un identificatore PAN, scelto dal coordinatore in maniera tale da evitare conflitti con reti già precedentemente stabilite entro il proprio spazio operativo. Una volta scelto l’identificatore, il coordinatore può annettere alla propria PAN altri dispositivi, siano essi FFD o RFD. In una rete peer to peer invece, ogni dispositivo può configurarsi come PAN semplicemente per essere il primo a comunicare su uno stesso canale. Un esempio di rete complessa fondata su una topologia peer to peer è il “cluster-tree” (fig.2). 4 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Ogni dispositivo della rete può in questo caso funzionare da coordinatore, fornendo servizi ad altri dispositivi o coordinatori, anche al di fuori della propria sfera di influenza. Soltanto uno di questi coordinatori può configurarsi come coordinatore PAN ed è tipicamente dotato di maggiori risorse a livello computazionale. Fig. 2: Esempio di rete complessa “cluster tree” Attraverso diversi nodi coordinatori risultano potenzialmente configurabili delle reti a struttura multicluster, il cui maggior vantaggio è legato alla maggiore superficie coperta e quindi al maggior numero di periferiche interagenti. L’inevitabile svantaggio risiede nel maggior tempo di latenza dei messaggi, il che limita le applicazioni che possono utilizzare di una tale configurazione. 5 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 4.0 Definizione dei Layers L’architettura di una LR-WPAN è definita attraverso una struttura a strati (layers). Ogni strato è responsabile di una parte dello standard ed offre servizi agli strati superiori; la loro definizione è conforme al modello ISO-OSI per l’interconnessione tra sistemi. Lo standard in questione detta le specifiche relative ai due strati più bassi, lasciando quindi ancora aperta la definizione dei livelli superiori per la gestione del protocollo di comunicazione (il che avverrà proprio ad opera dell’alleanza Zigbee). A livello fisico avviene l’attivazione o la disattivazione del ricetrasmettitore, la selezione ed il controllo del canale, la trasmissione, così come la ricezione dei pacchetti di informazione attraverso il mezzo fisico. A livello MAC (Medium Access Control) viene garantito l’accesso al mezzo fisico; in particolare vengono generati i segnali di sincronizzazione (beacons) se il dispositivo è coordinatore, viene gestita la connessione o disconnessione alla rete, viene messo in atto il meccanismo CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) per l’accesso al canale, con possibilità di utilizzo dei GTS (Guaranteed Time Slot), ovvero slot temporali ad accesso prioritario per applicazioni a bassa latenza richiesta. Gli strati superiori consistono nel livello di rete, che provvede alla configurazione della stessa gestendo la eventuale redirezione dei messaggi e nel livello applicativo, appunto orientato alla particolare funzione del dispositivo. 5.0 Funzionalità Lo standard consente l’utilizzo opzionale dei “superframe”; si tratta di opportuni intervalli temporali delimitati dai segnali di sincronismo (network beacons), che sono inviati dal coordinatore e divisi equamente in 16 slot. Il primo e l’ultimo slot sono occupati dai beacons, che consentono al coordinatore di identificare la rete e sincronizzare i dispositivi connessi. Il periodo temporale limitato è il “ Contention Access Period”; ogni dispositivo che vuole comunicare durante il CAP, deve competere con altri dispositivi che occupano eventualmente il canale attraverso un meccanismo di tipo “slotted CSMA-CA”: ogni volta che il dispositivo vuole trasmettere, durante il CAP, identifica il limite della slot corrente per poi attendere per un numero casuale di slot (fig. 3). Se il canale è occupato, attende un altro numero random di slot prima di accedere nuovamente al canale, altrimenti, in caso di canale libero, la trasmissione ha luogo a partire dalla slot immediatamente successiva. Tutte le transazioni devono essere terminate prima del network beacon successivo. 6 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Fig. 3: Divisione delle slot temporali in modalità “superframe” Il superframe può avere una porzione attiva e inattiva; durante quest’ultima il coordinatore non interagisce con la sua PAN entrando in modalità “low-power”. Per applicazioni che richiedono un basso tempo di latenza, il coordinatore può dedicare specifiche porzioni della regione attiva (generalmente collocate alla fine del superframe) ad una particolare applicazione. Queste finestre temporali formano il “Contention Free Period” (CFP) ed ogni porzione che ne fa parte è una “Guaranteed Time Slot” (GTS). E’ possibile allocare fino ad un massimo di 7 GTS in ciascun superframe e ciascuno di essi può potenzialmente occupare più di una slot. Ogni dispositivo abilitato a trasmettere durante un CFP, deve farlo solo entro l’inizio del GTS successivo. In ogni caso una porzione sufficiente del CAP deve rimanere libera in modo da consentire l’accesso ad altri dispositivi in rete o a nuovi dispositivi che possono connettersi ad essa. 6.0 Trasferimento dei dati Sono previste 3 diverse modalità di trasferimento dei dati. Nella prima il dispositivo trasmette al coordinatore di rete, nella seconda il dispositivo riceve i dati da esso e nella terza la comunicazione avviene esclusivamente tra due dispositivi “peer”. E’ evidente, per quanto detto in precedenza, che quest’ultima modalità interessa solo le reti in configurazione peer-to-peer. Il meccanismo che regola il trasferimento dei dati dipende dalla possibilità che la rete supporti la trasmissione dei beacon. Una rete abilitata in questo senso è tipicamente impiegata per supportare dispositivi a bassa latenza, come periferiche per PC. 7 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 6.1 Trasferimento Dati al coordinatore Quando un dispositivo deve trasferire dati al coordinatore e se la rete supporta i beacon, esso attende prima il network beacon. Quando questo viene identificato, il dispositivo si sincronizza con il superframe ed invia i suoi pacchetti di dati (data frame) in modalità slotted CSMA-CA per la gestione delle collisioni. Il coordinatore deve quindi, comunicare al dispositivo l'avvenuta ricezione dei dati mediante un frame di "acknowledgment", con cui si completa la transazione. Fig. 4: Protocollo per il trasferimento dei dati al coordinatore in modalitá "beacon" e non Se la rete non supporta i beacon, il dispositivo trasmette il suo data frame usando però, un "unslotted CSMA-CA", in quanto la rete non è ora sincronizzata. Anche in questo caso, un messaggio opzionale di "acknowledgment" dal coordinatore completa il trasferimento. 6.2 Trasferimento Dati dal coordinatore In una rete che supporta i beacon, il coordinatore indica nel network beacon la presenza di un messaggio di attesa. Il dispositivo ascolta periodicamente il segnale ed in questo caso trasmette un comando di "data request” in modalità CSMA-CA. Il coordinatore segnala l'avvenuta ricezione della richiesta mediante un frame di "acknowledgement", quindi il data frame pendente viene inviato sempre in modalità CSMA-CA. 8 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Il dispositivo segnala l'avvenuta ricezione dei dati trasmettendo a sua volta un frame di acknowledgment. Il messaggio viene così rimosso dalla lista dei dati in attesa all'interno del beacon. Se la rete non supporta i beacon, il coordinatore mette da parte i dati per uno specifico dispositivo, attendendo il suo data request; questo viene inviato dal dispositivo in questione in modalità unslotted CSMA-CA. Il coordinatore segnala l'avvenuta ricezione della richiesta con un acknoledgment di ritorno, cui segue, nel caso vi siano effettivamente messaggi pendenti, l'invio del data frame. Se non vi sono messaggi pendenti, il coordinatore trasmette un data frame con un payload di lunghezza nulla ad indicare l'assenza di messaggi. La transazione si completa quindi, con l'invio di un frame di acknoledgment al coordinatore. Fig. 5: Modalità di trasferimento dei dati dal coordinatore in entrambe le direzioni In una rete peer-to-peer infine, un dispositivo deve essere in grado di comunicare con ogni altro presente nella propria sfera di influenza. Per fare ciò, i dispositivi che vogliono comunicare possono rimanere costantemente in ascolto oppure sincronizzarsi. Nel primo caso la trasmissione può semplicemente avvenire in modalità CSMA-CA, mentre nell'ultimo andranno previste altre misure (non specificate nello standard) per ottenere la sincronizzazione. 9 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 7.0 Struttura dei Frame La strutturazione dei frame è funzionale alla riduzione della complessità del protocollo, rendendolo però sufficientemente robusto per la trasmissione su un canale rumoroso. Ogni layer più in basso aggiunge alla struttura dei campi specifici di intestazione e terminazione. Sono definite nello standard, quattro diverse strutture per i frame: beacon frame, usato dal coordinatore per la trasmissione dei beacon (fig. 6.1) data frame, usato per tutti i trasferimenti dei dati in ogni direzione (fig. 6.2) acknoledgment frame, usato per confermare l'avvenuta ricezione dei frame (fig. 6.3) MAC frame, usato per l'invio di comandi specifici per l'entità MAC (fig. 6.4) Si riportano successivamente, i campi di ciascuno dei quattro frame appena elencati: Fig. 6.1: Beacon Frame 10 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Fig. 6.2: Data Frame Fig. 6.3: Acknoledgment Frame 11 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Fig. 6.4: MAC Frame Si distinguono alcuni campi comuni in ciascuna struttura. A livello MAC si notano sempre i campi di intestazione MHR (MAC Header), contenenti informazioni per l' indirizzamento, il controllo del frame e l'identificazione del tipo e quelli di terminazione MFR (MAC Footer), contenenti 16 bit per il rilevamento dell'integrità dei dati. Il campo MSDU (MAC Service Data Unit) invece, contiene informazioni specifiche per il tipo di frame; nel caso dei beacon vengono specificati ad esempio, la struttura dei superframe, il numero di GTS previsti, gli indirizzi pendenti, ecc… Nel caso di acknoledgment, non vi è alcun campo MSDU, in quanto l'informazione recata dal frame (messaggio ricevuto) è già contenuta nel tipo. A livello fisico si ha l'aggiunta di ulteriori campi la cui funzione è identica in tutti e quattro i casi. Il campo SHR (Synchronization Header) include la sequenza di preambolo, che consente al ricevitore di ottenere la sincronizzazione dei simboli trasmessi ed il delimitatore di inizio del frame. Quindi il campo PHR (PHY Header) indica il numero di byte contenuti nel successivo PSDU (PHY Service Data Unit) a sua volta costituito dall'aggregazione dei campi precedentemente definiti a livello MAC. 12 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 8.0 Robustezza Sono impiegate diverse tecniche per assicurare la robustezza nella trasmissione dei dati. In particolare si utilizzano CSMA-CA (Carrier Sense Medium Access with Collision Avoidance), gli acknoledgment frame e la modalità di verifica dei dati. 8.1 CSMA-CA Tale modalità di anticollisione è stata già descritta nel paragrafo 5.0 a cui si rimanda. 8.2 Frame Acknoledgment L'avvenuta ricezione di un data frame o di un MAC frame può essere opzionalmente confermata con l'acknoledgment. In questo caso se il dispositivo che ha inviato il messaggio non riceve tale frame di risposta, esso assume che la trasmissione non è riuscita, provvedendo alla ritrasmissione del frame. Se l'acknoledgment non è ancora ricevuto dopo un certo numero di prove, il dispositivo può scegliere se terminare la transazione o provare ancora. Quando l' acknoledgment non è previsto, il dispositivo mittente assume che la trasmissione sia avvenuta. 8.3 Verifica dei Dati Per rilevare eventuali errori sui bit ricevuti, ogni frame è controllato nel suo FCS (Frame Check Sequence). Tale campo, definito a livello MAC, ha una lunghezza di 16 bit ed è calcolato sulla base del valore assunto dai campi immediatamente precedenti con un apposito algoritmo che viene brevemente descritto di seguito. Si utilizza un polinomio generatore standard di grado 16 che è: G16 (x) = x 16 + x12 + x 5+1 Sia M(x) = b0 x k-1 + b1xk- 2+ …+ bk-2 x + bk-1 13 ______________________________________________________________________ IEEE 802.15.4 e ZigBee il polinomio estratto a partire dai campi MHR ed MSDU (per quest'ultimo si utilizza solo il payload). Il calcolo di FCS avviene attraverso i seguenti passi: • si moltiplica M(x) per x16 ottenendo il polinomio M(x) x16 • l'ultimo polinomio viene quindi diviso modulo 2 per G16 (x), ottenendo un polinomio resto del tipo R(x) = r0x15 + r1x14 + …+ r14x + r15 • i coefficienti r0 r1 … r15 rappresentano proprio il campo FCS che viene aggiunto in coda al frame Tale procedura di calcolo viene effettuata in trasmissione ed in ricezione, quindi si verifica la coincidenza degli FCS rilevando, in caso contrario, la presenza di errori. 9.0 Consumo di potenza In molte applicazioni nelle quali lo standard è esplicitamente indicato, i dispositivi in rete sono tipicamente alimentati a batteria. In particolare si prevede che la ricarica o sostituzione di questa in intervalli di tempo relativamente brevi sia una soluzione decisamente poco efficiente (oppure in certi casi addirittura impraticabile). Conseguentemente il ridotto consumo di potenza diventa uno degli obiettivi fondamentali che lo standard si prefigge fin dalla sua formulazione. Naturalmente il problema del consumo coinvolge aspetti riguardanti anche l'implementazione fisica dei nodi di rete, aspetti importanti che a livello di standard non possono ovviamente, essere trattati. Il protocollo è quindi esplicitamente studiato per dispositivi portatili alimentati a batteria. Ciò comporta il ricorso al duty-cycling (anche inferiore all'1%) per ridurre il consumo, ovvero tali sistemi trascorreranno gran parte del loro periodo di operatività in modalità "sleep", ascoltando solo periodicamente il canale nel caso vi siano messaggi pendenti. Quanto detto suggerisce la necessità per questo tipo di applicazioni, di decidere sul bilancio tra consumo delle batterie e latenza del messaggio. 14 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 10.0 Sicurezza dei Dati Viene attuata sostanzialmente a livelli più alti. Si prevede l'utilizzo di chiavi simmetriche il cui valore e controllo è responsabilità dell' implementatore. La sicurezza dei dati in questo caso, si fonda sull'ipotesi che le chiavi siano generate, trasmesse e conservate in maniera sicura. Un altro possibile meccanismo di sicurezza è il controllo degli accessi, in base al quale ogni dispositivo mantiene una lista degli indirizzi dei potenziali trasmettitori. Tipicamente i dati possono essere criptati, il che significa che l'informazione originale può essere ottenuta solo con la chiave di crittografia condivisa dal gruppo di dispositivi. Un altro servizio di sicurezza è il rinnovo sequenziale: quando un frame viene ricevuto, si confronta il valore di un campo con quello corrispondente del frame immediatamente precedente. In caso di uguaglianza tra i due, il controllo ha esito negativo altrimenti si procede all’ aggiornamento della sequenza. Tutte le procedure appena citate possono non essere impiegate, in quanto il dispositivo può lavorare anche in modalità "non sicura". Il vantaggio è in questo caso legato alle minori risorse hardware necessarie per l'implementazione del protocollo, il che si riflette positivamente sul costo dei singoli nodi. 15 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 11.0 Reti locali wireless a dispersione dello spettro Le moderne reti locali wireless operanti via radio utilizzano tecniche di modulazione a dispersione dello spettro (spread-spectrum) e funzionano nelle bande dei 900MHz, 2.4GHz e 5.8GHz. La seguente figura (fig. 7) confronta gli intervalli di trasmissione in queste bande che sono compresi fra 902 e 928MHz, fra 2.400 e 2.483GHz e fra 5.725 e 5.850GHz. Si tratta di bande cosiddette ISM (Industrial, Scientific and Medical): gli enti di regolamentazione internazionali come FCC (Federal Communication Commission) negli Stati Uniti, ETSI (European Telecommunications Standardization Institute) in Europa, riconoscono l’utilizzo di queste bande per operazioni via radio senza licenza. Una rete locale wireless, come una rete telefonica cellulare, deve avere capacità di accesso multiplo, ovvero più utenti devono avere la possibilità di condividere un determinato insieme di frequenze. Questa condivisione è necessaria in quanto l’ampiezza di banda disponibile non è sufficiente per stabilire un canale permanente per ciascun utente. La tecnica di accesso deve essere esente da disturbi, deve essere sufficientemente robusta per supportare le interferenze e deve avere una bassa probabilità di intercettazione, in modo da garantire la privacy degli utenti. Queste funzionalità sono offerte dalle tecniche a dispersione dello spettro spread-spectrum. Queste tecniche forniscono quindi a più utenti un accesso simultaneo ad un ampia gamma di bande di frequenza, tramite metodi CDMA (Code Division Multiple Access). Fig. 7: Le tre bande ISM utilizzate per le reti locali wireless 16 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 11.1 Panoramica sui sistemi a dispersione di spettro Lo scopo della dispersione di spettro è quello di distribuire la potenza del segnale su un’ampiezza di banda W molto maggiore rispetto alla velocità di trasmissione R in bit/s. Questo significa che il fattore di espansione dell’ampiezza di banda W/R è molto maggiore di 1. Introducendo delle forme d’onda codificate per sfruttare la ridondanza disponibile in questa ampiezza di banda espansa, i sistemi di comunicazione a dispersione dello spettro, risolvono gli elevati livelli di interferenza che possono verificarsi nei canali wireless. L’utilizzo di sequenze pseudocasuali è un altro fattore importante dei sistemi a dispersione di spettro, in quanto si fa in modo che il segnale assuma l’aspetto di rumore casuale. Questo complica le intercettazioni da parte di ricevitori non autorizzati. La seguente figura (fig. 8) mostra gli elementi chiave del sistema di comunicazione digitale a dispersione di spettro. Fig. 8: La tecnica di dispersione dello spettro disperde la potenza del segnale su un’ampia banda di frequenze All’estremità trasmittente le informazioni entrano in un encoder ad una velocità di R bit/s per produrre un segnale analogico con un’ampiezza di banda relativamente stretta, su una determinata frequenza centrale. 17 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Un generatore di sequenze produce una sequenza pseudocasuale di valori binari che viene sovrapposta al segnale trasmesso in un modulatore. La sequenza pseudocasuale binaria è costituita da una serie di cifre casuali, che si ripete dopo un determinato periodo. Questa modulazione del segnale con una sequenza pseudocasuale, ha lo scopo di aumentare significativamente l’ampiezza di banda del segnale trasmesso, come si può vedere in fig. 8b. All’estremità ricevente, per demodulare il segnale viene impiegato un generatore di sequenze pseudocasuali identico. Infine il decoder di canale ripristina il flusso di dati originario. Nelle reti locali wireless, si utilizzano principalmente 2 metodi di dispersione dello spettro: • FHSS (Frequency Hopping Spread Spectrum) • DSSS (Direct Sequence Spread Spectrum) Si tratta sostanzialmente di tecniche di segnalazione differenti e non interoperabili. 11.2 La tecnica FHSS Questa tecnica di dispersione FHSS (utilizzata in Bluetooth) sfrutta i dati per modulare una portante, che salta da una frequenza ad un’altra a intervalli prefissati su un’ampia banda di frequenza. La frequenza del segnale trasmesso viene determinata dalla sequenza pseudocasuale. I regolamenti richiedono l’utilizzo di 75 o più frequenze per ogni canale di trasmissione; il tempo massimo speso su una determinata frequenza, chiamato “dwell time”, deve essere di 400ms. Lo standard IEEE 802.11 specifica un insieme di 79 canali di 1MHz non sovrapposti e un dwell time di 300ms nella banda ISM compresa fra 2.4 e 2.4835GHz. Questa è la banda utilizzata in America ed in Europa. Per il Giappone lo std. IEEE 802.11 supporta un insieme di 23 canali nella banda fra 2.473 e 2.495GHz. La seguente figura (fig. 9) mostra un esempio di salto di frequenza all’interno di questo intervallo di frequenze. In una rete 802.11 lo scambio di informazioni si verifica tramite una sequenza di salti ben precisa, in modo da ridurre le interferenze con altre reti adiacenti. In questa tecnica FHSS, la stazione trasmittente e ricevente si accordano su una determinata sequenza di salti, stabilita tramite un codice pseudocasuale. I dati vengono quindi inviati sulle frequenze portanti, utilizzando una modulazione GFSK (Gaussian Filtered Frequency Shift Keyed) a 2 o 4 livelli, per ottenere rispettivamente una velocità di trasmissione dati di 1 o 2 Mbit/s. 18 ______________________________________________________________________ IEEE 802.15.4 e ZigBee La tecnica GFSK a 2 livelli, utilizza 2 frequenze (una per il valore logico “0” e l’altra per il valore logico “1”), mentre la stessa tecnica a 4 livelli utilizza 4 frequenze, una per ciascuna delle 4 possibili combinazioni di 2 bit. Fig. 9: Esempio di salto di frequenza nell’intervallo fra 2.473 e 2.495GHz La tecnica FHSS consente di sviluppare un sistema radio piuttosto semplice, ma limita la velocità di trasmissione a 2 Mbit/s. Questo è dovuto al fatto che alle velocità più elevate lo schema di modulazione GFSK ha un’elevata sensibilità al rumore e ad altri disturbi, come per esempio l’evanescenza dovuta alla propagazione multipath (quella dei percorsi multipli, per es. causati dalla riflessione delle onde). Pertanto a velocità più elevate verrà generato un maggior numero di errori. Le tecniche “spread spectrum” hanno proprio lo scopo di risolvere questo problema. 19 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 11.3 La tecnica DSSS Con la tecnica DSSS (utilizzata in ZigBee e Wi-Fi) ciascun bit del segnale originale viene trasformato in più bit del segnale DSSS, che viene poi trasmesso utilizzando la modulazione di fase PSK (Phase Shift Keying). Per utilizzare l’intera ampiezza di banda disponibile nel canale, la fase della portante viene fatta variare ad una frequenza pseudocasuale W volte al secondo, in base ad una sequenza prodotta da un generatore pseudocasuale. Il reciproco di W, TC definisce la durata di un impulso DSSS. Questo impulso, che rappresenta un elemento fondamentale di un segnale DSSS, è chiamato chip ed il parametro TC viene chiamato intervallo di chip. Se Tb = 1 / R è la durata di un impulso rettangolare corrispondente al tempo di trasmissione di un bit di informazione, allora il fattore di espansione dell’ampiezza di banda Be può essere espresso come: Be = W Tb = = LC R TC In un sistema vero e proprio questo rapporto LC è un intero equivalente al numero di chip per bit di informazione. In pratica è il numero di variazioni di fase della portante, che possono verificarsi nel segnale trasmesso durante la durata di un bit di informazioni Tb . La sequenza binaria di LC chip per bit di informazione, è chiamata codice pseudocasuale (PN), o sequenza di chip o sequenza di dispersione. Il processo di moltiplicazione trasforma la sequenza di bit del segnale originale, in una sequenza di bit di frequenza più elevata, introducendo quindi un guadagno di elaborazione. Il guadagno di elaborazione è uguale alla velocità di trasmissione dati del segnale DSSS disperso, diviso per la velocità del segnale originale. Un elevato guadagno di elaborazione aumenta la resistenza di un segnale alle interferenze ed al rumore e offre inoltre, una certa protezione contro la propagazione multipath. Le specifiche, per esempio di 802.11, definiscono per DSSS un guadagno di elaborazione pari a 11. Un segnale di input di 1 Mbit/s viene convertito dalla modulazione DBPSK (Differential Binary Phase Shift Keyed) in un segnale di output a dispersione di spettro di 11 Mbit/s. Il codice pseudocasuale specifico per 802.11 DSSS, è la seguente sequenza di Barker, dove per primo viene applicato il bit più a sinistra: Sequenza di Barker = 10110111000 20 ______________________________________________________________________ IEEE 802.15.4 e ZigBee La seguente figura (fig. 10) mostra le sequenze di output di 11 Mbit/s, quando una funzione di EX-OR (OR esclusivo) combina i bit di input a “0” e “1” che arrivano a 1 Mbit/s con la sequenza di Barker. Fig. 10: Le sequenze di Barker e la funzione EX-OR utilizzata per trasmettere “1” e “0” in DSSS 12.0 Specifiche a livello fisico Un dispositivo che supporta lo standard in questione dovrà operare in una delle seguenti bande di frequenza utilizzando specifici formati di modulazione e di spreading (dispersione), come illustrato nella seguente tabella 1: PHY (MHz) Spreading parameters Data parameters Chip Rate Modulation (kchip/s) 300 BPSK Bit rate Symbol rate Symbols (kb/s) (ksymbol/s) 20 20 Binary 902-928 600 BPSK 40 40 Binary 24002483,5 2000 O-QPSK 250 62.5 16-ary Orthogonal Frequency band (MHz) 868/915 868-868,6 2450 Tab 1: Specifiche a livello fisico nelle diverse bande di frequenza previste 21 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Sono disponibili 27 canali distribuiti su tre distinte bande di frequenza: 868.0 – 868.6 MHz > 1 canale (20 kb/s) 902.0 – 928.0 MHz > 10 canali (40 kb/s) 2.40 – 2.48 GHz > 16 canali (250 kb/s) Lo standard specifica le caratteristiche del ricetrasmettitore in termini di sensibilità del ricevitore, nonché di potenza trasmessa dentro e fuori la banda operativa. In fase di ricezione il parametro di riferimento è il PER (Packet Error Rate) che è la frazione media di pacchetti non rilevati correttamente entro il PSDU. In questo senso la sensibilità del ricevitore stabilisce la potenza minima del segnale di ingresso, effettuando la misura ai terminali dell'antenna e in assenza di interferenza, garantisce un PER comunque inferiore all'1%. La massima lunghezza del frame a livello fisico è di 127 byte, così suddivisi (1 ottetto = 1 byte): Octets: 4 Preamble 1 SFD SHR 1 Frame length (7 bits) Reserved (1 bit) PHR variable PSDU PHY payload Fig. 11: Suddivisione generale dei frame a livello fisico Il campo SHR consente al ricevitore di sincronizzarsi ed agganciarsi alla bit stream; in particolare tale funzionalità è assolta dal preambolo, mentre il campo SFD indica l'inizio del pacchetto dati. Il campo PHR contiene informazioni sul numero di byte contenuti nel successivo PSDU. Il massimo "turnaround time" (tempo trascorso tra la ricezione/trasmissione dell'ultimo simbolo e la trasmissione/ricezione del primo simbolo del successivo messaggio) in entrambi i versi (RX-TX, TX-RX), è pari al tempo impiegato per la trasmissione di 12 simboli (dove ciascun simbolo reca con sè un numero di bit di informazione legato al tipo di modulazione che viene effettuata): nella banda a 2.45 GHz per esempio, ciò significa 192 µs . 22 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 12.1 Specifiche nella Banda a 2.45 GHz Lo standard prevede in questo caso, un data rate di 250 kb/s (facendo riferimento ai bit effettivi di informazione trasmessi, prima dello spreading). Viene impiegata, in questo range di frequenze, la tecnica di modulazione O-QPSK effettuata però non direttamente sui bit di informazione, bensì sulla codifica dei simboli. Quattro bit di informazione rappresentano un simbolo, il che significa che si hanno in tutto 16 possibili simboli. A ciascuno di essi viene associata una fra 16 possibili "chip sequences", che rappresentano le sequenze di bit con cui si va a modulare di fatto il segnale portante a radiofrequenza. Ogni chip-sequence si compone di 32 bit, il che significa che a fronte di quattro bit di informazione, si inviano in realtà sul canale 32 bit (ovvero un numero otto volte maggiore). Da un data rate di 250 kb/s si passa quindi, ad una chip rate di 2 Mb/s. Ciascun ottetto dei PPDU viene mappato in due simboli ed ogni simbolo viene mappato nella corrispondente chip sequence con cui si genera il segnale da trasmettere, attraverso la modulazione della portante in quadratura (fig. 12). Fig. 12: Catena di trasmissione dei dati binari di informazione Le sequenze associate a ciascun simbolo non sono casuali, bensì correlate attraverso spostamenti o coniugazioni cicliche dei bit. La modulazione O-QPSK viene brevemente descritta di seguito. I bit pari vengono modulati sulla portante in fase, mentre quelli dispari sulla portante in quadratura. Quindi i 32 bit della sequenza sono modulati in parallelo sulle due portanti; le due sequenze vengono però, traslate temporalmente di un periodo Tc, pari alla trasmissione di un chip (ovvero un bit della sequenza) prima della modulazione (fig. 13). 23 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Fig. 13: Ripartizione temporale della chip stream sui canali in fase e quadratura Ciascun chip non è rappresentato in forma digitale (in quanto sarebbe sconveniente in termini di occupazione di banda), bensì attraverso archi di sinusoide di periodo pari a 4Tc e quindi frequenza di 500 kHz. Un esempio di questo tipo di rappresentazione è riportato di seguito: Fig. 14: Sagomatura ad archi di sinusoide sulle chip stream La sagomatura ad archi di sinusoidi che viene effettuata dopo lo spreading su ciascun canale, può essere analiticamente descritta dalla seguente relazione: ⎛ t p (t ) = ± sin ⎜⎜ π ⎝ 2 ⋅ TC ⎞ ⎟⎟ → 0 ≤ t ≤ 2 ⋅ TC ⎠ p (t ) = 0 → altrove 24 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Tale tipo di modulazione viene esplicitamente considerata efficiente dal punto di vista energetico, offrendo buone prestazioni in termini di SNR (Signal to Noise Ratio) e di SIR ( Signal to Interference Ratio), a spese però di una larghezza di banda che è significativamente maggiore rispetto alla symbol-rate. Per quanto concerne i prodotti spettrali spuri trasmessi in banda, il limite relativo è fissato a -20 dB (la potenza di riferimento è in questo caso valutata come valore medio entro 2 MHz a cavallo della portante), mentre quello assoluto è di -30 dBm valutati per le spurie collocate a più di 3.5 MHz di distanza dalla portante. Il ricevitore invece, deve avere una sensibilità minima di -85 dBm e deve essere in grado di reiettare di almeno 30 dB i canali immediatamente adiacenti a partire dal secondo. 12.2 Specifiche nella Banda a 868/915 MHz Anche in questo range frequenziale si utilizza uno spreading dei dati binari contenuti nel PPDU da trasmettere; prima viene effettuata una operazione di codifica differenziale dei bit consistente nella seguente operazione: En = Rn ⊕ E n-1 dove Rn è il bit da trasmettere, En la corrispondente codifica differenziale e En-1, il bit precedentemente codificato attraverso la solita operazione di "ex-OR". In fase di ricezione, la decodifica dei dati avviene attraverso la seguente operazione: Rn = En ⊕ E n-1 Per ogni pacchetto da inviare il primo En è assunto pari a zero. I bit così codificati vengono mappati nelle corrispondenti chip-sequence, il cui valore è riportato di seguito: Input bits 0 1 Chip values (c0 , c1 … c14) 111101011001000 000010100110111 Tab. 2: Mappatura dei bit di informazione nelle rispettive chip stream 25 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Una bit rate di 40 kbit/s e 20 kbit/s comporta quindi, una chip rate effettiva di 600 kbit/s e 300 kbit/s rispettivamente. Tale sequenza va quindi a modulare la portante in maniera BPSK (Binary Phase Shift Keying) con sagomatura a coseno rialzato, per ogni bit da trasmettere. L'espressione analitica del segnale modulante in questo caso, è così rappresentabile: ⎛π ⋅t ⎞ ⎛π ⋅t ⎞ ⎟ ⎟⎟ cos⎜⎜ sin ⎜⎜ TC ⎟⎠ TC ⎠ ⎝ ⎝ ⋅ p(t ) = → 0 ≤ t ≤ TC π ⋅t ⎛ 4⋅t2 ⎞ 1 − ⎜⎜ 2 ⎟⎟ TC ⎝ TC ⎠ I prodotti spettrali spuri trasmessi in questo caso, hanno un limite relativo di -20 dB riferito alla potenza media trasmessa nel canale entro 1.2 MHz a cavallo della portante. Il limite assoluto per tali emissioni spurie in banda è fissato a -20 dBm. Si richiede per il ricevitore una sensibilità di almeno -92 dBm. La reiezione dei canali adiacenti che si richiede è assolutamente speculare a quanto già visto nella banda di 2.45 GHz. 12.3 Specifiche generali La tolleranza sulla frequenza centrale trasmessa deve essere al massimo di 40 ppm (parti per milione). La potenza trasmessa da un dispositivo che supporta lo standard deve essere al minimo di -3 dBm. La trasmissione su bassi livelli di potenza, quando possibile, è consigliata in maniera tale da ridurre al minimo l'interferenza recata ad altri dispositivi operanti nelle vicinanze. Il limite sulla massima potenza trasmessa è fissato dai regolamenti locali di ogni singolo Paese ma anche da una semplice considerazione economica: realizzare un chip in grado di trasmettere alta potenza si tradurrebbe in un maggiore costo del singolo dispositivo tenendo conto che i regolamenti in merito alle emissioni fuori banda rendono difficile la trasmissione di segnali ad alta potenza, senza ricorrere all'impiego di filtri relativamente costosi. Questo sarebbe un grave vincolo per l'impiego dello standard su larga scala. A questo si aggiunge anche un ridotto tempo di vita delle batterie. 26 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Un dispositivo sarà in grado quindi, di trasmettere al più 10 dBm, anche se la trasmissione su livelli più bassi è fortemente raccomandata dallo standard, in vista degli obiettivi finali che esso si prefigge (cioè minimo costo e minimo consumo di ciascun nodo di rete). Un livello tipico di potenza trasmessa che viene indicato è di 1 mW (0 dBm). In fase di ricezione il massimo livello di potenza del segnale da ricevere, senza eccedere il tasso di errore già specificato, è di -20 dBm. Lo standard supporta la possibilità di ED (Energy Detection), anche se tale rilevazione è sfruttata solo al livello di rete in quanto rientrante nell'algoritmo per la selezione del canale. La misura valuta la potenza del segnale entro la banda del canale su cui il ricevitore è sintonizzato, senza alcuna funzionalità di codifica del segnale ricevuto. Il tempo di ED deve essere pari al tempo impiegato per la trasmissione di otto simboli. Il minimo valore della misura di ED viene impostato a 10 dB sopra la sensitività specificata per il ricevitore. La misura di LQI (Link Quality Indication) costituisce invece, una indicazione della qualità dei pacchetti ricevuti e può essere realizzata attraverso una valutazione del SNR, oppure una misura di ED o ancora una combinazione di questi metodi. Anche tale informazione, ricavata a livello fisico, viene utilizzata a livello applicativo o di rete. La possibilità che il canale sia occupato o meno, rientra nel CCA (Clear Channel Assessment), che rappresenta il metodo utilizzato per ottenere tale informazione. A questo proposito vengono contemplate nello standard 3 possibilità: Canale occupato se si rileva un ED sopra la soglia specificata in precedenza Canale occupato non appena si rileva un segnale con le caratteristiche di spreading e di modulazione previste dallo standard Canale occupato non appena si rileva un segnale con le caratteristiche di spreading e di modulazione previste dallo standard e contemporaneamente ED sopra la soglia 13.0 Coesistenza Anche se non esplicitamente richiesto dalle specifiche, ci si aspetta che i dispositivi di una LR-WPAN possano operare in prossimità di altre periferiche wireless che potenzialmente trasmettono nella stessa banda. Dei 27 canali previsti, i primi 11, che ricadono interamente nella banda 868\915MHz, non interagiscono significativamente con altri dispositivi wireless compatibili con altri standard IEEE 802. I restanti canali invece, cadendo nella banda intorno ai 2.45GHz, possono interagire significativamente in questo senso. 27 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Risulta importante evidenziare la problematica della coesistenza relativamente agli standard riportati di seguito: IEEE Std. 802.11b -1999 (2400 MHz, DSSS) IEEE Std. 802.15.1 -2002 (2400 MHz, FHSS) IEEE Std. P802.15.3 (2400 MHz, DSSS) Lo standard che si sta trattando, prevede diversi accorgimenti per rendere possibile la coesistenza: - CCA - Selezione dinamica del canale - Tecnica di modulazione - ED e LQI - Basso duty cycle - Bassa potenza trasmessa - Allineamento del canale - Neighbor piconet capability Alcuni di questi sono già stati citati nei precedenti paragrafi. Vale la pena osservare che l'utilizzo delle sequenze PN (sequenza di dispersione) con la quale l'informazione viene codificata, offre il grande pregio della tecnica di accesso al canale di tipo DSSS, ovvero il guadagno, rispetto agli interferenti che ricadono in banda in fase di despreading dei dati ricevuti. Gli interferenti a banda larga, come ad esempio IEEE 802.11b ed IEEE P802.15.3 (22MHz e 15MHz di banda rispettivamente) apparirebbero come rumore bianco ad un ricevitore per lo standard in questione, quindi il problema in questo caso, rientra nell'ottenimento di un SNR di almeno 5-6dB come da specifica, per ottenere un PER massimo di 1%. Invece il SIR per questo tipo di interferenti può essere anche 10dB più basso, in quanto solo una frazione della potenza spettrale associata all'interferente ricade in questo caso, nella banda del ricevitore. Tale discorso non è valido per dispositivi interferenti "Bluetooth" (IEEE 802.15.1), in quanto il disturbo ha in questo caso una banda nell'ordine del 50% di quella riferita dallo standard in questione (quindi circa 1MHz). Per un interferente di questa natura, centrato entro la banda del segnale utile, si richiede un SIR di almeno 2dB. In termini di interferenza recata agli altri sistemi, si osserva che per lo standard Bluetooth, per gli stessi motivi appena elencati, il disturbo appare sostanzialmente a banda larga, per cui solo una frazione (circa il 50%) della potenza interferente, ricade nella banda del ricevitore Bluetooth eventualmente collocato nelle vicinanze. 28 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Inoltre è opportuno rilevare che la tecnica di salto della frequenza (FHSS) utilizzata in questo tipo di sistemi (Bluetooth), fa si che l'interferenza si abbia solo in determinati intervalli temporali comunque piccoli rispetto al tempo totale di trasmissione. Nei confronti di altri standard il disturbo appare invece a banda stretta, tuttavia l'utilizzo del DSSS anche in questi protocolli aiuta a mantenere basso l'impatto dell'interferente. Naturalmente il basso duty-cycle previsto per sistemi che rispondono allo standard in questione (anche se esso non è imposto da specifica), assieme a bassi livelli di potenza trasmessi (al massimo 10 dBm come riferimento, infatti gran parte dei dispositivi wireless attualmente sul mercato operano con una potenza trasmessa compresa tra i 12 dBm e 18 dBm con un guadagno di antenna tipico assunto unitario), comportano una drastica riduzione dell'interferenza mediamente recata ad altri standard. Fig. 15: Confronto della posizione dei canali di trasmissione con standard 802.11 29 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Un espediente impiegato per migliorare la coesistenza con lo standard IEEE 802.11b è l'opportuno allineamento dei canali nella banda di 2.45 GHz. La precedente figura (fig. 15) aiuta a chiarire meglio la situazione. Come si osserva, ci sono quattro canali IEEE 802.15.4 che ricadono nelle banda di guardia (ovvero le porzioni di banda che non recano contenuto spettrale) dello standard IEEE 802.11b (sia nella sua formulazione americana che quella europea, anche se per canali diversi). Nonostante l'energia in tali bande non sia nulla, essa è sicuramente inferiore a quella contenuta in canali adiacenti. Una WP-LAN operante in uno di questi canali non sovrapposti, risentirà minimamente dell'interferenza. Se viene attuata una selezione dinamica del canale, ovvero la frequenza di trasmissione non è fissata ma viene scelta, ad esempio in fase di inizializzazione della rete, il dispositivo ha possibilità di scegliere fra un set di canali specificati entro la sua "channel list". Per le reti installate in aree che presentano una notevole interferenza di tipo IEEE 802.11b si può ad esempio, far rientrare nella lista solo i canali “liberi", rendendo così possibile la coesistenza delle diverse reti. In ultima analisi la "neighbor piconet capabilty", ovvero la interoperabilità con altri tipi di dispositivi, potrebbe contribuire a ridurre significativamente le problematiche legate all'interferenza. Una tale possibilità risulta oggi al di fuori degli obiettivi dello standard. 14.0 Considerazioni sulla codifica dei Dati La minimizzazione del tempo di trasmissione, funzionale alla riduzione del consumo, favorirebbe come è evidente, dei data-rate abbastanza elevati. Questa soluzione però, possiede due inconvenienti: 1° la necessità di disporre di hardware digitale a più alta frequenza di clock, il che significa maggiore consumo della logica a bordo, 2° l'aumento della banda occupata dal segnale per essere trasmesso. Le tecniche di modulazione numeriche ormai largamente impiegate, mirano effettivamente ad un più efficace utilizzo della banda a disposizione. In gran parte dei sistemi che trasmettono dati digitali, si utilizzano delle modulazioni M-arie, il che significa che il tipo di informazione trasmessa ha un numero M di livelli di rappresentazione superiore a 2. Ovviamente ogni livello ha un simbolo che lo rappresenta, il che comporta la presenza di M simboli associati. Si deduce facilmente che ciascun simbolo porta con se un numero di bit di informazione pari a log 2 ( M ) , il che significa che il symbol-rate si riduce all'aumentare del numero di simboli. 30 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Anche se tali tecniche si presentano più efficienti in termini di occupazione di banda riducendo contemporaneamente il periodo di trasmissione, aumentare troppo il numero di simboli porta ad un deterioramento del BER in fase di ricezione, il che comporterebbe, a parità di condizioni, una perdita in sensitività, cioè verrebbe penalizzata la massima distanza coperta dal segnale trasmesso. La modulazione scelta (in un caso progettuale reale), facendo riferimento alla banda a frequenza libera (senza licenza) ISM (Industrial, Scientific and Medical) a 2.45 GHz, ha un numero M di simboli pari a 16; conseguentemente ogni simbolo ha associati quattro bit di informazione e la symbol rate risulta quindi 62.5 kbaud (k-simboli al secondo). Tuttavia ciascun simbolo come si è visto, viene mappato attraverso una sequenza di 32 bit, per cui se ne ricava una chip-rate finale di 2Mchip/s. Il passo di codifica risponde proprio all'esigenza di attuare un compromesso tra occupazione di banda e sensitività. Supponiamo che il segnale a spettro espanso sia in ingresso al ricevitore, insieme ad un solo segnale interferente la cui potenza sia pari ad Pn (dove n sta per "noise”) e la cui banda Bn sia proprio centrata sulla portante a radiofrequenza (trascuriamo il contributo del rumore termico). Indicando con P la potenza del segnale originale in ingresso al ricevitore, sappiamo che vengono nell'ordine effettuate le operazioni di filtraggio in banda espansa, di amplificazione a basso rumore, di traslazione frequenziale in banda base e di despreading. Quest' ultima operazione ha l'effetto di ricompattazione dello spettro del segnale utile (in quanto il segnale espanso viene moltiplicato per la stessa sequenza di spreading che si aveva in trasmissione ed in maniera sincrona con essa) e nel contempo di dispersione spettrale del disturbo (che viene al contrario, semplicemente moltiplicato per la sequenza e quindi espanso spettralmente da essa). Se si assume che quest'ultimo sia a banda stretta, la dispersione spettrale interessa praticamente l'intera banda espansa di partenza. Quanto detto viene significativamente riassunto di seguito. Fig. 16: Effetto del despreading in ricezione per interferenti a banda stretta Se AP è l'amplificazione di potenza introdotta a valle del ricevitore, ne consegue che la PSD (densità spettrale di potenza) del disturbo in uscita dal ricevitore è data da: 31 ______________________________________________________________________ IEEE 802.15.4 e ZigBee In = AP ⋅ Pn BS dove BS è la banda espansa (spread bandwidth). Ricordiamo ora che il rapporto SNR in fase di ricezione per modulazioni numeriche è dato da: SNR = Eb No dove Eb è l'energia media per bit di informazione ed N o è la densità spettrale di potenza del rumore in uscita dal ricevitore. Nel nostro caso si assume N o = I n , mentre invece è Eb = ( AP PTb ) , dove Tb è il tempo di trasmissione del bit. Chiamando Br = (Tb ) −1 la bit-rate effettiva, si ottiene uno spread SNR: SNRs = ( AP PTb BS ) P BS = ⋅ ( AP Pn ) Pn Br Il rapporto BS / Br , prende il nome di guadagno di elaborazione. Confrontiamo ora tale risultato con quello che si otterrebbe in assenza di spreading. In questo caso la banda B NS , (no spread bandwidth) del ricevitore è più stretta, ma a parità di segnale interferente ed assumendo rettangolare la sua densità spettrale di potenza, si ha ora: In = AP Pn B NS per cui si ottiene in definitiva: SNR NS = P B NS ⋅ Pn Br Il risultato finale che si ottiene a conclusione dell’esempio fatto, è quindi il seguente: 32 ______________________________________________________________________ IEEE 802.15.4 e ZigBee SNRS B = S >1 SNR NS B NS il che giustifica il guadagno sul SNR che si ha con tecniche di accesso al canale a divisione di codice (DSSS). Osserviamo che tale guadagno è significativo solo nel caso di interferenti a banda stretta rispetto a quella espansa BS . Nel caso di disturbi a banda larga, l' interferente non è soggetto ad alcuno spreading in fase di ricezione, per cui la sua densità spettrale di potenza rimane sostanzialmente immutata. Nel caso di Zigbee, lo spettro espanso ha un'estensione poco superiore a 1 MHz, facendo riferimento al “single side band" dei segnali in banda base, mentre la B NS si aggira sul 250 kHz. Conseguentemente è possibile ottenere teoricamente anche guadagni sul SNR di 6 dB. Il prezzo da pagare per tale risultato è ovviamente, una maggiore banda impiegata per la trasmissione dell'informazione. In questo senso si attua in Zigbee un compromesso per cui la penalizzazione in termini di banda occupata è decisamente inferiore a tanti altri sistemi che adottano il DSSS (e per i quali infatti, i guadagni teorici ottenibili sul SNR sono anche superiori ai 30 dB). Va in ultimo ricordato, che codificare l'informazione è un'operazione legata anche alla sua segretezza in fase di trasmissione: un eventuale intruso che capta il segnale deve non solo conoscere la sequenza di codifica, ma deve anche essere in grado di sincronizzarsi perfettamente con essa. 33 ______________________________________________________________________ IEEE 802.15.4 e ZigBee 15.0 ZigBee: generalità La nuova tecnologia wireless in fase di lancio sul mercato è indicata con il nome di “Zigbee”. Si tratta sostanzialmente di un’aggiunta allo standard IEEE 802.15.4 che definisce, come si è visto, il livello fisico ed il data-link del protocollo di interconnessione (fig. 17). Più in particolare Zigbee definisce le specifiche relative ai layer applicativo e di sicurezza (cioè dei livelli superiori), in modo da garantire la interoperabilità tra i prodotti di diverse case costruttrici. Fig. 17: Definizione di Zigbee entro il modello di riferimento ISO/OSI La possibilità di disporre di un protocollo comune, selettivamente orientato ad applicazioni a basso costo e consumo, ha giustificato la formazione della "Zigbee Alliance". Si tratta di un consorzio che raggruppa più di 70 società (fra cui Freescale (ex Motorola), Philips e Samsung in prima linea nella promozione della nuova tecnologia) ed il cui obiettivo condiviso è assicurare in breve tempo, il primato di Zigbee in un ampio settore del mercato del wireless, il cui valore si aggira su qualche centinaio di milioni di dollari secondo alcune previsioni riferite al 2007. Apparentemente il nuovo standard si trova ad operare in aperta competizione con la ormai consolidata tecnologia "Bluetooth"; in realtà quest'ultima non è adatta per l'automazione delle infrastrutture ed il controllo di apparecchiature industriali, in quanto si tratta di applicazioni che richiedono disponibilità di nodi a basso costo e soprattutto di una durata delle batterie che il Bluetooth non è in grado di garantire. In un ambito applicativo particolarmente sensibile alle problematiche di costo, la speranza dei promotori di Zigbee è quella di pervenire alla realizzazione di chip completamente integrati ed in grado di attuare l'intero protocollo, il cui costo non sia superiore ai 2 dollari. 34 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Naturalmente tale intento comporta preliminarmente, una diffusione globale dello standard entro settori comuni ma non ancora interessati a pieno dal controllo remoto; si pensi ad esempio, alla semplice accensione delle luci a distanza, il che eviterebbe l'ingombrante e poco pratico collegamento con fili elettrici, la rilevazione a distanza dei sensori per apparecchiature mediche o ancora il controllo wireless dei sistemi di condizionamento e ventilazione, diffusi ormai in gran parte delle infrastrutture commerciali e domestiche. Tali esempi mettono in evidenza solo alcuni dei potenziali settori in cui la diffusione della nuova tecnologia potrebbe essere addirittura capillare e giustificano il grande interesse e le aspettative di molte aziende operanti nel settore. In realtà il grande interrogativo è legato alle reali possibilità di crescita in un mercato, quello del wireless, già in parte saturato da altri standard concorrenti come Bluetooth e Wi-Fi (IEEE 802.11) ed indubbiamente inferiore a questi in termini di data-rate. Tuttavia la nuova tecnologia assume caratteristiche che la rendono unica nel suo genere, favorendo l'adozione del wireless in ambiti per cui gli standard attuali risultano inadatti. Può essere utile, da questo punto di vista, effettuare un rapido confronto con Bluetooth, per mettere in risalto come le differenze a livello di protocollo si riflettano inevitabilmente sulle applicazioni supportate. 16.0 ZigBee e Bluetooth a confronto Il protocollo Bluetooth si ritrova ormai integrato in molti PC portatili, palmari e telefoni cellulari; è inoltre integrato in alcuni elettrodomestici: frigoriferi, lavatrici e forni a microonde per applicazioni domotiche. Due dei punti più critici del Bluetooth, le interferenze e l'interoperabilità, sono stati in qualche modo affrontati nella versione 1.2 delle specifiche, che prevede l’algoritmo di "frequency hopping" (salto di frequenza, cioè il cambiamento dinamico della frequenza di trasmissione) per cercare di risolvere i problemi di interferenze con i prodotti Wi-Fi, WirelessUSB e altri prodotti nella banda dei 2.45 GHz. Altri aspetti critici del Bluetooth sono il consumo di energia e la latenza. Poiché la maggior parte dei sistemi di trasmissione a radiofrequenza riducono il consumo di energia praticamente a zero in fase di riposo, l'elemento chiave per limitare il consumo di energia ed aumentare la vita utile della batteria, è la riduzione della durata e della frequenza delle trasmissioni. Il Bluetooth, che è un protocollo relativamente complesso (circa 250 kbyte di memoria per implementarlo), deve inviare un volume di dati di controllo superiore rispetto ad alcune soluzioni concorrenti. Questo aumenta la latenza e richiede tempi di trasmissione piuttosto lunghi. 35 ______________________________________________________________________ IEEE 802.15.4 e ZigBee In un sistema per il collegamento multipunto a basso costo, come un'interfaccia per PC o un videogioco, il protocollo che viene utilizzato per la rete wireless non dovrebbe certamente consumare più energia di quanto non sia strettamente necessario per trasmettere i dati. Un'altra delle criticità del Bluetooth è il costo. Nelle periferiche per PC, in cui le decisioni sui componenti da utilizzare sono spesso basate sul risparmio di mezzo centesimo per unità, il Bluetooth continua ad avere dei problemi a causa dei suoi elevati costi e complessità. La tecnologia è stata utilizzata in alcuni mouse e tastiere di Logitech e Microsoft, ma parecchi produttori si stanno rendendo conto che progettare usando la tecnologia Bluetooth vuol dire fabbricare dei prodotti decisamente più costosi di quanto gli utenti siano intenzionati a spendere. Zigbee può essere considerato come un potenziale concorrente nei progetti di periferiche per PC, perché in teoria riduce i costi e prolunga la durata delle batterie, rispetto a Bluetooth. Zigbee richiede 32 kbyte di memoria di programma per implementare tutto il protocollo, il che si riflette positivamente sul consumo (meno dati da trasmettere) ed anche sul costo (il singolo dispositivo necessita di minore capacità di memoria). La maggiore complessità del Bluetooth si nota anche dal maggior numero di primitive di servizio previste dal protocollo: 131 contro circa 30 della tecnologia concorrente. I dispositivi Zigbee quando saranno disponibili, potranno trasmettere su distanze di qualche decina di metri, in condizioni ambientali favorevoli, con una velocità lorda di trasmissione dei dati che può raggiungere i 250 kbps (contro 1 Mbps del Bluetooth). Indubbiamente un data-rate ridotto rende inappropriato Zigbee quando la quantità di informazione da trasferire diventa eccessiva, tuttavia come risvolto positivo si ha la possibilità di utilizzare della logica di elaborazione meno costosa, in quanto le prestazioni richieste sono meno onerose. La maggiore complessità del protocollo Bluetooth è in effetti legata anche alla possibilità di trasferimento di dati multimediali, voce ed immagini in reti ad hoc: non per niente una tipica applicazione è quella degli auricolari wireless, tenuto conto che lo standard supporta pienamente le trasmissioni bidirezionali real-time, che non sono invece, esplicitamente supportare in Zigbee. Secondo le previsioni, lo schema di indirizzamento Zigbee prevede la possibilità di connettere, in teoria, più di 65.000 nodi (utilizzando una modalità di indirizzamento breve) attraverso un unico coordinatore di rete. In Bluetooth, il dispositivo master gestisce al più otto slave in un’unica piconet (anche se configurazioni di rete più complesse rendono decisamente meno critico tale aspetto peggiorando, però la latenza). In definitiva realizzazioni Bluethooth in semplici applicazioni, richiederebbero un costo del singolo nodo potenzialmente anche più elevato della periferica collegata (ad esempio un sensore), il che risulterebbe decisamente anomalo. In aggiunta un consumo di potenza eccessivo penalizzerebbe tali sistemi in termini di praticità e di costo per il singolo utente. Vale la pena a questo punto, identificare l’esatta collocazione di Zigbee nell’ambito del wireless; viene riportata una tabella in cui sono riassunte le caratteristiche di vari standard a confronto. 36 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Le speranze dei promotori Zigbee risiedono nella realizzazione di chip CMOS che contengono sia la parte necessaria per l’elaborazione del segnale in banda base, sia la parte RF (Radiofrequenza), assieme ad un microcontrollore per attuare l’intero protocollo. Si prevede che il costo iniziale dei chip (anche superiore al bluetooth) possa essere considerevolmente ridotto non appena una diffusione globale del nuovo standard renderà possibile una produzione su più larga scala. Questo confronto viene descritto nella seguente tabella 3: Proprietà Frequenza Wi-Fi 802.11b – 2.4GHz 802.11 5GHz Bluetooth 2.4 GHz Data rate 11 Mbits/s 54 Mbits/s 1Mbits/s Range(m) Rete 100-50 Punto-Multipunto 10 Piconet ad hoc Complessità Alta Consumo Alto Applicazioni Wlan,trasferimento di file, collegamento ad Internet senza fili Alta Medio Auricolari connessioni a PC portatili, cellulari Zigbee 868 MHz(in Europa) 915 MHz(in America) 2.4 GHz 20 kbits/s 40 kbits/s 250 kbits/s 10-100 Ad hoc, stella, peer-to-peer, mista Bassa Molto Basso Controllo di ambienti domestici e industriali; monitoraggio di rete di sensori; giochi ed apparecchiature medicali UWB 3.1-10.6 GHz 100-500 Mbits/s <10 Punto-Punto Media Basso Applicazioni multimediali (immagini e filmati) Tab. 3: Confronto fra le principali tecnologie wireless attualmente disponibili 37 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Proprietà UHF Wireless USB IR Wireless Frequenza 260-470 MHz 2.4 GHz Data rate 10-100 kbits/s 62.5 kbits Range 10 10 Rete Complessità Consumo Applicazioni Punto-punto Molto bassa Basso Accesso remoto senza chiavi per l’ apertura Punto-punto Bassa Basso Periferiche PC Infrarosso 800900 nm 20-40 kbits/s 115 kbits/s 4 & 16 Mbits/s 20-40 kbits/s 115 kbits/s 4 & 16 Mbits/s Punto-punto Bassa Basso Collegamenti a PC Campo Magnetico Vicino Accoppiamento magnetico 64-384 kbits/s 64-384 kbits/s Punto-punto Bassa Basso Automazione Tab. 3: Confronto fra le principali tecnologie wireless attualmente disponibili 17.0 Il problema del “Low Power” E’ opportuno a questo punto, focalizzare il discorso su uno dei punti di forza di Zigbee: il basso consumo di potenza. Tale aspetto, di importanza cruciale affinché la nuova tecnologia riscuota il successo che si spera, coinvolge diversi aspetti che meritano di essere evidenziati. Le argomentazioni che seguono riprendono in parte alcuni concetti gia accennati in fase descrizione dello standard, giustificando alcune scelte operate nella definizione del livello fisico. La frontiera del wireless si fonda sulla realizzazione di chip a bassissimo consumo con cui collegare le periferiche (nodi) in rete e coinvolge sia le modalità di definizione del protocollo di comunicazione, sia una progettazione elettronica ottimizzata dal punto di vista del “low power", sia l'utilizzo di processi di fabbricazione che siano funzionali allo scopo. 38 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Il tutto deve essere infine garantito in modo economico, privilegiando soluzioni a basso costo. Attuazione del "duty-cycling": ovvero si riduce la percentuale di tempo per cui il nodo di rete risulta attivo (Rx o Tx); lo standard indica meno dell'1%, tuttavia per alcune applicazioni a traffico tipicamente ridotto (ad esempio monitoraggio delle reti di sensori) si prevede la possibilità di ridurlo fino a 10 ppm utilizzando degli intervalli di tempo "interbeacon" anche superiori ai 250s nei casi più estremi. La durata di un singolo slot è un multiplo di 15ms e la durata dei superframe risulta in ogni caso dipendente dal tipo di applicazione con cui si ha a che fare. L' implementazione di reti sbilanciate dal punto di vista del consumo, verso il coordinatore, tipicamente collegato all'alimentazione fissa, consente di minimizzare il consumo dei singoli nodi. L'invio dei beacon da parte del master consente ai singoli dispositivi di sincronizzarsi; quando uno di essi si sveglia per trasmettere, non fa altro che ascoltare il canale, sincronizzarsi con una slot e trasmettere i dati. Prevedendo che l'informazione possa occupare un solo slot temporale, il tutto può esaurirsi in un tempo decisamente breve, minimizzando così il periodo di accensione necessario per effettuare la transazione dei dati. Codifica dell' informazione mediante l'utilizzo delle chip-sequence: pur peggiorando l'occupazione di banda tale misura consente un guadagno in termini di sensitività, consentendo, su distanze tipiche, di ridurre la potenza trasmessa a parità di BER in ricezione. Un altro vantaggio è legato alla possibilità di utilizzare filtri di canale a banda passante più larga; il loro tempo di assestamento risulta tipicamente inferiore, il che significa riduzione del periodo di accensione del nodo durante ciascuna operazione. La codifica dell'informazione, assieme alla tecnica CSMA-CA di anticollisione, consente di ridurre il pericolo di ritrasmissione dei messaggi, prolungando anche in questo modo la vita delle batterie. Adeguato distanziamento tra i canali: nel caso di banda a 2.45 GHz si ha uno spacing di 5 MHz contro i 2 MHz strettamente necessari. In questo modo i sintetizzatori di frequenza riescono a lavorare con riferimenti frequenziali più alti, contribuendo a ridurre il loro tempo di assestamento (infatti i tempi di risposta del PLL sono nell'ordine del periodo del segnale di ingresso, per cui pilotare il sistema con frequenze più elevate contribuisce al loro abbassamento). Impiego della modulazione OQPSK (Offset Quadrature Phase Shift Keying): si riesce così a massimizzare il rendimento dell'amplificatore di potenza in fase di trasmissione per effetto dell'inviluppo costante esibito dai segnali modulati e senza compromettere troppo l'efficienza spettrale. 39 ______________________________________________________________________ IEEE 802.15.4 e ZigBee Bassa potenza trasmessa: si prevede la possibilità di ridurla fino a -3dBm. L'inconveniente delle ridotte superfici coperte viene aggirato prevedendo tipologie di rete anche potenzialmente complesse. Scendere sotto il livello tipico di 1 mW, tuttavia, ha poca convenienza dal punto di vista del consumo, tenuto conto che per il momento la parte restante del sistema difficilmente esibisce consumi inferiori ai 10 mW per funzionare. Supporto della modalità "beaconless": questa possibilità può essere molto utile nel caso di reti alimentate in maniera asimmetrica. Un esempio classico, da questo punto di vista è l'accensione a distanza delle luci; la lampada è comunque collegata alla rete fissa di alimentazione, per cui può lavorare quasi costantemente in ricezione, invece l'interruttore con batteria a bordo trasmette solo quando viene azionato. Una modalità beacon, in questo caso, sarebbe sconveniente in quanto si perderebbe inutilmente energia per l'invio delle segnalazioni senza recare un vantaggio significativo per il consumo dei nodi, ed anzi aumentando inutilmente la latenza del messaggio. Possibilità di ridurre il periodo di ascolto nella modalità CSMA-CA: il periodo di accensione del ricevitore può essere ridotto fino a pochi slot temporali prima di cominciare la trasmissione dei frame, nel caso di applicazioni a basso traffico. Semplicità del protocollo con cui si riesce a diminuire il periodo delle trasmissioni: previsioni realistiche suggeriscono la possibilità di attuarlo con appena 32 kB di memoria ROM ed appena 8 kB di RAM, nonché un microcontrollore ad 8 bit (della famiglia 8051 per esempio). Le pretese in termini di memoria possono anche essere meno stringenti per semplici nodi RFD. 40