Avanzado

Codificación de Etiquetas y Memoria EPC

Domine la arquitectura de la memoria de las etiquetas y la codificación GS1 para la integración de la cadena de suministro

Los 4 bancos de memoria

Cada etiqueta EPC Gen2 tiene exactamente 4 bancos de memoria, cada uno con un propósito específico. Comprender esta estructura es esencial para codificar, leer y asegurar sus etiquetas.

Banco 00 (Reservado): Contiene la contraseña de eliminación de 32 bits y la contraseña de acceso de 32 bits. Los valores predeterminados son 0x00000000. La contraseña de eliminación deshabilita permanentemente la etiqueta cuando se envía. irreversible. La contraseña de acceso bloquea los bancos de memoria para evitar escrituras no autorizadas.

Banco 01 (EPC): Contiene StoredCRC (16 bits, calculado automáticamente), StoredPC/Control de protocolo (16 bits, indica la longitud del EPC y las capacidades de la etiqueta) y el valor del EPC en sí. normalmente 96 bits (12 bytes) para SGTIN-96. Algunas etiquetas admiten EPC de 128 bits o incluso de 496 bits.

Banco 10 (TID): Identificador de etiqueta programado de fábrica. Contiene el código del fabricante del chip, el número de modelo y un número de serie único. Este banco es de solo lectura y nunca se puede cambiar. lo que lo hace invaluable para la lucha contra la falsificación y la autenticación de etiquetas.

Banco 11 (Usuario): Almacenamiento adicional opcional. El tamaño varía según el chip: NXP UCODE 9 tiene 0 bits (sin memoria de usuario), Quanray QStar-7U tiene 512 bits (64 bytes). Úselo para números de lote, fechas de inspección, umbrales de temperatura o registros de mantenimiento. Compruebe siempre la capacidad disponible antes de escribir.

Codificación SGTIN-96. Paso a Paso

SGTIN-96 es el esquema EPC más utilizado. Codifica un GTIN-14 (el código de barras de su producto) más un número de serie único en exactamente 96 bits (12 bytes). Esto permite hasta 274 mil millones de números de serie únicos por tipo de producto.

La estructura de 96 bits: Encabezado (8 bits, siempre 0x30 para SGTIN-96) → Filtro (3 bits: 0=todos, 1=POS, 2=caja completa, 3=reservado, 4=paquete interno, 5=reservado, 6=carga unitaria, 7=componente) → Partición (3 bits: define cómo se dividen los bits entre el prefijo de la empresa y la referencia del artículo) → Prefijo de la empresa (20–40 bits) → Referencia del artículo (4–24 bits) → Número de serie (38 bits).

El valor de la partición (0–6) determina la longitud del prefijo de la empresa: P=0 → prefijo de 40 bits (12 dígitos), P=1 → 37 bits (11 dígitos), P=2 → 34 bits (10 dígitos), P=3 → 30 bits (9 dígitos), P=4 → 27 bits (8 dígitos), P=5 → 24 bits (7 dígitos), P=6 → 20 bits (6 dígitos). La longitud del prefijo de su empresa GS1 determina qué valor de partición utilizar.

💡

Utilice la herramienta Nextwaves TDS RFID Converter en /tools/tds-rfid-converter para codificar y decodificar valores SGTIN-96 de forma interactiva. Ingrese su GTIN-14 + serie y obtenga el EPC hexadecimal al instante.

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

Otros esquemas EPC

Más allá de SGTIN-96, GS1 define varios otros esquemas EPC de 96 bits para diferentes identificadores de la cadena de suministro. Cada uno tiene su propio byte de encabezado.

Lectura y Escritura de la Memoria de la Etiqueta

La lectura de etiquetas durante el inventario es pasiva. el lector transmite una consulta y las etiquetas responden con su EPC del Banco 01. Pero también puede leer explícitamente cualquier banco de memoria enviando un comando READ con el número de banco, el desplazamiento de la palabra y el recuento de palabras.

Escribir en las etiquetas requiere más precisión. La etiqueta debe ser singulada (solo una etiqueta respondiendo), y las escrituras ocurren de una palabra (16 bits) a la vez. Una escritura EPC completa de 96 bits requiere 6 escrituras secuenciales de palabras. Cada escritura tarda entre 10 y 20 ms, por lo que la codificación de una sola etiqueta tarda entre 60 y 120 ms solo para los datos EPC.

Fallos comunes de escritura: Etiqueta demasiado lejos de la antena (necesita una señal más fuerte para las escrituras que para las lecturas. acerque la etiqueta a menos de 1 m). Múltiples etiquetas en el campo (la singulación falló. aísle la etiqueta objetivo). Memoria de la etiqueta bloqueada (se requiere contraseña de acceso). La verificación de escritura falló (reintente, o la etiqueta puede ser defectuosa. la tasa de defectos típica es de 1 a 3 por cada 10.000).

💡

Mejor práctica: Verifique siempre después de escribir leyendo los datos y comparándolos. Un comando de escritura puede tener éxito pero corromper bits adyacentes en casos raros. La verificación de lectura posterior a la escritura detecta estos problemas.

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]

Seguridad de Etiquetas y Contraseñas

Las etiquetas EPC Gen2 admiten dos contraseñas de 32 bits para la seguridad. La contraseña de acceso bloquea bancos de memoria específicos. Una vez configurado, ese banco requiere la contraseña antes de cualquier operación de lectura o escritura. La contraseña de eliminación deshabilita permanentemente la etiqueta cuando se transmite. Una operación irreversible utilizada principalmente para la privacidad del consumidor en el comercio minorista (destruyendo la etiqueta después de la compra).

Mejores prácticas de seguridad: Nunca use la contraseña predeterminada de todos los ceros (0x00000000) en producción. No proporciona ninguna seguridad. Genere contraseñas únicas por lote de etiquetas o use el prefijo de su empresa como semilla. Almacene las contraseñas en su sistema de backend, nunca en la propia etiqueta (la memoria de la contraseña se puede leer si la etiqueta está desbloqueada). Bloquee los bancos de contraseñas después de la programación. Considere el modo Untraceable (disponible en chips más nuevos) que oculta el TID y reduce el EPC, proporcionando privacidad sin eliminar la etiqueta.

⚠️

El comando Kill es permanente e irreversible. No hay deshacer. Una vez que se mata una etiqueta, nunca más podrá responder a ningún lector. Implemente siempre la verificación de la contraseña de eliminación en su software y requiera la autorización del gerente antes de ejecutar los comandos de eliminación.