Napredno

Kodiranje oznaka i EPC memorija

Ovladajte arhitekturom memorije oznaka i GS1 kodiranjem za integraciju lanca opskrbe

4 Memorijske banke

Svaka EPC Gen2 oznaka ima točno 4 memorijske banke, od kojih svaka služi određenoj svrsi. Razumijevanje ove strukture je bitno za kodiranje, čitanje i osiguranje vaših oznaka.

Banka 00 (Rezervirano): Sadrži 32-bitnu Kill lozinku i 32-bitnu pristupnu lozinku. Zadane vrijednosti su 0x00000000. Kill lozinka trajno onemogućuje oznaku kada se pošalje. Nepovratno. Pristupna lozinka zaključava memorijske banke kako bi se spriječilo neovlašteno pisanje.

Banka 01 (EPC): Sadrži StoredCRC (16 bitova, automatski izračunato), StoredPC/Protocol Control (16 bitova, označava duljinu EPC-a i mogućnosti oznake) i samu EPC vrijednost. Obično 96 bitova (12 bajtova) za SGTIN-96. Neke oznake podržavaju 128-bitne ili čak 496-bitne EPC-ove.

Banka 10 (TID): Tvornički programiran identifikator oznake. Sadrži kod proizvođača čipa, broj modela i jedinstveni serijski broj. Ova banka je samo za čitanje i nikada se ne može promijeniti. Što je čini neprocjenjivom za borbu protiv krivotvorenja i autentifikaciju oznaka.

Banka 11 (Korisnik): Opcionalna dodatna pohrana. Veličina varira ovisno o čipu: NXP UCODE 9 ima 0 bitova (nema korisničke memorije), Quanray QStar-7U ima 512 bitova (64 bajta). Koristite je za brojeve serija, datume inspekcije, temperaturne pragove ili zapise o održavanju. Uvijek provjerite dostupan kapacitet prije pisanja.

SGTIN-96 kodiranje. Korak po korak

SGTIN-96 je najčešće korištena EPC shema. Kodira GTIN-14 (vaš barkod proizvoda) plus jedinstveni serijski broj u točno 96 bitova (12 bajtova). To omogućuje do 274 milijarde jedinstvenih serijskih brojeva po vrsti proizvoda.

96-bitna struktura: Zaglavlje (8 bitova, uvijek 0x30 za SGTIN-96) → Filter (3 bita: 0=sve, 1=POS, 2=pun slučaj, 3=rezervirano, 4=unutarnje pakiranje, 5=rezervirano, 6=jedinično opterećenje, 7=komponenta) → Particija (3 bita: definira kako su bitovi podijeljeni između prefiksa tvrtke i reference stavke) → Prefiks tvrtke (20–40 bitova) → Referenca stavke (4–24 bita) → Serijski broj (38 bitova).

Vrijednost particije (0–6) određuje duljinu prefiksa tvrtke: P=0 → 40-bitni prefiks (12 znamenki), P=1 → 37-bitni (11 znamenki), P=2 → 34-bitni (10 znamenki), P=3 → 30-bitni (9 znamenki), P=4 → 27-bitni (8 znamenki), P=5 → 24-bitni (7 znamenki), P=6 → 20-bitni (6 znamenki). Duljina prefiksa vaše GS1 tvrtke određuje koju vrijednost particije koristiti.

💡

Koristite Nextwaves TDS RFID Converter alat na /tools/tds-rfid-converter za interaktivno kodiranje i dekodiranje SGTIN-96 vrijednosti. Unesite svoj GTIN-14 + serijski broj i odmah dobijte heksadecimalni 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

Ostale EPC sheme

Osim SGTIN-96, GS1 definira nekoliko drugih 96-bitnih EPC shema za različite identifikatore lanca opskrbe. Svaka ima svoj bajt zaglavlja.

Čitanje i pisanje memorije oznake

Čitanje oznaka tijekom inventara je pasivno. Čitač emitira upit i oznake odgovaraju svojim EPC-om iz banke 01. Ali također možete izričito pročitati bilo koju memorijsku banku slanjem naredbe READ s brojem banke, pomakom riječi i brojem riječi.

Pisanje na oznake zahtijeva veću preciznost. Oznaka se mora singulirati (samo jedna oznaka odgovara), a pisanje se vrši riječ po riječ (16 bitova). Potpuno pisanje EPC-a od 96 bita zahtijeva 6 uzastopnih pisanja riječi. Svako pisanje traje 10–20 ms, tako da kodiranje jedne oznake traje 60–120 ms samo za EPC podatke.

Uobičajeni kvarovi pri pisanju: Oznaka predaleko od antene (potreban je jači signal za pisanje nego za čitanje. približite oznaku na udaljenost od 1 m). Više oznaka u polju (singulacija nije uspjela. izolirajte ciljnu oznaku). Memorija oznake zaključana (potrebna je lozinka za pristup). Provjera pisanja nije uspjela (pokušajte ponovo ili oznaka može biti neispravna. tipična stopa kvara je 1–3 na 10.000).

💡

Najbolja praksa: Uvijek provjerite nakon pisanja čitanjem podataka i usporedbom. Naredba za pisanje može uspjeti, ali u rijetkim slučajevima oštetiti susjedne bitove. Provjera nakon pisanja hvata ove 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]

Sigurnost oznaka i lozinke

EPC Gen2 oznake podržavaju dvije 32-bitne lozinke za sigurnost. Lozinka za pristup zaključava specifične memorijske banke. jednom postavljena, ta banka zahtijeva lozinku prije bilo kakve operacije čitanja ili pisanja. Lozinka za ubijanje trajno onemogućuje oznaku kada se prenese. nepovratna operacija koja se prvenstveno koristi za privatnost potrošača u maloprodaji (uništavanje oznake nakon odjave).

Najbolje sigurnosne prakse: Nikada nemojte koristiti zadanu lozinku s nula (0x00000000) u proizvodnji. ne pruža nikakvu sigurnost. Generirajte jedinstvene lozinke po seriji oznaka ili koristite prefiks svoje tvrtke kao sjeme. Pohranite lozinke u svoj pozadinski sustav, nikada na samu oznaku (memorija lozinke se može očitati ako je oznaka otključana). Zaključajte banke lozinki nakon programiranja. Razmotrite način rada koji se ne može pratiti (dostupan na novijim čipovima) koji skriva TID i smanjuje EPC, pružajući privatnost bez ubijanja oznake.

⚠️

Komanda Kill je trajna i nepovratna. Nema poništavanja. Jednom kada je oznaka ubijena, ona više nikada ne može odgovoriti ni na jedan čitač. Uvijek implementirajte provjeru kill-lozinke u svom softveru i zahtijevajte autorizaciju menadžera prije izvršavanja kill naredbi.