Pažengęs

Žymės kodavimas ir EPC atmintis

Įvaldykite žymos atminties architektūrą ir GS1 kodavimą tiekimo grandinės integracijai

4 atminties blokai

Kiekviena EPC Gen2 žyma turi lygiai 4 atminties blokus, kurių kiekvienas atlieka konkrečią paskirtį. Šios struktūros supratimas yra būtinas norint koduoti, skaityti ir apsaugoti žymas.

00 blokas (rezervuotas): jame yra 32 bitų „Kill“ slaptažodis ir 32 bitų prieigos slaptažodis. Numatytosios reikšmės yra 0x00000000. „Kill“ slaptažodis visam laikui išjungia žymą, kai jis siunčiamas. Neatsitaisomas. Prieigos slaptažodis blokuoja atminties blokus, kad būtų išvengta neteisėto įrašymo.

01 blokas (EPC): jame yra StoredCRC (16 bitų, apskaičiuojama automatiškai), StoredPC / protokolo valdymas (16 bitų, nurodo EPC ilgį ir žymos galimybes) ir pati EPC reikšmė. Paprastai 96 bitai (12 baitų) SGTIN-96. Kai kurios žymos palaiko 128 bitų ar net 496 bitų EPC.

10 blokas (TID): gamykloje užprogramuotas žymos identifikatorius. Jame yra lusto gamintojo kodas, modelio numeris ir unikalus serijos numeris. Šis blokas yra tik skaitomas ir niekada negali būti pakeistas. Todėl jis yra neįkainojamas kovojant su padirbinėjimu ir žymų autentifikavimu.

11 blokas (vartotojas): papildomas pasirinktinis saugojimas. Dydis priklauso nuo lusto: NXP UCODE 9 turi 0 bitų (nėra vartotojo atminties), Quanray QStar-7U turi 512 bitų (64 baitai). Naudokite jį partijos numeriams, patikros datoms, temperatūros slenksčiams ar priežiūros įrašams. Prieš rašydami visada patikrinkite turimą talpą.

SGTIN-96 kodavimas. Žingsnis po žingsnio

SGTIN-96 yra plačiausiai naudojama EPC schema. Ji koduoja GTIN-14 (jūsų produkto brūkšninis kodas) ir unikalų serijos numerį į lygiai 96 bitus (12 baitų). Tai leidžia turėti iki 274 milijardų unikalių serijos numerių vienam produkto tipui.

96 bitų struktūra: Antraštė (8 bitai, visada 0x30 SGTIN-96) → Filtras (3 bitai: 0=visi, 1=POS, 2=pilnas dėklas, 3=rezervuota, 4=vidinė pakuotė, 5=rezervuota, 6=vieneto krovinys, 7=komponentas) → Skirtukas (3 bitai: apibrėžia, kaip bitai yra padalinti tarp įmonės prefikso ir prekės nuorodos) → Įmonės prefiksas (20–40 bitų) → Prekės nuoroda (4–24 bitai) → Serijos numeris (38 bitai).

Skirtuko reikšmė (0–6) nustato įmonės prefikso ilgį: P=0 → 40 bitų prefiksas (12 skaitmenų), P=1 → 37 bitų (11 skaitmenų), P=2 → 34 bitų (10 skaitmenų), P=3 → 30 bitų (9 skaitmenys), P=4 → 27 bitų (8 skaitmenys), P=5 → 24 bitų (7 skaitmenys), P=6 → 20 bitų (6 skaitmenys). Jūsų GS1 įmonės prefikso ilgis nustato, kurią skirtuko reikšmę naudoti.

💡

Naudokite „Nextwaves TDS RFID Converter“ įrankį adresu /tools/tds-rfid-converter, kad interaktyviai koduotumėte ir dekoduotumėte SGTIN-96 reikšmes. Įveskite savo GTIN-14 + serijos numerį ir iš karto gaukite šešioliktainį 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

Kitos EPC schemos

Be SGTIN-96, GS1 apibrėžia keletą kitų 96 bitų EPC schemų skirtingiems tiekimo grandinės identifikatoriams. Kiekvienas turi savo antraštės baitą.

Žymės atminties skaitymas ir įrašymas

Žymų skaitymas inventoriaus metu yra pasyvus. Skaitytuvas siunčia užklausą ir žymos atsako su savo EPC iš 01 bloko. Tačiau taip pat galite aiškiai perskaityti bet kurį atminties bloką siųsdami READ komandą su bloko numeriu, žodžio poslinkiu ir žodžių skaičiumi.

Įrašymas į žymes reikalauja daugiau tikslumo. Žymė turi būti singuliuota (reaguoja tik viena žymė), o įrašymas vyksta po vieną žodį (16 bitų). Norint įrašyti visą 96 bitų EPC, reikia atlikti 6 nuoseklius žodžių įrašymus. Kiekvienas įrašymas trunka 10–20 ms, todėl vienos žymės kodavimas vien tik EPC duomenims užima 60–120 ms.

Dažni įrašymo nesėkmės: Žymė per toli nuo antenos (įrašymui reikia stipresnio signalo nei skaitymui. Atneškite žymę arčiau nei 1 m). Kelių žymių lauke (singuliacija nepavyko. Izoliuokite tikslinę žymę). Žymės atmintis užrakinta (reikalingas prieigos slaptažodis). Įrašymo patvirtinimas nepavyko (bandykite dar kartą arba žymė gali būti su defektu. Tipinis defektų rodiklis yra 1–3 iš 10 000).

💡

Geriausia praktika: visada patikrinkite po rašymo, perskaitydami duomenis ir palygindami. Rašymo komanda gali pavykti, bet retais atvejais gali sugadinti gretimus bitus. Patikra po rašymo užfiksuoja šias 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]

Žymos saugumas ir slaptažodžiai

EPC Gen2 žymos palaiko du 32 bitų slaptažodžius saugumui. Prieigos slaptažodis užrakina konkrečius atminties bankus. nustačius, tam bankui reikia slaptažodžio prieš bet kokią skaitymo ar rašymo operaciją. Kill slaptažodis visam laikui išjungia žymą, kai ji perduodama. negrįžtama operacija, pirmiausia naudojama vartotojų privatumui mažmeninėje prekyboje (sunaikinant žymą po atsiskaitymo).

Geriausia saugumo praktika: Niekada nenaudokite numatytojo visų nulių slaptažodžio (0x00000000) gamyboje. tai nesuteikia jokio saugumo. Generuokite unikalius slaptažodžius kiekvienai žymų partijai arba naudokite savo įmonės priešdėlį kaip sėklą. Saugokite slaptažodžius savo galinėje sistemoje, niekada pačioje žymoje (slaptažodžio atmintį galima perskaityti, jei žyma atrakinta). Užrakinkite slaptažodžių bankus po programavimo. Apsvarstykite Neatsispėjamą režimą (galima naujesniuose lustuose), kuris slepia TID ir sumažina EPC, užtikrindamas privatumą nesunaikindamas žymos.

⚠️

„Kill“ komanda yra nuolatinė ir negrįžtama. Atšaukti negalima. Kai žyma sunaikinama, ji niekada nebegali atsakyti į jokį skaitytuvą. Visada įdiekite „kill“ slaptažodžio patikrą savo programinėje įrangoje ir prieš vykdydami „kill“ komandas reikalaukite vadovo leidimo.