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.
┌────────┬──────┬─────┬──────────────┬──────────────┬──────────────┐
│ 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: 80614141123458Muut 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.
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.
GS1 Digital Link -integraatio
GS1 Digital Link yhdistää fyysiset RFID-tagit web-käytettävään digitaaliseen tietoon. Se muuntaa EPC-datan standardiksi URI:ksi, joka ratkaisee tuotetietoihin, todennuspalveluihin, takaisinvetoilmoituksiin tai kestävyystietoihin.
Kulku: Tagin EPC (esim. 3034257BF7194E4000001A85) → Dekoodaa GTIN-14:ksi (80614141123458) + Sarjanumeroksi (6789) → Rakenna URI: https://id.gs1.org/01/80614141123458/21/6789. Tämä URI voi ratketa tuotesivullesi, todennus-API:si tai mihin tahansa GS1 Digital Link -resoluutioverkkoon rekisteröityyn palveluun.
Käytännön käyttötarkoitukset: Skannaa tagilla varustettu vaatekappale vähittäismyymälässä → URI ratkaisee tuotteen hoito-ohjeisiin, kokotaulukkoon ja kestävyyssertifikaatteihin. Skannaa tagilla varustettu lääke → URI ratkaisee todennukseen (onko tämä tuote aito?), viimeiseen käyttöpäivään ja takaisinvetoasemaan. Skannaa tagilla varustettu resurssi → URI ratkaisee huoltohistoriaan ja tarkastusaikatauluun.
Nextwavesin työkalut generoivat automaattisesti Digital Link -URI:t dekoodattaessa mitä tahansa SGTIN-96 EPC:tä. Käytä online TDS -muuntimea tai MCP decode_sgtin96 -työkalua välitöntä Digital Link -generointia varten.