Edistynyt

Tunnisteen koodaus ja EPC-muisti

Hallitse tunnisteen muistiarkkitehtuuri ja GS1-koodaus toimitusketjuintegraatiota varten

4 muistipankkia

Jokaisessa EPC Gen2 -tunnisteessa on tarkalleen 4 muistipankkia, joista jokainen palvelee tiettyä tarkoitusta. Tämän rakenteen ymmärtäminen on välttämätöntä tunnisteiden koodaamiseen, lukemiseen ja suojaamiseen.

Pankki 00 (Reserved): Sisältää 32-bittisen Kill-salasanan ja 32-bittisen Access-salasanan. Oletusarvot ovat 0x00000000. Kill-salasana poistaa tunnisteen pysyvästi käytöstä, kun se lähetetään — peruuttamaton. Access-salasana lukitsee muistipankit estääkseen luvattomat kirjoitukset.

Pankki 01 (EPC): Sisältää StoredCRC:n (16 bittiä, automaattisesti laskettu), StoredPC/Protocol Control:n (16 bittiä, ilmaisee EPC-pituuden ja tunnisteen kyvykkyydet) ja itse EPC-arvon. tyypillisesti 96 bittiä (12 tavua) SGTIN-96:lle. Jotkut tunnisteet tukevat 128-bittisiä tai jopa 496-bittisiä EPC:itä.

Pankki 10 (TID): Tehtaalla ohjelmoitu tunnisteen tunnus. Sisältää sirunvalmistajan koodin, mallinumeron ja ainutlaatuisen sarjanumeron. Tämä pankki on vain luku -muisti eikä sitä koskaan voi muuttaa — tehden siitä korvaamattoman väärennösten torjunnassa ja tunnisteen autentikoinnissa.

Pankki 11 (User): Valinnainen lisätallennus. Koko vaihtelee sirun mukaan: NXP UCODE 9:ssä on 0 bittiä (ei käyttäjämuistia), Quanray QStar-7U:ssa on 512 bittiä (64 tavua). Käytä sitä eränumeroille, tarkastuspäivämäärille, lämpötilakynnyksille tai huoltotiedoille. Tarkista aina käytettävissä oleva kapasiteetti ennen kirjoittamista.

SGTIN-96-koodaus. Vaihe vaiheelta

SGTIN-96 on laajimmin käytetty EPC-skeema. Se koodaa GTIN-14:n (tuotteen viivakoodin) plus ainutlaatuisen sarjanumeron tarkalleen 96 bittiin (12 tavua). Tämä mahdollistaa jopa 274 miljardia ainutlaatuista sarjanumeroa tuotetyyppiä kohden.

96-bittinen rakenne: Otsikko (8 bittiä, aina 0x30 SGTIN-96:lle) → Suodatin (3 bittiä: 0=kaikki, 1=POS, 2=täysi laatikko, 3=varattu, 4=sisäpakkaus, 5=varattu, 6=yksikkökuorma, 7=komponentti) → Osio (3 bittiä: määrittää, miten bitit jaetaan yhtiöetuliitteen ja tuotteen viittauksen välillä) → Yhtiöetuliite (20–40 bittiä) → Tuotteen viittaus (4–24 bittiä) → Sarjanumero (38 bittiä).

Osioarvo (0–6) määrittää Yhtiöetuliitteen pituuden: P=0 → 40-bittinen etuliite (12 numeroa), P=1 → 37-bittinen (11 numeroa), P=2 → 34-bittinen (10 numeroa), P=3 → 30-bittinen (9 numeroa), P=4 → 27-bittinen (8 numeroa), P=5 → 24-bittinen (7 numeroa), P=6 → 20-bittinen (6 numeroa). GS1-yhtiöetuliitteen pituus määrittää, mitä osioarvoa käytetään.

