Introduzione
Con l’acronimo RFID, ‘Radio Frequency IDentification’, sono indicati i dispositivi predisposti al riconoscimento a distanza di un oggetto mediante la trasmissione di onde a radio frequenza. La tecnologia RFID propone nuove soluzioni per sostituire le tradizionali e collaudate tecniche per l’identificazione automatica degli oggetti, quali quelle che utilizzano codici a barre, carte di accesso a banda magnetica o smart card.
Come ben noto, in un sistema che utilizza il codice a barre per ottenere l’informazione richiesta occorre mantenere una distanza minima ed orientare l’oggetto verso il lettore;
il codice barre non riesce inoltre a tollerare alcun rivestimento ed è molto sensibile ad agenti esterni, come alte temperature, acqua o sporcizia, che ne degraderebbero il contenuto informativo. Tutte queste limitazioni sono superate da un sistema RFID grazie alla comunicazione mediante onde a radio frequenza ed alla particolare architettura circuitale dell’oggetto che deve essere riconosciuto, chiamato ‘tag’ o
‘transponder’. Ogni transponder può essere identificato in modo univoco grazie ad un codice memorizzato nel proprio microchip e può assumere qualunque forma desiderata, essere esposto a condizioni esterne particolari o essere rivestito con il materiale più idoneo al tipo di utilizzo che si vuole fare dell’oggetto su cui il transponder è applicato.
Un transponder può immagazzinare anche una notevole quantità di informazioni, lette e scritte in tempo reale a distanza, in certi casi fino ad alcuni metri. Quest’ultima caratteristica è fondamentale per determinare la superiorità di un transponder RFID rispetto alle carte di accesso a banda magnetica, per le quali è richiesto un contatto fisico tra i due componenti, ed alle smart card, evoluzione di queste ultime, utilizzate per l’accesso a servizi e luoghi riservati. Nonostante per le smart card il lettore non
necessiti di un contatto fisico diretto con l’oggetto da leggere, il quale deve pertanto possedere una memoria ed un’antenna per trasferire il suo contenuto al lettore, la distanza minima obbligatoria tra i due componenti resta però limitata in modo tale da permettere l’interazione di una sola smart card alla volta con il lettore.
Per iniziare ad illustrare in concreto il comportamento di un transponder a RFID si può far riferimento a un tipo primitivo di sistema di identificazione a radiofrequenza: quello di sorveglianza elettronica degli articoli in vendita, o EAS, cioè ‘Electronic Article Surveillance’ Si tratta di dispositivi molto semplici nei quali il transponder è considerato come portatore di 1 bit di informazione; quando vengono a trovarsi nella zona di interrogazione, tali dispositivi si limitano infatti a comunicare soltanto la loro presenza. Simili sistemi possono basarsi su un accoppiamento elettrico oppure su uno induttivo. In questo ultimo caso le due antenne poste all’ingresso dei negozi sono due grandi spire che funzionano come un trasformatore: una genera un campo magnetico e l’altra, che assume il ruolo di sensore, causa l’innesco dell’allarme nel caso in cui vi sia un alterazione della tensione indotta sul secondario dovuta alla presenza di un gruppo LC risonante presente sul transponder che passa tra le due spire.
Il principio di funzionamento di un sistema RFID non è molto differente da quelli appena considerati, ma consente una potenzialità d’impiego notevolmente superiore.
Un sistema RFID è costituito da tag e da un dispositivo rice-trasmettitore dal nome di
‘reader’ che svolge una funzione di riconoscimento. All’interno di ciascun transponder sono contenute le informazioni relative all’oggetto nel quale il tag stesso è collocato;
tali informazioni consistono sempre in un codice identificativo unico e in ulteriori dati utili all’applicazione per la quale si sceglie di utilizzare il sistema RFID. A seconda dell’applicazione alla quale sarà destinato, un transponder viene costruito in modo da avere dimensioni, forma ed abilità specifiche. Di qui la necessità di compiere una sintetica panoramica sulle possibili implementazioni degli elementi fondamentali di un
sistema RFID. Componente imprescindibile dell’architettura di un transponder è un sistema di controllo digitale al quale sono collegati una memoria, un modulatore ed un demodulatore del segnale a radiofrequenza inviato e ricevuto tramite l’antenna. In base al tipo di alimentazione dei componenti attivi del tag è possibile attuare una suddivisione tra tag attivi e tag passivi. L’energia per il funzionamento di un transponder passivo proviene esclusivamente dal lettore, fornita sotto forma di campo elettromagnetico, mentre un tag attivo possiede un’alimentazione indipendente ed è perciò autosufficiente. Nel caso in cui si desideri che il tag abbia piccole dimensioni si deve scegliere un tag passivo, infatti esso, oltre ad essere sprovvisto di una propria alimentazione, ha una memoria non molto capiente, di tipo ROM, cioè predisposta per la sola lettura, oppure EEPROM, che dà la possibilità di scrittura di dati. Nell’esempio di Figura 1 è illustrato un sistema RFID con un tag passivo: il tag ed il reader si scambiano informazioni, ma il tag può farlo solo quando è interrogato dal reader, ricevendo l’alimentazione ed il segnale di sincronizzazione.
Computer
READER
TAG
Data
Energy
Clock
Figura 1 Tipica configurazione di un sistema RFID: il transponder, di tipo passivo, riceve alimentazione e segnale di clock dal reader. In genere un computer centrale si occupa di analizzare i dati ricevuti dal
reader.
Al contrario, un transponder attivo, possedendo una propria alimentazione, sarà di dimensioni più grandi ma potrà coprire maggiori distanze nella comunicazione con il reader ed avrà una memoria riscrivibile abbastanza capiente, di tipo SRAM o EEPROM, ad esempio di dimensioni di qualche Kbit. Il modo in cui un tag attivo comunica con il reader non introduce novità in quello che è definito un tipico sistema di telecomunicazioni con due stazioni radio indipendenti. Sia transponder passivi che attivi trasmettono in range frequenziali di funzionamento standard come 125-134 KHz, oppure le bande intorno a 13.56 MHz e 900 MHz. In genere per i transponder passivi si preferiscono le frequenze più basse rispetto ad un tag attivo, per il quale si possono trovare anche alcuni sistemi che lavorano a 2.4 o 5.8 GHz.. Per i tag con una propria alimentazione la scelta del tipo di modulazione può ricadere su una ASK, FSK o PSK;
viceversa, la maggior parte dei tag passivi devono utilizzare un metodo particolare per comunicare, dal momento che non dispongono di una propria alimentazione: il reader genera continuamente una portante non modulata e osserva se questo segnale è modulato in risposta da un tag; quando un transponder entra all’interno del campo dell’antenna di un reader, non appena riceve sufficiente energia dal campo elettromagnetico dell’onda incidente, un transponder comincia a rispondere al reader con un’onda riflessa attraverso una modulazione di ampiezza o di fase della portante, ricevuta dal reader, mediante variazione del carico visto dall’onda incidente. Tale metodo prende il nome di modulazione di back-scatter. Anche i transponder attivi possono utilizzare tale tipo di modulazione, in modo da risparmiare energia della batteria ed avere così un maggior tempo di funzionamento. Il dato che il transponder comunica immediatamente al reader corrisponde al codice identificativo, lungo 32 o 64 bit, scritto nella memoria al momento della fabbricazione del tag; in un secondo momento il reader può richiedere delle ulteriori informazioni scritte in memoria oppure, nell’eventualità che la memoria del tag sia riscrivibile, aggiungerne delle altre.
Lo schema di Figura 2 rappresenta la struttura di un tipico transponder passivo, nel quale una memoria di tipo EEPROM consente al reader la possibilità di aggiornare il contenuto informativo trasportato dal tag. Come è stato già detto, se tale caratteristica non è desiderata è sufficiente utilizzare una memoria più semplice, di tipo ROM. Il segnale che arriva al tag viene catturato da un’antenna, realizzata con un avvolgimento, alla quale è collegato un condensatore con il compito di accumulare energia necessaria per il funzionamento del tag. Da questa parte più esterna del tag il chip contenente memoria e controllo digitale ricevono un’alimentazione stabile e il segnale di clock attraverso due circuiti integrati. Infine, altri due integrati tra antenna e chip si occupano di modulare o demodulare i segnali di comunicazione.
Modulator
Demodulator Clock
Power supply
Vcc Data_in Data_out Clock
EEPROM
Digital Control
Figura 2 Struttura di un tag passivo su cui è montata una memoria di tipo EEPROM, la quale permette al transponder abilità di lettura e scrittura. Il controllo digitale può essere realizzato mediante un
microprocessore o, nei casi più semplici, con una macchina a stati.
Lo spazio in cui il lettore ed i transponder possono comunicare in modo corretto è definita ‘zona di interrogazione’ (Figura 3). La sua estensione dipende dalla banda frequenziale adottata per comunicare, dall’efficienza dell’antenna utilizzata dal transponder e dalla presenza o meno di un’alimentazione, cioè dal tipo di tag, passivo o attivo. Attualmente un tag attivo operante nel campo delle microonde garantisce zone di interrogazione di estensione fino a quindici metri, mentre uno passivo, alle medie e basse frequenze, non può coprire più di quattro metri. Per molte applicazioni dell’RFID all’interno di una zona di interrogazione possono trovarsi anche alcune centinaia di tag i quali ovviamente non possono comunicare tra loro, ma solo con il reader.
Reader
Tag 2 Tag 3 Tag 1
Tag 4
Zona di interrogazione
Tag 5
Figura 3 Rappresentazione della zona di interrogazione di un reader. Essa è determinata principalmente dalla banda frequenziale utilizzata nella comunicazione e dall’efficienza del transponder in
comunicazione.
Unitamente alla possibilità di lettura a distanza, l’abbattimento dei costi previsto con una diffusione in larga scala dei sistemi RFID lascia immaginare una grande espansione di questa tecnologia, al momento ancora in fase di lancio. I sistemi RFID possono sostituire nei loro impieghi tutti gli altri sistemi visti finora, ma le loro piene potenzialità sono sfruttate in applicazioni finalizzate a gestire inventari o a seguire il percorso di oggetti. Posizionando infatti più lettori nella zona di interesse è possibile monitorare continuamente ogni oggetto a cui sia stato applicato un tag di dimensioni talmente insignificanti da non limitare in alcun modo la libertà d’azione dell’oggetto stesso. L’identificazione degli animali da allevamento e selvatici rappresenta a tal proposito un’applicazione tipica del sistema appena illustrato. Alla luce degli ultimi problemi sorti con le infezioni di origine animale che stanno contagiando l’uomo si è progressivamente andata intensificando la necessità di effettuare controlli più stringenti su tutti i capi e non più su un campione. Impiantato su ogni animale, un transponder può immagazzinare le informazioni relative alla provenienza, all’età ed alle caratteristiche di quest’ultimo e permettere di individuare in modo tempestivo l’origine di eventuali malattie. La forma e la dimensione di un tag, come si vede dalle due fotografie in figura 4, presentano caratteristiche di grande versatilità; ciò consente di applicare all’oggetto o all’animale il tag a lui più confacente.
Un altro campo nel quale i transponder sono già molto sfruttati è l’automazione industriale. Nelle normali catene di montaggio la produzione di una grande quantità di prodotti di fatto identici non permette di differenziare l’offerta e di rispondere a specifiche richieste dei clienti; i prodotti con particolari caratteristiche che hanno origine da percorsi diversi di una catena di montaggio richiedono attualmente tempi di attesa molto lunghi. Tale problema particolarmente sentito riesce a trovare una soluzione mediante l’utilizzo dei transponder a RFID: installato su ogni telaio, il tag ha la capacità di contenere al suo interno quelle che saranno le caratteristiche del prodotto
finito desiderato, in questo caso un’auto, e di indicare alle macchine, in ogni fase della lavorazione, le operazioni che devono essere svolte. Utilizzando tag con una memoria scrivibile, le operazioni da praticare sull’oggetto possono essere scritte direttamente senza coinvolgere un sistema centrale di controllo e risultare particolarmente utili in caso di improvvisi problemi durante la lavorazione. Il controllo sulla qualità di ogni oggetto può inoltre essere eseguito in ogni fase della lavorazione ed ogni eventuale risultato negativo essere attribuito con certezza ad un preciso momento di quest’ultima.
La tecnologia RFID può essere impiegata anche per rendere più efficiente il trasporto stradale e ferroviario, mediante il monitoraggio delle merci durante il loro percorso.
Dotando ogni carico di un transponder ed ogni stazione di passaggio di un lettore, si ha la possibilità di essere continuamente aggiornati sulla posizione della merce. Sempre nel settore dei trasporti, lo smistamento dei bagagli può avvenire grazie ad un sistema RFID, in modo automatico, applicando su ogni bagaglio un tag con informazioni su provenienza e destinazione. Da quanto detto è ragionevole immaginare che i benefici di risparmio, oltre che di sicurezza, superino i costi sostenuti per introdurre questa innovazione. Nelle manifestazioni sportive, ad esempio nelle maratone, in cui i partecipanti possono essere anche alcune migliaia, l’utilizzo di un transponder per ciascun atleta darebbe una notevole precisione nella valutazione del tempo impiegato per portare a termine la prova. In campo medico, si può immaginare che in futuro un sensore abbinato ad un transponder, posto in modo non invasivo in una specifica parte del corpo, possa monitorare continuamente i valori di un parametro d’interesse. Altri luoghi di enorme potenzialità di applicazione della tecnologia RFID sono i magazzini, i supermercati e le biblioteche. Considerato che il costo di un tag prodotto in larga scala è molto basso, è verosimile pensare di dotare ogni prodotto, o ogni libro, di un tag identificativo. In tal modo, grazie ad antenne predisposte al monitoraggio di tutto lo spazio all’interno di uno dei suddetti luoghi, l’inventario dei prodotti, o il catalogo dei
libri, risulterà continuamente aggiornato e buona parte dei precedenti costi di gestione verranno ad essere annullati. Anche le operazioni di acquisto sarebbero facilitate: in un supermercato, ad esempio, il cliente otterrebbe il calcolo dell’importo della merce acquistata semplicemente passando con il proprio carrello accanto al lettore.
Come già visto, in alcune applicazioni dell’RFID il reader deve avere l’abilità di leggere il contenuto di molti tag che si trovano nella sua zona di interrogazione. Dal momento che il reader non ottiene alcuna informazione utile se più transponder sovrappongono le loro comunicazioni, si rende necessaria una procedura di lettura, in momenti differenti, del contenuto di ogni transponder. Tale procedura prende il nome di tecnica di anti-collisione e le sue molteplici implementazioni possibili saranno l’oggetto di studio dei prossimi capitoli. Il problema a cui si dovrà trovare soluzione consiste nel cercare algoritmi di lettura il più veloce possibile compatibilmente con le ridotte capacità di logica del tag. Oltre alle limitazione dovute alla mancanza di un’alimentazione sul tag ed alla necessità di mantenere per quest’ultimo dimensioni ridotte, aspetti entrambi che comportano una riduzione al minimo delle capacità di calcolo e di memoria, la mancanza di conoscenza, da parte del lettore, del numero di tag che partecipano al processo di lettura è un ulteriore fattore di complicazione. Ne deriva che l’algoritmo deve essere predisposto ad essere veloce qualunque sia il numero di tag coinvolti, cioè deve possedere la caratteristica di scalabilità. Per quanto riguarda l’analisi dei vari algoritmi tratteremo il reader come un dispositivo senza problemi di calcolo né di consumo. Tale ipotesi può essere fatta a ragion veduta in quanto il reader consiste di un dispositivo fisso che possiede un microprocessore ed una capacità di memorizzazione in grado di sopportare senza problemi anche gli algoritmi di lettura più complicati. Scopo dell’algoritmo di anti-collisione è acquisire tutti i codici dei transponder che si trovano nella zona di interrogazione ed eventualmente sfruttare la possibilità di indirizzarli in modo selettivo, nel caso in cui essi contengano altre
informazioni di interesse. Nei prossimi due capitoli sarà presenta un’ampia panoramica sugli algoritmi che possono essere impiegati per risolvere il problema dell’ anti- collisione utilizzati in un sistema RFID, a partire da soluzioni molto semplici, a beneficio della complessità circuitale del tag ma a discapito della rapidità di lettura, fino a protocolli più veloci che richiedono tag capaci di compiere operazioni di una certa intelligenza. Alcuni algoritmi sono stati ideati ben prima della nascita dell’RFID per risolvere il medesimo problema di trasmissione senza collisioni nei sistemi di accesso multiplo. In tali sistemi, composti da una stazione radio centrale e da molte stazioni che al passare del tempo generano messaggi da inviare alla centrale, sono state adottate principalmente tre idee risolutive. La prima, che conduce alla procedura chiamata ‘Aloha’, basa il proprio funzionamento su un generatore casuale, posto su ogni tag e con la funzione di determinare il momento in cui il tag deve trasmettere e ripetere la trasmissione se il messaggio inviato è stato coinvolto in collisione con altri.
Adattando questi protocolli al caso dell’RFID molti sono i tipi di procedura Aloha creati, dalla versione base fino a quella più elaborata utilizzata nello standard ISO 18000; il funzionamento e le prestazioni di ciascuna suddetta procedura sarà spiegato in dettaglio nel primo capitolo. La seconda idea sfrutta i codici dei transponder presenti alla lettura per indicare all’algoritmo quale direzione intraprendere; tale procedura ha il nome di algoritmo ‘ad albero’ e nel corso della presente ricerca verrà spesso indicato con l’inglese ‘Tree algorithm’. Anche l’ultima soluzione assume una denominazione simile, ma la costruzione dell’ ‘albero’ è casuale in quanto non utilizza il codice ma un generatore casuale posto su ogni transponder. Il ruolo svolto da questo componente però è totalmente diverso da quello utilizzato nell’Aloha poiché durante lo svolgimento dell’algoritmo il numero estratto serve per tutti altri scopi che indicare il momento esatto in cui deve avvenire la trasmissione. Inoltre, in tutti i protocolli che verranno analizzati nel secondo capitolo della presente tesi vi è un continuo scambio di
informazioni dalla stazione centrale a quelle che partecipano al processo, una simile scambio è presente anche in alcuni protocolli Aloha ma utilizzato in momenti e con scopi differenti. Nel secondo capitolo saranno analizzati sia i protocolli ‘ad albero’ sia altri algoritmi pensati specificamente per l’RFID, in grado di indirizzare l’algoritmo mediante la medesima intensa comunicazione e di determinare l’utilizzo del codice del tag in modo differente da come avviene in quelli ‘ad albero’. Tali protocolli, esaminati tutti insieme nel secondo capitolo, verranno indicati con la denominazione comune di
‘protocolli deterministici’. Tale appellativo nasce dal fatto che, a differenza di quasi tutti i protocolli Aloha presi in esame, essi consentono di conoscere con certezza il momento in cui la totalità dei codici dei tag presenti sono stati acquisiti. Due tra i protocolli presi in esame, uno analizzato nel capitolo dedicato all’Aloha ed uno in quello occupato dalla riflessione sui protocolli deterministici, sono descritti nello standard ISO 18000. Relativamente a tale tecnologia la continua ricerca di soluzioni sempre più efficienti se, da un lato, rappresenta un aspetto importante, dall’altro, può pregiudicare la diffusione del prodotto. Si rende pertanto necessaria un’opera di standardizzazione di alcuni parametri fondamentali per permettere la compatibilità tra sistemi creati dai differenti produttori e così incoraggiare la crescita del mercato dell’RFID. L’ISO 18000 è uno tra gli standard proposti, detta regole per il formato dei dati, per il protocollo di comunicazione tra reader e tag in cui sono compresi anche i due algoritmi di anticollisione, per le abilità del tag e per la banda di frequenza, nello specifico la UHF.
Le prestazioni di ogni protocollo, tenendo conto del fatto che un’analisi teorica può essere condotta solo su un numero esiguo di protocolli e che pertanto non è capace di fornire dati esaustivi, sarà sempre valutata facendo ricorso ad una simulazione Monte Carlo del sistema. Il linguaggio scelto per scrivere il programma che realizza la simulazione è il C++. All’interno del primo capitolo dedicato all’Aloha saranno
presentati tutti i possibili protocolli, dalla versione più semplice alle evoluzioni più complicate, nel secondo capitolo saranno descritti i protocolli deterministici. Nel terzo ed ultimo capitolo, infine, dopo un riassunto ed un confronto tra i protocolli Aloha e deterministici, si cercherà di stabilire secondo un criterio qualitativo quali protocolli, tra quelli esaminati, sono da preferire se le caratteristiche desiderate sono la velocità di lettura oppure la semplicità dell’architettura.