Edistynyt

Tägien koodaus ja EPC-muisti

Hallitse tunnisteen muistiarkkitehtuuria ja GS1-koodausta toimitusketjun integrointia varten

4 muistipankkia

Jokaisella EPC Gen2 -tunnisteella on täsmälleen 4 muistipankkia, joista jokainen palvelee tiettyä tarkoitusta. Tämän rakenteen ymmärtäminen on olennaista tunnisteiden koodaamisessa, lukemisessa ja suojaamisessa.

Pankki 00 (Varattu): 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 (16 bittiä, automaattisesti laskettu), StoredPC/Protocol Control (16 bittiä, ilmaisee EPC:n pituuden ja tunnisteen ominaisuudet) 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 tunniste. Sisältää sirun valmistajan koodin, mallinumeron ja yksilöllisen sarjanumeron. Tämä pankki on vain luku -tilassa, eikä sitä voi koskaan muuttaa. mikä tekee siitä korvaamattoman väärentämisen estämisessä ja tunnisteiden todennuksessa.

Pankki 11 (Käyttäjä): Valinnainen lisäsäilytys. 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änumeroihin, tarkastuspäiviin, lämpötilarajoihin tai huoltotietoihin. Tarkista aina käytettävissä oleva kapasiteetti ennen kirjoittamista.

SGTIN-96-koodaus. Vaihe vaiheelta

SGTIN-96 on laajimmin käytetty EPC-järjestelmä. Se koodaa GTIN-14:n (tuotteesi viivakoodi) sekä yksilöllisen sarjanumeron täsmälleen 96 bitiksi (12 tavuksi). Tämä mahdollistaa jopa 274 miljardia yksilöllistä sarjanumeroa tuotetyyppiä kohden.

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

Osion arvo (0–6) määrittää yrityksen 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-yrityksen etuliitteen pituus määrittää, mitä osion arvoa 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 + sarjanumero ja saat heksadesimaalisen EPC:n 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-järjestelmät

SGTIN-96:n lisäksi GS1 määrittelee useita muita 96-bittisiä EPC-järjestelmiä eri toimitusketjun tunnisteille. Jokaisella on oma otsikotavu.

Tägin muistin lukeminen ja kirjoittaminen

Tunnisteiden lukeminen inventoinnin aikana on passiivista. lukija lähettää kyselyn ja tunnisteet vastaavat EPC:llään pankista 01. Mutta voit myös lukea minkä tahansa muistipankin nimenomaisesti lähettämällä LUE-komennon pankin numerolla, sanan siirtymällä ja sanamäärällä.

Tägille kirjoittaminen vaatii enemmän tarkkuutta. Tägien on oltava singuloituja (vain yksi tägi vastaa), ja kirjoitukset tapahtuvat yksi sana (16 bittiä) kerrallaan. Täyden 96-bittisen EPC-kirjoituksen tekeminen vaatii 6 peräkkäistä sanakirjoitusta. Jokainen kirjoitus kestää 10–20 ms, joten yhden tägin koodaaminen vie 60–120 ms pelkästään EPC-datalle.

Yleisiä kirjoitusvirheitä: Tägi liian kaukana antennista (tarvitsee vahvemman signaalin kirjoituksiin kuin lukemiseen. tuo tägi 1 metrin sisään). Useita tägejä kentässä (singulaatio epäonnistui. eristä kohdetägi). Tägin muisti lukittu (käyttösalasana vaaditaan). Kirjoituksen varmistus epäonnistui (yritä uudelleen tai tägi voi olla viallinen. tyypillinen virheprosentti on 1–3 per 10 000).

💡

Paras käytäntö: Varmista aina kirjoittamisen jälkeen lukemalla tiedot takaisin ja vertaamalla. Kirjoituskomento saattaa onnistua, mutta vioittaa vierekkäisiä bittejä harvinaisissa tapauksissa. Luku-kirjoituksen jälkeinen varmennus 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]

Tunnisteen suojaus ja salasanat

EPC Gen2 -tunnisteet tukevat kahta 32-bittistä salasanaa turvallisuuden takaamiseksi. Access Password lukitsee tietyt muistipankit. Kun se on asetettu, pankki vaatii salasanan ennen lukua tai kirjoitusta. Kill Password poistaa tunnisteen pysyvästi käytöstä, kun se lähetetään. Peruuttamaton toiminto, jota käytetään ensisijaisesti kuluttajien yksityisyyden suojaamiseen vähittäiskaupassa (tunnisteen tuhoaminen kassalla).

Turvallisuuden parhaat käytännöt: Älä koskaan käytä oletussalasanaa (0x00000000) tuotannossa. se ei tarjoa mitään turvallisuutta. Luo ainutlaatuiset salasanat tunniste-erää kohden tai käytä yrityksen etuliitettäsi siemenenä. Tallenna salasanat taustajärjestelmääsi, älä koskaan itse tunnisteeseen (salasanan muisti voidaan lukea, jos tunniste on lukittu). Lukitse salasanapankit ohjelmoinnin jälkeen. Harkitse Untraceable-tilaa (saatavilla uudemmissa siruissa), joka piilottaa TID:n ja vähentää EPC:tä, mikä takaa yksityisyyden ilman tunnisteen tappamista.

⚠️

Kill-komento on pysyvä ja peruuttamaton. Sitä ei voi kumota. Kun tunniste on tapettu, se ei voi enää koskaan vastata lukijalle. Ota aina käyttöön kill-salasanan tarkistus ohjelmistossasi ja vaadi päällikön valtuutus ennen kill-komentojen suorittamista.