Käytä Nextwaves TDS RFID Converter -työkalua osoitteessa /tools/tds-rfid-converter koodataksesi ja dekoodataksesi SGTIN-96-arvoja interaktiivisesti. Syötä GTIN-14 + sarja ja saat EPC-hexin välittömästi.

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

Muut EPC-skeemat

SGTIN-96:n lisäksi GS1 määrittelee useita muita 96-bittisiä EPC-skeemoja eri toimitusketjutunnisteille. Jokaisella on oma otsikkotavunsa.

Tagimuistin lukeminen ja kirjoittaminen

Tagien lukeminen inventaarion aikana on passiivista. Lukija lähettää kyselyn ja tagit vastaavat EPC:llään Bank 01:stä. Voit kuitenkin myös lukea eksplisiittisesti minkä tahansa muistipankin lähettämällä READ-komennon pankin numeron, sanan siirtymän (word offset) ja sanamäärän (word count) kanssa.

Tagien kirjoittaminen vaatii enemmän tarkkuutta. Tagin täytyy olla eristetty (vain yksi tagi vastaa), ja kirjoitukset tapahtuvat yksi sana (16 bittiä) kerrallaan. Täydellinen 96 bitin EPC-kirjoitus vaatii 6 peräkkäistä sanakirjoitusta. Jokainen kirjoitus kestää 10–20 ms, joten yhden tagin koodaus kestää 60–120 ms pelkälle EPC-datalle.

Yleiset kirjoitusvirheet: Tagi liian kaukana antennista (kirjoitus vaatii vahvemman signaalin kuin luku. tuo tagi 1 m:n sisälle). Useita taggia kentässä (eristys epäonnistui. eristä kohdetagi). Tagin muisti lukittu (vaatii käyttösalasanan). Kirjoituksen vahvistus epäonnistui (yritä uudelleen, tai tagi voi olla viallinen. tyypillinen vikatahti on 1–3 / 10 000).

Paras käytäntö: Vahvista aina kirjoituksen jälkeen lukemalla data takaisin ja vertaamalla. Kirjoituskomento voi onnistua, mutta harvinaisissa tapauksissa vioittaa viereisiä bittejä. Luku kirjoituksen jälkeen -vahvistus havaitsee nämä ongelmat.

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]

Tagin suojaus ja salasanat

EPC Gen2 -tagit tukevat kahta 32 bitin salasanaa turvallisuutta varten. Käyttösalasana (Access Password) lukitsee tietyt muistipankit. Kun se on asetettu, kyseinen pankki vaatii salasanan ennen mitä tahansa luku- tai kirjoitusoperaatiota. Tappo salasana (Kill Password) poistaa tagin pysyvästi käytöstä lähetyksen yhteydessä. Peruuttamaton toimenpide, jota käytetään ensisijaisesti kuluttajien yksityisyyden suojeluun vähittäismyynnissä (tagin tuhoaminen kassalla).

Turvallisuuden parhaat käytännöt: Älä koskaan käytä oletussalasanaa (0x00000000) tuotannossa. Se ei tarjoa minkäänlaista suojaa. Luo ainutlaatuiset salasanat jokaiselle tagierälle tai käytä yrityksesi etuliitettä siemenarvona. Tallenna salasanat taustajärjestelmääsi, älä koskaan itse tagiin (salasanamuisti voidaan lukea, jos tagi on avattu). Lukitse salasanojen pankit ohjelmoinnin jälkeen. Harkitse Jäljittämätöntä tilaa (saatavilla uudemmissa siruissa), joka piilottaa TID:n ja vähentää EPC:tä tarjoten yksityisyyttä tuhoamatta tagia.

Tappokomento on pysyvä ja peruuttamaton. Peruutusta ei ole. Kun tagi on tapettu, se ei koskaan voi enää vastata millekään lukijalle. Toteuta aina tapposalasanan vahvistus ohjelmistossasi ja vaadi esimiehen lupa ennen tappokomentojen suorittamista.

Takaisin etusivulle