Avançat

Codificació d'etiquetes i memòria EPC

Domineu l'arquitectura de memòria d'etiquetes i la codificació GS1 per a la integració de la cadena de subministrament

Els 4 bancs de memòria

Cada etiqueta EPC Gen2 té exactament 4 bancs de memòria, cadascun amb un propòsit específic. Entendre aquesta estructura és essencial per codificar, llegir i protegir les vostres etiquetes.

Banc 00 (Reservat): Conté la contrasenya Kill de 32 bits i la contrasenya d'accés de 32 bits. Els valors predeterminats són 0x00000000. La contrasenya de kill desactiva permanentment l'etiqueta quan s'envia. irreversible. La contrasenya d'accés bloqueja els bancs de memòria per evitar escriptures no autoritzades.

Banc 01 (EPC): Conté StoredCRC (16 bits, calculat automàticament), StoredPC/Control de protocol (16 bits, indica la longitud de l'EPC i les capacitats de l'etiqueta) i el valor de l'EPC en si mateix. normalment 96 bits (12 bytes) per a SGTIN-96. Algunes etiquetes admeten EPC de 128 bits o fins i tot de 496 bits.

Banc 10 (TID): Identificador d'etiqueta programat de fàbrica. Conté el codi del fabricant del xip, el número de model i un número de sèrie únic. Aquest banc és de només lectura i mai es pot canviar. cosa que el fa inestimable per a la lluita contra la falsificació i l'autenticació d'etiquetes.

Banc 11 (Usuari): Emmagatzematge addicional opcional. La mida varia segons el xip: NXP UCODE 9 té 0 bits (sense memòria d'usuari), Quanray QStar-7U té 512 bits (64 bytes). Utilitzeu-lo per a números de lot, dates d'inspecció, llindars de temperatura o registres de manteniment. Comproveu sempre la capacitat disponible abans d'escriure.

Codificació SGTIN-96. Pas a pas

SGTIN-96 és l'esquema EPC més utilitzat. Codifica un GTIN-14 (el codi de barres del vostre producte) més un número de sèrie únic en exactament 96 bits (12 bytes). Això permet fins a 274.000 milions de números de sèrie únics per tipus de producte.

L'estructura de 96 bits: Capçalera (8 bits, sempre 0x30 per a SGTIN-96) → Filtre (3 bits: 0=tots, 1=POS, 2=caixa completa, 3=reservat, 4=paquet interior, 5=reservat, 6=càrrega unitària, 7=component) → Partició (3 bits: defineix com es divideixen els bits entre el prefix de l'empresa i la referència de l'element) → Prefix de l'empresa (20–40 bits) → Referència de l'element (4–24 bits) → Número de sèrie (38 bits).

El valor de partició (0–6) determina la longitud del prefix de l'empresa: P=0 → prefix de 40 bits (12 dígits), P=1 → 37 bits (11 dígits), P=2 → 34 bits (10 dígits), P=3 → 30 bits (9 dígits), P=4 → 27 bits (8 dígits), P=5 → 24 bits (7 dígits), P=6 → 20 bits (6 dígits). La longitud del prefix de la vostra empresa GS1 determina quin valor de partició utilitzar.

💡

Utilitzeu l'eina Nextwaves TDS RFID Converter a /tools/tds-rfid-converter per codificar i descodificar valors SGTIN-96 de manera interactiva. Introduïu el vostre GTIN-14 + sèrie i obteniu l'EPC hexadecimal a l'instant.

SGTIN-96 Bit Structure
┌────────┬──────┬─────┬──────────────┬──────────────┬──────────────┐
│ Header │Filter│Part │Company Prefix│Item Reference│   Serial     │
│ 8 bits │3 bits│3bits│  20-40 bits  │   4-24 bits  │   38 bits    │
│  0x30  │ 0-7  │ 0-6 │  GS1 prefix  │  product ref │  unique ID   │
└────────┴──────┴─────┴──────────────┴──────────────┴──────────────┘

Partition table (defines prefix/item bit allocation):
P=0: 40-bit prefix (12 digits)  P=4: 27-bit prefix (8 digits)
P=1: 37-bit prefix (11 digits)  P=5: 24-bit prefix (7 digits)
P=2: 34-bit prefix (10 digits)  P=6: 20-bit prefix (6 digits)
P=3: 30-bit prefix (9 digits)

Example: 3034257BF7194E4000001A85
  Header=0x30 Filter=1 Part=5 Prefix=0614141
  Item=812345 Serial=6789 → GTIN-14: 80614141123458

Altres esquemes EPC

Més enllà de SGTIN-96, GS1 defineix diversos altres esquemes EPC de 96 bits per a diferents identificadors de la cadena de subministrament. Cadascun té el seu propi byte de capçalera.

Lectura i escriptura de la memòria de l'etiqueta

Llegir etiquetes durant l'inventari és passiu. el lector emet una consulta i les etiquetes responen amb el seu EPC del Banc 01. Però també podeu llegir explícitament qualsevol banc de memòria enviant una ordre READ amb el número de banc, l'offset de la paraula i el recompte de paraules.

L'escriptura a les etiquetes requereix més precisió. L'etiqueta s'ha de singularitzar (només una etiqueta responent) i les escriptures es fan d'una paraula (16 bits) a la vegada. Una escriptura EPC completa de 96 bits requereix 6 escriptures de paraules seqüencials. Cada escriptura triga entre 10 i 20 ms, de manera que la codificació d'una sola etiqueta triga entre 60 i 120 ms només per a les dades EPC.

Errors d'escriptura comuns: Etiqueta massa lluny de l'antena (necessita un senyal més fort per a les escriptures que per a les lectures. Apropeu l'etiqueta a 1 m). Múltiples etiquetes al camp (la singularització va fallar. Aïlleu l'etiqueta objectiu). Memòria de l'etiqueta bloquejada (cal contrasenya d'accés). La verificació d'escriptura va fallar (torneu-ho a provar, o l'etiqueta pot ser defectuosa. La taxa de defectes típica és d'1 a 3 per cada 10.000).

