Advanced

Pag-encode ng Tag at EPC Memory

Maging dalubhasa sa arkitektura ng memorya ng tag at pag-encode ng GS1 para sa integrasyon ng supply chain

Ang 4 na Memory Bank

Bawat EPC Gen2 tag ay may eksaktong 4 na memory bank, bawat isa ay may tiyak na layunin. Ang pag-unawa sa estrukturang ito ay mahalaga para sa pag-encode, pagbabasa, at pag-secure ng inyong mga tag.

Bank 00 (Reserved): Naglalaman ng 32-bit Kill Password at 32-bit Access Password. Ang default na halaga ay 0x00000000. Ang kill password ay permanenteng nagdi-disable ng tag kapag naipadala. Hindi na mababago. Ang access password ay nagla-lock ng mga memory bank upang maiwasan ang hindi awtorisadong pagsulat.

Bank 01 (EPC): Naglalaman ng StoredCRC (16 bits, awtomatikong kinukuwenta), StoredPC/Protocol Control (16 bits, nagpapahiwatig ng haba ng EPC at kakayahan ng tag), at ang mismong halaga ng EPC. Karaniwang 96 bits (12 bytes) para sa SGTIN-96. Ang ilang mga tag ay sumusuporta sa 128-bit o kahit 496-bit na EPC.

Bank 10 (TID): Factory-programmed Tag Identifier. Naglalaman ng code ng tagagawa ng chip, numero ng modelo, at natatanging serial number. Ang bankong ito ay read-only at hindi kailanman mababago, kaya napakahalaga ito para sa anti-counterfeiting at authentication ng tag.

Bank 11 (User): Opsyonal na karagdagang storage. Ang sukat ay nag-iiba depende sa chip: NXP UCODE 9 ay may 0 bits (walang user memory), Quanray QStar-7U ay may 512 bits (64 bytes). Gamitin ito para sa mga batch number, petsa ng inspeksyon, threshold ng temperatura, o mga rekord ng maintenance. Laging suriin ang available na kapasidad bago magsulat.

Pag-encode ng SGTIN-96. Hakbang-hakbang

Ang SGTIN-96 ay ang pinaka-malawak na ginagamit na EPC scheme. Nag-eencode ito ng GTIN-14 (ang barcode ng iyong produkto) plus isang natatanging serial number sa eksaktong 96 bits (12 bytes). Pinapayagan nito ang hanggang 274 bilyong natatanging serial number bawat uri ng produkto.

Ang 96-bit na istruktura: Header (8 bits, palaging 0x30 para sa SGTIN-96) → Filter (3 bits: 0=all, 1=POS, 2=full case, 3=reserved, 4=inner pack, 5=reserved, 6=unit load, 7=component) → Partition (3 bits: tinutukoy kung paano hinahati ang bits sa pagitan ng company prefix at item reference) → Company Prefix (20–40 bits) → Item Reference (4–24 bits) → Serial Number (38 bits).

Ang Partition value (0–6) ay tumutukoy sa haba ng Company Prefix: P=0 → 40-bit prefix (12 digits), P=1 → 37-bit (11 digits), P=2 → 34-bit (10 digits), P=3 → 30-bit (9 digits), P=4 → 27-bit (8 digits), P=5 → 24-bit (7 digits), P=6 → 20-bit (6 digits). Ang haba ng iyong GS1 company prefix ay nagtatakda kung aling partition value ang gagamitin.

💡

Gamitin ang Nextwaves TDS RFID Converter tool sa /tools/tds-rfid-converter upang i-encode at i-decode ang mga SGTIN-96 value nang interactive. Ipasok ang iyong GTIN-14 + serial at makuha agad ang hex 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

Iba pang EPC Schemes

Bukod sa SGTIN-96, nagtatakda ang GS1 ng ilang iba pang 96-bit EPC scheme para sa iba't ibang supply chain identifier. Bawat isa ay may sariling header byte.

Pagbabasa at Pagsusulat ng Memorya ng Tag

Ang pagbabasa ng mga tag habang nag-iinventory ay passive. Ang reader ay nag-broadcast ng query at ang mga tag ay tumutugon ng kanilang EPC mula sa Bank 01. Ngunit maaari mo ring tahasang basahin ang anumang memory bank sa pamamagitan ng pagpapadala ng READ command kasama ang bank number, word offset, at word count.

Ang pagsulat sa mga tag ay nangangailangan ng mas mataas na precision. Dapat singulated ang tag (isang tag lamang ang tumutugon), at ang mga pagsulat ay nangyayari isang word (16 bits) bawat isa. Ang buong 96-bit EPC write ay nangangailangan ng 6 sunud-sunod na word writes. Ang bawat write ay tumatagal ng 10–20ms, kaya ang pag-encode ng isang tag ay tumatagal ng 60–120ms para sa EPC data lamang.

Karaniwang mga pagkabigo sa pagsulat: Tag masyadong malayo sa antenna (kailangan ng mas malakas na signal para sa pagsulat kaysa sa pagbabasa. dalhin ang tag sa loob ng 1m). Maraming tag sa field (nabigong singulation. i-isolate ang target na tag). Nakakandado ang memory ng tag (kailangan ang access password). Nabigong write verify (subukang muli, o maaaring depektibo ang tag. tipikal na defect rate ay 1–3 kada 10,000).

💡

Pinakamainam na kasanayan: Laging i-verify pagkatapos magsulat sa pamamagitan ng pagbasa muli ng data at paghahambing. Maaaring magtagumpay ang write command ngunit masira ang kalapit na bits sa bihirang kaso. Ang read-after-write verification ay nakaka-detect ng mga isyung ito.

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]

Seguridad ng Tag at mga Password

Sinusuportahan ng mga EPC Gen2 tag ang dalawang 32-bit na password para sa seguridad. Ang Access Password ay nagla-lock ng tiyak na mga memory bank. Kapag naitakda na, ang bankong iyon ay nangangailangan ng password bago anumang operasyon ng pagbabasa o pagsulat. Ang Kill Password ay permanenteng nagdi-disable ng tag kapag naipadala. Isang hindi na mababalik na operasyon na pangunahing ginagamit para sa privacy ng consumer sa retail (pagwawasak ng tag pagkatapos ng checkout).

Mga pinakamahusay na kasanayan sa seguridad: Huwag kailanman gamitin ang default na all-zeros na password (0x00000000) sa production. Walang seguridad ito. Lumikha ng natatanging mga password para sa bawat batch ng tag o gamitin ang prefix ng inyong kumpanya bilang seed. Itago ang mga password sa inyong backend system, hindi kailanman sa mismong tag (maaaring basahin ang memorya ng password kung ang tag ay naka-unlock). I-lock ang mga password bank pagkatapos ng programming. Isaalang-alang ang Untraceable mode (available sa mga mas bagong chip) na nagtatago ng TID at nagbabawas ng EPC, na nagbibigay ng privacy nang hindi pinapatay ang tag.

⚠️

Ang Kill command ay permanente at hindi na mababago. Walang undo. Kapag napatay na ang isang tag, hindi na ito makakasagot sa anumang reader muli. Laging ipatupad ang beripikasyon ng kill-password sa inyong software at hingin ang pahintulot ng manager bago isagawa ang mga kill command.