RFID: mettiamoci le mani sopra!

Communications

Nel corso dell'ultimo anno abbiamo parlato più volte delle tecnologie Near Field Communication. Le abbiamo affrontate dal punto di vista tecnico, abbiamo visto per che cosa possono essere utilizzate anche in ambito umanitario. Adesso, però, è finalmente arrivato il momento di metterci le mani sopra e vedere come funziona davvero una scheda pensata e realizzata per mettere in funzione un sistema basato su RFID. Inoltre sarà possibile alimentare la scheda direttamente da un telefono NFC che supporti lo standard ISO/IEC 15693 con Android.

L'articolo di oggi serve a darvi un'idea, relativamente, precisa di come funziona questa tecnologia anche in funzione del tipo di dispositivo che avete a disposizione. Quello che analizziamo oggi è un kit di sviluppo molto interessante perché è composto da una scheda dimostrativa che presenta a bordo un transceiver a Radio Frequenza (CR95HF) e la M24LR-Discovery. Quest'ultima è una scheda non alimentata che riesce a prelevare tutta la tensione di polarizzazione di cui ha bisogno dall'RFID reader oppure, eventualmente, da un telefono (NFC compliant) che supporti lo standard ISO/IEC 15693.
La scheda include l'M24LR04E, una EEPROM Dual Interface, e la STM8L, una MCU da 8 bit che presenta come principale vantaggio, ed aspetto più interessante, un bassissimo consumo di potenza.

Il transceiver RFID CR95HF, invece, viene montato sulla seconda scheda unitamente ad una MCU decisamente più performante, l'STM32 a 32 bit. Questo la rende una scheda estremamente utile per fare diversi esperimenti.
Questa caratteristica, unitamente al supporto dello standard 15693, vi permetterà certamente di fare diversi esperimenti utilizzandola con qualunque dispositivo Android NFC compliant. Ma lo vedremo meglio tra poco.

La scheda si presenta in una confezione estremamente minimale, come mostra l'immagine seguente, e tutto quello che vi serve in termini di documentazione, schemi elettrici, software e firmware è reperibile direttamente dal sito.

Gli schemi elettrici

Quello che abbiamo detto finora serve certamente ad introdurre la dotazione hardware ma questo discorso non può dirsi esaurito fin tanto che non si sia esaminato lo schema elettrico di entrambe. Vediamoli, allora, nel dettaglio.

CR95HF

Dividiamo questa foto in due per farvi vedere il connettore JTAG, quello USB, il pulsante di Reset, la MCU, il relativo quarzo e tutta l'elettronica di controllo

e l'antenna vera e propria

Ecco, qui di seguito, lo schema di interfacciamento  e configurazione del CR95HF:

(fai click sull'immagine per ingrandire)

Questo schema è abbastanza chiaro ed evidenzia chiaramente tutte le parti essenziali per il funzionamento e la rilevazione: l'alimentazione (che viene dall'USB), i pin di interfaccia e l'antenna, con annessi componenti di adattamento, ed i condensatori di bypass.

M24LR

Per quanto riguarda, invece, il "tag", questo è decisamente più interessante, soprattutto dal punto di vista tecnologico. Esso si presenta (esteticamente) come riportato qui di seguito:

e gli schemi elettrici annessi sono i seguenti. Il primo che riportiamo è lo schema di collegamento dell'LCD.

Questo risulta molto utile per visualizzare le informazioni, in questo caso, a seconda, come vedremo, della modalità operativa impostata per la scheda. In generale, un tag dotato di un LCD può resitituire una serie di utili informazioni che rendono il sistema certamente più user-friendly (oltre a permettere di fare debug molto velocemente).

Successivamente riportiamo l'MCU, nel cui schema è evidente la presenza del connettore CN1. In realtà sono presenti 3 distinti connettori ed 1 Jumper, del quale parleremo più avanti. Il connettore CN1 permette di interfacciarsi direttamente con l'MCU per accedere ai pin di Reset e OSC IN.

