Experten

Tag-Codierung & EPC-Speicher

Beherrschen Sie die Tag-Speicherarchitektur und GS1-Codierung für Supply-Chain-Integration

Die 4 Speicherbänke

Jeder EPC-Gen2-Tag hat genau 4 Speicherbänke, die jeweils einem bestimmten Zweck dienen. Das Verständnis dieser Struktur ist unerlässlich für das Codieren, Lesen und Sichern Ihrer Tags.

Bank 00 (Reserved): Enthält das 32-Bit Kill-Passwort und das 32-Bit Access-Passwort. Standardwerte sind 0x00000000. Das Kill-Passwort deaktiviert den Tag dauerhaft, wenn es gesendet wird – irreversibel. Das Access-Passwort sperrt Speicherbänke, um unbefugtes Schreiben zu verhindern.

Bank 01 (EPC): Enthält StoredCRC (16 Bit, automatisch berechnet), StoredPC/Protocol Control (16 Bit, gibt die EPC-Länge und Tag-Fähigkeiten an) und den EPC-Wert selbst – typischerweise 96 Bit (12 Bytes) für SGTIN-96. Einige Tags unterstützen 128-Bit oder sogar 496-Bit EPCs.

Bank 10 (TID): Werksprogrammierter Tag-Identifier. Enthält den Chip-Herstellercode, die Modellnummer und eine eindeutige Seriennummer. Diese Bank ist schreibgeschützt und kann niemals geändert werden – was sie für Fälschungsschutz und Tag-Authentifizierung unschätzbar macht.

Bank 11 (User): Optionaler zusätzlicher Speicher. Die Größe variiert je nach Chip: NXP UCODE 9 hat 0 Bit (kein Benutzerspeicher), Quanray QStar-7U hat 512 Bit (64 Bytes). Verwenden Sie ihn für Chargennummern, Inspektionsdaten, Temperaturschwellenwerte oder Wartungsprotokolle. Überprüfen Sie immer die verfügbare Kapazität vor dem Schreiben.

SGTIN-96-Codierung Schritt für Schritt

SGTIN-96 ist das am häufigsten verwendete EPC-Schema. Es codiert eine GTIN-14 (Ihr Produktbarcode) plus eine eindeutige Seriennummer in genau 96 Bit (12 Bytes). Dies ermöglicht bis zu 274 Milliarden eindeutige Seriennummern pro Produkttyp.

Die 96-Bit-Struktur: Header (8 Bit, immer 0x30 für SGTIN-96) → Filter (3 Bit: 0=Alle, 1=POS, 2=Volle Kiste, 3=Reserviert, 4=Innenverpackung, 5=Reserviert, 6=Ladungsträger, 7=Komponente) → Partition (3 Bit: definiert, wie Bits zwischen Unternehmenspräfix und Artikelnreferenz aufgeteilt werden) → Unternehmenspräfix (20–40 Bit) → Artikelnreferenz (4–24 Bit) → Seriennummer (38 Bit).

Der Partition-Wert (0–6) bestimmt die Länge des Unternehmenspräfix: P=0 → 40-Bit-Präfix (12 Ziffern), P=1 → 37-Bit (11 Ziffern), P=2 → 34-Bit (10 Ziffern), P=3 → 30-Bit (9 Ziffern), P=4 → 27-Bit (8 Ziffern), P=5 → 24-Bit (7 Ziffern), P=6 → 20-Bit (6 Ziffern). Die Länge Ihres GS1-Unternehmenspräfix bestimmt, welcher Partition-Wert verwendet wird.

Verwenden Sie das Nextwaves TDS RFID Converter-Tool unter /tools/tds-rfid-converter, um SGTIN-96-Werte interaktiv zu codieren und zu decodieren. Geben Sie Ihre GTIN-14 + Seriennummer ein und erhalten Sie sofort den hexadezimalen EPC.

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

Andere EPC-Schemes

Neben SGTIN-96 definiert GS1 mehrere andere 96-Bit-EPC-Schemes für verschiedene Supply-Chain-Identifikatoren. Jedes hat seinen eigenen Header-Byte.

Lesen und Schreiben des Tag-Speichers

Das Lesen von Tags während der Inventur ist passiv. Der Reader sendet eine Abfrage und die Tags antworten mit ihrem EPC aus Bank 01. Aber Sie können auch explizit jede Speicherbank lesen, indem Sie einen READ-Befehl mit der Banknummer, dem Wortoffset und der Wortanzahl senden.

Das Schreiben auf Tags erfordert mehr Präzision. Das Tag muss isoliert sein (nur ein Tag antwortet), und Schreibvorgänge erfolgen Wort für Wort (16 Bit). Ein vollständiger 96-Bit-EPC-Schreibvorgang erfordert 6 sequentielle Wortschreibungen. Jeder Schreibvorgang dauert 10–20ms, daher dauert die Kodierung eines einzelnen Tags 60–120ms nur für die EPC-Daten.

Häufige Schreibfehler: Tag zu weit von der Antenne entfernt (benötigt stärkeres Signal zum Schreiben als zum Lesen – Tag auf 1m heranführen). Mehrere Tags im Feld (Singulation fehlgeschlagen – Ziel-Tag isolieren). Tag-Speicher gesperrt (Zugriffspasswort erforderlich). Schreibverifizierung fehlgeschlagen (wiederholen, oder Tag möglicherweise defekt – typische Defektrate: 1–3 pro 10.000).

Bewährte Praxis: Immer nach dem Schreiben verifizieren, indem die Daten zurückgelesen und verglichen werden. Ein Schreibbefehl kann erfolgreich sein, aber in seltenen Fällen benachbarte Bits beschädigen. Die Lese-nach-Schreiben-Verifizierung erkennt diese Probleme.

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]

Tag-Sicherheit und Passwörter

EPC Gen2 Tags unterstützen zwei 32-Bit-Passwörter für Sicherheit. Das Zugriffspasswort sperrt bestimmte Speicherbänke – sobald gesetzt, erfordert diese Bank das Passwort vor jedem Lese- oder Schreibvorgang. Das Kill-Passwort deaktiviert das Tag dauerhaft, wenn es übertragen wird – ein irreversibler Vorgang, hauptsächlich verwendet für Verbraucher-Privatsphäre im Einzelhandel (nach dem Checkout).

Sicherheitsbest Practices: Niemals das Standardpasswort (0x00000000) in der Produktion verwenden – es bietet keinerlei Sicherheit. Einzigartige Passwörter pro Tag-Charg oder Firmenpräfix als Seed verwenden. Passwörter im Backend-System speichern, niemals auf dem Tag selbst (Passwort-Speicher kann gelesen werden, wenn das Tag entsperrt ist). Passwort-Banken nach der Programmierung sperren. Untraceable-Modus in Betracht ziehen (auf neueren Chips verfügbar), der TID verbirgt und EPC reduziert für Privatsphäre ohne Kill-Befehl.

Der Kill-Befehl ist dauerhaft und irreversibel. Es gibt kein Rückgängig. Sobald ein Tag gekillt wurde, kann es nie wieder auf einen Reader reagieren. Immer Kill-Passwort-Verifizierung in der Software implementieren und Manager-Autorisierung vor der Ausführung von Kill-Befehlen erfordern.

Zurück zur Startseite