💡

Millor pràctica: verifiqueu sempre després d'escriure llegint les dades i comparant-les. És possible que una ordre d'escriptura tingui èxit, però corrompi bits adjacents en casos rars. La verificació de lectura després de l'escriptura detecta aquests problemes.

Write EPC — Nextwaves NRN Protocol
TX → 5A 00 01 02 11 00 0C [EPC_12_BYTES] [CRC16]

Write per 16-bit word: 10-20ms
Full 96-bit EPC = 6 words = 60-120ms total

With access password:
TX → 5A 00 01 02 11 00 10 [PWD_4B] [EPC_12B] [CRC16]

Seguretat i contrasenyes d'etiquetes

Les etiquetes EPC Gen2 admeten dues contrasenyes de 32 bits per a la seguretat. La contrasenya d'accés bloqueja bancs de memòria específics. un cop establert, aquest banc requereix la contrasenya abans de qualsevol operació de lectura o escriptura. La contrasenya de destrucció desactiva permanentment l'etiqueta quan es transmet. una operació irreversible que s'utilitza principalment per a la privadesa del consumidor al comerç minorista (destruint l'etiqueta després de la compra).

Millors pràctiques de seguretat: no utilitzeu mai la contrasenya predeterminada de tots els zeros (0x00000000) en producció. no proporciona cap seguretat. Genereu contrasenyes úniques per lot d'etiquetes o utilitzeu el prefix de la vostra empresa com a llavor. Emmagatzemeu les contrasenyes al vostre sistema de fons, mai a la pròpia etiqueta (la memòria de la contrasenya es pot llegir si l'etiqueta està desbloquejada). Bloquegeu els bancs de contrasenyes després de la programació. Considereu el mode Untraceable (disponible en xips més nous) que amaga el TID i redueix l'EPC, proporcionant privadesa sense destruir l'etiqueta.

⚠️

L'ordre Kill és permanent i irreversible. No hi ha cap desfer. Un cop s'ha matat una etiqueta, mai més pot respondre a cap lector. Implementeu sempre la verificació de la contrasenya de kill al vostre programari i requeriu l'autorització del gestor abans d'executar ordres de kill.