Napredno

Kodiranje oznaka i EPC memorija

Ovladajte arhitekturom memorije oznaka i GS1 kodiranjem za integraciju opskrbnog lanca

4 memorijske banke

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

Banka 00 (Rezervirano): Sadrži 32-bitnu Kill lozinku i 32-bitnu Access lozinku. Zadane vrijednosti su 0x00000000. Kill lozinka trajno onemogućuje oznaku kada se pošalje. nepovratno. Lozinka za pristup 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 programirani 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): Dodatna pohrana po izboru. 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 ga 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=puni 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.

💡

Upotrijebite alat Nextwaves TDS RFID Converter 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 opskrbnog lanca. 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 čitati bilo koju memorijsku banku slanjem naredbe READ s brojem banke, pomakom riječi i brojem riječi.

Pisanje na oznake zahtijeva više preciznosti. Oznaka se mora singulirati (samo jedna oznaka odgovara), a pisanje se odvija riječ po riječ (16 bitova). Potpuno 96-bitno EPC pisanje zahtijeva 6 uzastopnih pisanja riječi. Svako pisanje traje 10–20 ms, pa kodiranje jedne oznake traje 60–120 ms samo za EPC podatke.

Uobičajeni kvarovi pri pisanju: Oznaka predaleko od antene (potreban 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 ponovno 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 sa svim nulama (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 pročitati ako je oznaka otključana). Zaključajte memorijske 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.

⚠️

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