CN2, invece, serve a prelevare, eventualmente, una tensione esterna. Questo connettore in realtà non è necessario che sia fisicamente collegato dal momento che, come detto, la scheda si auto-alimenta. Ed a tal proposito, l'alimentazione vien fuori dall'antenna stessa. L'uscita analogica dell'antenna "produce" una tensione analogica; quando Vout è effettivamente disponibile vuol dire che l'antenna è in modalità Energy Harvesting e l'intensità del segnale RF è sufficiente. Se la modalità è disabilitata, oppure il campo non è sufficientemente intenso, Vout è nello stato ad alta impedenza. Se volete approfondire il funzionamento dell'antenna, vi consigliamo la lettura del datasheet del componente.

CN3, invece, è il connettore per l'interfacciamento del tag mediante protocollo I2C.

Il lato software

Lo diciamo adesso e vale anche per il prosieguo della lettura: se volete fare esperimenti con questa scheda vi servirà certamente tutto il software disponibile presso questo indirizzo; qui troverete una serie di programmi, oltre che tutti i riferimenti del caso, grazie ai quali potrete effettuare diversi test.

L'intera dotazione software è abbastanza vasta e si compone, tra gli altri, di:

  • STSW-M24LR004, il tool di sviluppo per la DEMO-CR95HF-A board;
  • STSW-M24LR007, un altro pacchetto software per la DEMO-CR95HF-A;
  • STSW-M24LR011, il file di installazione per il software che gestisce le applicazioni M24LR/CR95;
  • STSW-M24LR012, un codice di esempio per il lettore Nfcv che dialoghi con Android;
  • STSW-M24LR013, software di calcolo per l'antenna che supporta l'AN2972;
  • STSW-M24LR014, un software di sviluppo semplificato per il calcolo dell'induttanza dell'antenna;
  • STSW-M24LR016, il firmware della scheda M24LR.

Ovviamente sono "tutti da scoprire"; per il momento, però, mettiamo semplicemente in funzione la scheda.

Per poterla adoperare, la prima cosa è osservare che il jumper denominato JP1 sul "tag" sia posizionato correttamente, ovvero sulla destra. Dovrebbe essere già così ma controllatelo perchè l'altra modalità serve per la programmazione.
Una volta fatto questo, sarà necessario connettere la scheda di sviluppo ad una porta USB, non necessariamente quella di un computer (se non volete programmare).
Per poterla utilizzare, sarà necessario installare ed eseguire l'applicazione "M24LRxx_Application_Software" e selezionare CR95HF DEMO KIT all'apertura del programma.
Eccone un'immagine

a questo punto, selezionando le opzioni NDEF per poter controllare i tag e verificare i messaggi e Demo, abiteremo la scrittura e visualizzazione di quello che è contenuto nel tag.
Dopo aver scritto, ecco il risultato:

(fai click per ingrandire)

Bene, ora che la scheda ci si è affezionata e fa' il tifo per la nostra comunità, andiamo, brevemente a vedere quali sono le tre distinte modalità di funzionamento previste dal tag:

  1. mostra un messaggio di testo che è stato memorizzato all'interno della EEPROM Dual Interface;
  2. mostra la tensione interna della scheda M24LR;
  3. mostra la temperatura ambiente misurata dal sensore disponibile a bordo della scheda;

Nel funzionamento la prossimità è la chiave per risolvere la comunicazione. Come abbiamo detto più volte, non è quasi per nulla importante che cosa venga comunicato, quello che è importante è stabilire la comunicazione. Le informazioni possono essere semplici stream di bit identificativi di un prodotto oppure, come in uno dei casi visti, la temperatura rilevata da un sensore.

Ma "prossimità" è sinonimo di vicinanza e pertanto la domanda più spontanea che viene da farsi e "quanto vicino?"

La risposta non è così banale. In generale è vero che più vicino ci troviamo, più sicuri saremo del fatto che la comunicazione sarà andata a buon fine. In questo caso specifico stiamo parlando di un'autonomia di un paio di centimetri (misurati).

In linea generale, ovvero cercando di allontanarci dal caso specifico, più o meno l'ordine di grandezza è lo stesso. Ovviamente, poi, dipenderà caso per caso ma specie quando il tag non è alimentato ma deve fare energy harvesting non si può chiedere di più.

In questo specifico caso succede che, non appena si superano i 2 cm, la temperatura non viene letta più mentre il valore di tensione presente scende al di sotto dei 3 V, in particolare arriva a 2,8 V, ed appena dopo la scheda non era più rilevata.

