Caratteristiche, struttura e funzionalità dei transponder UHF EPC Class1 Gen2
Tecnologia |
RFID UHF passiva (868 MHz) | |
Data/Revisione |
Febbraio 2014 / rev. 1.0 | |
Riferimenti |
Transponder RFID Passivi |
Aree di memoria
I transponder UHF EPC Class1 Gen2 possono avere 4 banchi di memoria
EPC Memory
Contiene il codice EPC del transponder, la cui lunghezza è impostabile all’interno della relativa memoria; per default è ad oggi di 12 byte. In dettaglio, essa contiene:
- Un CRC di 16 bit calcolato su PC (Protocol Control) ed EPC; attualmente è il complemento a 1 del valore calcolato con il comune algoritmo CRC16.
- Un Protocol Control (PC) a 16 bit così composto:
- 5 bits che indicano la lunghezza di PC + EPC
- 2 bits RFU (002)
- 9 bits di Numbering System Id (NSI), che può contenere un header EPC Global, oppure un AFI come definito nello standard ISO 15963
- Un EPC (Electronic Product Code), identificativo dell’oggetto che il tag deve identificare.
Per quanto riguarda l’accesso alla memoria:
- Memoria non protetta da password di Access: in questo caso, essa è sempre leggibile e scrivibile.
- Memoria protetta da password di Access: può sempre essere letta, mentre può essere scritta solo tramite password.
- Memoria protetta da password di Access permanentemente: non è più possibile riscriverla neppure tramite password.
User Memory
Permette di inserire informazioni generiche nel transponder. È opzionale e può contenere i dati specifici assegnati ed organizzati dall’utente. Per quanto riguarda l’accesso alla memoria:
- Memoria non protetta da password di Access: sempre leggibile e scrivibile.
- Memoria protetta da password di Access: solo in scrittura, può sempre essere letta.
Reserved memory
Quest’area di memoria contiene le password per il tag:
- Una password di “Kill” a 32 bit che permette di rendere il tag permanentemente inutilizzabile. Il suo valore di default è zero. Il relativo comando “Kill” può solo essere eseguito se questa password è stata settata, cioè non è quella di default.
- Una password di “Access” a 32 bit che permette di impostare il tag in uno stato “sicuro”, cioè i suoi blocchi di memoria possono essere acceduti in scrittura tramite la password di access. I comandi di “Access” possono essere sempre eseguiti, sempre tramite password.
Per quanto riguarda l’accesso alla memoria:
- Memoria non protetta da password di Access: sempre leggibile e scrivibile senza necessità di fornire alcuna password.
- Memoria protetta da password di Access: accesso consentito in lettura e scrittura tramite la password di Access. Si possono quindi leggere e modificare le due password utilizzando quest’ultima.
- Memoria protetta da password di Access permanentemente: accesso negato in lettura neppure fornendo la password di Access.
TID memory
Di sola lettura, contiene informazioni necessarie per l’identificazione del transponder come codice del produttore, modello del chip e, su alcuni modelli, un seriale univoco. In dettaglio, essa contiene:
- Un Allocation Class Identifier (AC) a 8 bit (che per i tag EPCGlobal ha valore 0xE2)
- Un Tag Mask-Designer Identifier a 12 bit
- Un Tag Model Number a 12 bit
- Il produttore può includere altre informazioni, tra cui per esempio un Serial Number.
[learn_more caption=”La Memoria TID in dettaglio – Clicca qui” state=”close”]
Il codice TID (Transponder ID) identifica il modello del chip ed il produttore. Esso è scritto al momento della produzione e reso non riscrivibile. Può opzionalmente includere una parte seriale per identificare univocamente il chip. Solo alcuni dei maggiori produttori di tag Gen-2 effettuano la serializzazione del codice TID.
Questa memoria è così composta:
- 32 bit (2 blocchi = 4 Byte) di TID ISO contenenti l’ISO Identifier and Manufacturer Code. Questa parte è obbligatoria e presente in tutti i transponder.
- Opzionale UID serializzato di lunghezza variabile a seconda del produttore
- Opzionali 96 bit (6 blocchi = 12 Byte) di Device Configuration.
Leggendo la memoria TID dei transponder e indicando opportunamente i byte da leggere, è possibile vedere anche la memoria “Device Configuration”. Si può notare che alcun byte variano tra due diverse letture. Tuttavia questo è un comportamento normale, poiché in questa area di memoria, direttamente controllata dal tag, sono presenti informazioni di configurazione e di stato, che possono variare tra lettura successive.
Lo scopo del codice TID dei tag EPC è di identificare il tipo di chip, con i possibili comandi custom e funzionalità opzionali che esso supporta. Per espletare questa funzione, non è necessario che esso sia univoco. Inoltre, il formato del codice TID dei tag EPC non richiede la serializzazione. Quando esso è integrato con un Serial Number univoco, come nel formato ISO 15963, esso identifica univocamente il chip.
La parte TID ISO presente in tutti i transponder, inizia con un identificatore a 8 bit chiamato Allocation Class (AC) come da standard ISO/IEC 15963. Questo standard descrive il meccanismo per garantire l’univocità del codice TID ed attualmente 4 organizzazioni hanno assegnato un AC identifier. L’AC per l’EPCGlobal è 111000102=E2h.
Per i tag con AC 0xE2, lo standard EPC C1 G2 richiede che la memoria TID comprenda un identificatore a 12 bit chiamato “Tag Mask-Designer IDentifier” (Tag MDID), ed un identificatore a 12 bit chiamato “Tag Model Number”. Inoltre, la memoria TID può contenere dati specifici assegnati dal produttore, come un Serial Number. Il contenuto della memoria TID come definito dallo standard EPC è mostrato in figura.
In futuro lo standard dovrebbe rendere il blocco in scrittura del codice TID obbligatorio, e definire delle specifiche per la serializzazione dei codici TID. Ciò dovrebbe essere fatto con un codice TID esteso (XTID, Extended Tag Identification Number), che amplia l’attuale formato TID con un Serial Number di 48 bit (o più), ed informazioni circa le funzioni implementate dal tag. Anche se i produttori dei chip possono optare per una versione non serializzata, il nuovo standard dovrebbe portare all’adozione globale di questa nuova TID serializzata.
▲[/learn_more]
[learn_more caption=”Specifiche tecniche per tipo di chip e produttore – Clicca qui” state=”close”]
Chip type |
TID |
Suddivisione della memoria |
|||
Alien = 0x003 |
|||||
HIGGS3 | E2 00 34 12 | EPC Memory | 96 bit estendibile fino a 480 (1) | ||
TID Memory | 64 bit unique non modificabile | ||||
User Memory | 512 bit | ||||
Reserved Memory | 32 bit Access Password, 32 bit Kill Password | ||||
(1)Se si estende la EPC oltre i 96 bit, viene utilizzata la memoria User che di conseguenza si riduce. La riduzione delle memoria User avviene con granularità di 4 blocchi ossia di 8 byte. Quindi, aumentando di 2 byte (non sono possibili EPC con numero di byte dispari) il codice EPC questo passa da 12byte (96 bit) a 14 byte e la memoria User si riduce in ogni caso di 8 byte e passa da 64 byte (512 bit) a 56 byte. L’aumento della memoria EPC accorcia la User Memory partendo dal fondo quindi, se si hanno 64 byte di User Memory iniziale e si scrivono gli ultimi 8 byte (4 blocchi) in fondo, se si aumenta di 2 byte la EPC, la User si riduce di 8 byte e si perdono questi ultimi in fondo. | |||||
HIGGS4 | E2 00 34 14 | EPC Memory | 128 bit (1) | ||
TID Memory | 64 bit unique non modificabile | ||||
User Memory | 128 bit (1) | ||||
Reserved Memory | 32 bit Access Password, 32 bit Kill Password | ||||
(1)Esistono due aree separate di memoria EPC e memoria User, entrambe di 128 bit. Quindi entrambe possono essere utilizzate con 128 bit di dimensione contemporaneamente (EPC non estensibile tramite l’incapsulamento di una parte della memoria User). | |||||
HIGGS2 | E2 00 34 11 | Impostando: Map 0 seriale unico di 4 byte; Map 1 64 byte di User | |||
Impinj = 0x001 |
|||||
ImpinJ Monza | E2 00 10 xx | ||||
ImpinJ Monza 2 | E2 00 10 71 | ||||
ImpinJ Monza 3 | E2 00 10 93 | 4 byte TID | |||
ImpinJ Monza 4 QT | E2 80 11 05 | Public Mode TID 32 bit: Chip information (cod. Produttore e modello = E2 80 11 05) EPC Public 96 bit (12 byte): Questo è ri-mappato dalla posizione in cui si trova in TID (dopo i 96 bit di TID in private) User Memory non visibile Reserved Memory: 4 byte Access PW, 4 byte Kill PW |
|||
Private Mode TID 96 bit + 96 bit composta da:
|
|||||
ImpinJ Monza 4 U | E2 80 11 04 | User Memory 512 bit TID 48 bit seriale + 16 bit TID header EPC 128 bit (16 byte) Reserved Memory: 4 byte Access PW, 4 byte Kill PW |
|||
ImpinJ Monza 4 E | E2 80 11 0C | User Memory 128 bit TID 48 bit seriale + 16 bit TID header EPC 496 bit (62 byte) Reserved Memory: 4 byte Access PW, 4 byte Kill PW |
|||
ImpinJ Monza 4 D | E2 80 11 00 | User Memory 32 bit TID 48 bit seriale + 16 bit TID header EPC 128 bit (16 byte) Reserved Memory: 4 byte Access PW, 4 byte Kill PW |
|||
ImpinJ Monza 5 | E2 80.11 30 | ||||
ImpinJ Monza ID | E2 00 10 61 | ||||
NXP = 0x006 |
|||||
NXP U-CODE G2XL | E2 00 60 04 | TID Memory: 32 bit Identificativo Chip, 32 bit Unique Serial Number Reserved Memory: 64 bit EPC Memory: 240 bit |
|||
NXP U-CODE G2XM | E2 00 60 03 | TID Memory: 32 bit Identificativo Chip, 32 bit Unique Serial Number Reserved Memory: 64 bit EPC Memory: 240 bit User Memory: 512 bit |
|||
Sia per G2XM che per G2XL: EPC, User possono essere protette (permanente o no) solo in scrittura e possono essere lette senza password. Esiste un comando custom chiamato “Read Protect Command” che, se attivato, impedisce la lettura di tutta la memoria del tag (EPC, User, Reserved e TID). Quando Read Protect è attivato, il tag non viene proprio identificato neppure dall’inventory. Si deve eseguire il comando “Reset Read Protect” con pasword per risvegliarlo (resetta tutte le password eventualmente impostate). | |||||
NXP U-CODE G2iM | E2 00 68 0A | TID Memory: 96 bit (including permalocked unique 48 bit serial number; 16bit unalterable XTID-header); 112 bit User TID EPC Memory: 256 bit User Memory: 512 bit Reserved Memory: 32 bit access pw, 32 bit kill pw |
|||
NXP U-CODE G2iM+ | E2 00 68 0B | TID Memory: 96 bit (including permalocked unique 48 bit serial number; 16bit unalterable XTID-header); 112 bit User TID EPC Memory: 128 bit up to 448 bit User Memory: 320 up to 640 bit Reserved Memory: 32 bit access pw, 32 bit kill pw |
|||
NXP U-CODE G2iL | E2 00 68 06 | TID Memory: 32 bit TID ISO + 32 bit unique serial number Reserved Memory: 64 bitEPC: 128 bit |
|||
NXP U-CODE G2iL+ | E2 00 68 07 | TID Memory: 64 bit che include 32 bit TID ISO + 32 bit unique serial number Reserved Memory: 64 bit EPC Memory: 128 bit |
▲[/learn_more]
You must be logged in to post a comment.