Altra questione fondamentale è quella dei tempi, ovvero: quanto tempo bisogna far durare questa "esposizione" per essere sicuri che la comunicazione vada a buon fine? La risposta è piuttosto rassicurante dal momento che, in questo caso, si parla di tempi inferiori al secondo, un intervallo temporale abbastanza ragionevole considerato che si tratta di un tempo relativamente standard per svolgere operazioni simili.

Immaginiamo quanto tempo ci vuole per effettuare una scansione di un codice a barre piuttosto che passare un badge in prossimità del suo lettore di riferimento. Stiamo parlando di esempi che dimostrano che tempi inferiori al secondo o eventualmente anche pari al secondo, sono comunque accettabili.

Usi e destinazione

Come dicevamo in apertura, il dispositivo può facilmente comunicare con smartphone o altri devices Android che siano NFC compliant. La documentazione è facilmente reperibile a questo link.
Le operazioni possibili sono sia di lettura sia di scrittura ed i tipi di dati che possono essere trasferiti sono:

  • data logging;
  • temperatura;
  • grafici 2-D;
  • variabili statistiche;
  • variazione di impostazioni quali frequenza di acquisizione oppure opzioni di sovra-scrittura.

Una volta in funzione, il dispositivo può essere accoppiato e comunicare con una scheda multi-sensori, la STEVAL-IPR002V1. Questa permette il download dei dati da ciascuno dei sensori e mostra l'andamento delle variabili misurate su sei distinti grafici temporali.
Tra le funzioni principali non manca una funzione di start/stop dell'acquisizione.

Ovviamente esistono anche altre soluzioni, commercialmente disponibili, con diverse proprietà interessanti.
L'utilizzo, ma soprattutto il tempo e lo sviluppo, restituiranno certamente un panorama completo di tutte le possibilità. Si tratta di una tecnologia, come abbiamo avuto modo di dire, ancora in evoluzione e che non ha ancora espresso il suo pieno potenziale.

Per mettere in comunicazione la scheda ed il dispositivo la procedura è standard e prevede l'abilitazione dell'NFC all'interno delle impostazioni del dispositivo, l'accesso all'app NfcV-reader, l'avvicinamento dell'antenna al dispositivo e, a quel punto, dovrebbe essere tutto pronto per la lettura del messaggio di testo memorizzato sulla scheda.

Conclusioni

Bene, per oggi è tutto. Abbiamo visto finalmente che cosa vuol dire lavorare su una comunicazione contact-less per comunicare informazioni che variano dinamicamente, quanto tempo ci vuole per instaurare una comunicazione, come funzionano questi sistemi anche quando devono effettuare dell'energy harvesting per poter lavorare in maniera corretta, a che distanza possono lavorare e che cosa succede quando la superano. Questo era un caso apparentemente molto semplice ma che nasconde tutta la complessità che queste tecnologie riescono a mettere in campo e pertanto noi lo consideriamo molto rappresentativo.

Di certo non c'è davvero limite alle potenzialità che le NFCs possono dimostrare e rimaniamo convinti che, nel prossimo futuro, se solo daremo loro la possibilità di esprimersi, ne vedremo delle belle.

 

Quello che hai appena letto è un Articolo Premium reso disponibile affinché potessi valutare la qualità dei nostri contenuti!

 

Gli Articoli Tecnici Premium sono infatti riservati agli abbonati e vengono raccolti mensilmente nella nostra rivista digitale EOS-Book in PDF, ePub e mobi.
volantino eos-book1
Vorresti accedere a tutti gli altri Articoli Premium e fare il download degli EOS-Book? Allora valuta la possibilità di sottoscrivere un abbonamento a partire da € 2,95!
Scopri di più

5 Comments

  1. Giorgio B. Giorgio B. 18 luglio 2013
  2. Piero Boccadoro Piero Boccadoro 19 luglio 2013
  3. Emanuele Emanuele 19 luglio 2013
  4. Piero Boccadoro Piero Boccadoro 21 luglio 2013
  5. Piero Boccadoro Piero Boccadoro 21 luglio 2013

Leave a Reply

Raspberry Pi 3 GRATIS! (Win10 compatibile)

Fai un abbonamento Platinum (EOS-Book + Firmware), ricevi in OMAGGIO la RASPBERRY 3, inviaci il tuo progetto e OTTIENI IL RIMBORSO