Papildu

Taga kodēšana un EPC atmiņa

Apgūstiet tagu atmiņas arhitektūru un GS1 kodēšanu piegādes ķēdes integrācijai

4 atmiņas bankas

Katram EPC Gen2 tagam ir tieši 4 atmiņas bankas, un katra no tām kalpo noteiktam mērķim. Šīs struktūras izpratne ir būtiska jūsu tagu kodēšanai, lasīšanai un nodrošināšanai.

Bank 00 (Reserved): Satur 32 bitu Kill paroli un 32 bitu piekļuves paroli. Noklusējuma vērtības ir 0x00000000. Kill parole neatgriezeniski atspējo tagu, kad tas tiek nosūtīts. neatgriezeniski. Piekļuves parole bloķē atmiņas bankas, lai novērstu neatļautu rakstīšanu.

Bank 01 (EPC): Satur StoredCRC (16 biti, automātiski aprēķināts), StoredPC/Protocol Control (16 biti, norāda EPC garumu un tagu iespējas) un pašu EPC vērtību. parasti 96 biti (12 baiti) SGTIN-96. Daži tagi atbalsta 128 bitu vai pat 496 bitu EPC.

Bank 10 (TID): Rūpnīcā ieprogrammēts Tag Identifier. Satur mikroshēmas ražotāja kodu, modeļa numuru un unikālu sērijas numuru. Šī banka ir paredzēta tikai lasīšanai, un to nekad nevar mainīt. padarot to nenovērtējamu pretviltošanas un tagu autentifikācijai.

Bank 11 (User): Papildu papildu atmiņa. Izmērs atšķiras atkarībā no mikroshēmas: NXP UCODE 9 ir 0 biti (nav lietotāja atmiņas), Quanray QStar-7U ir 512 biti (64 baiti). Izmantojiet to partijas numuriem, pārbaudes datumiem, temperatūras sliekšņiem vai apkopes ierakstiem. Vienmēr pārbaudiet pieejamo ietilpību pirms rakstīšanas.

SGTIN-96 kodēšana. Soli pa solim

SGTIN-96 ir visplašāk izmantotā EPC shēma. Tā kodē GTIN-14 (jūsu produkta svītrkodu) un unikālu sērijas numuru tieši 96 bitos (12 baitos). Tas ļauj līdz 274 miljardiem unikālu sērijas numuru vienam produkta veidam.

96 bitu struktūra: Galvene (8 biti, vienmēr 0x30 SGTIN-96) → Filtrs (3 biti: 0=visi, 1=POS, 2=pilns korpuss, 3=rezervēts, 4=iekšējais iepakojums, 5=rezervēts, 6=vienības slodze, 7=komponents) → Partīcija (3 biti: definē, kā biti tiek sadalīti starp uzņēmuma prefiksu un vienuma atsauci) → Uzņēmuma prefikss (20–40 biti) → Vienuma atsauce (4–24 biti) → Sērijas numurs (38 biti).

Partīcijas vērtība (0–6) nosaka uzņēmuma prefiksa garumu: P=0 → 40 bitu prefikss (12 cipari), P=1 → 37 bitu (11 cipari), P=2 → 34 bitu (10 cipari), P=3 → 30 bitu (9 cipari), P=4 → 27 bitu (8 cipari), P=5 → 24 bitu (7 cipari), P=6 → 20 bitu (6 cipari). Jūsu GS1 uzņēmuma prefiksa garums nosaka, kuru partīcijas vērtību izmantot.

💡

Izmantojiet Nextwaves TDS RFID konvertēšanas rīku vietnē /tools/tds-rfid-converter, lai interaktīvi kodētu un dekodētu SGTIN-96 vērtības. Ievadiet savu GTIN-14 + sērijas numuru un nekavējoties saņemiet 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

Citas EPC shēmas

Papildus SGTIN-96, GS1 definē vairākas citas 96 bitu EPC shēmas dažādiem piegādes ķēdes identifikatoriem. Katram ir savs galvenes baits.

Taga atmiņas lasīšana un rakstīšana

Tagu lasīšana krājumu laikā ir pasīva. lasītājs pārraida vaicājumu, un tagi atbild ar savu EPC no Bank 01. Bet jūs varat arī skaidri nolasīt jebkuru atmiņas banku, nosūtot READ komandu ar bankas numuru, vārda nobīdi un vārdu skaitu.

Rakstīšana tagos prasa lielāku precizitāti. Tags ir jāsingulē (jāatbild tikai vienam tagam), un rakstīšana notiek pa vienam vārdam (16 biti) vienlaikus. Pilnai 96 bitu EPC rakstīšanai ir nepieciešamas 6 secīgas vārdu rakstīšanas. Katra rakstīšana aizņem 10–20 ms, tāpēc viena taga kodēšana aizņem 60–120 ms tikai EPC datiem.

Bieži rakstīšanas kļūmes: Tags pārāk tālu no antenas (rakstīšanai nepieciešams spēcīgāks signāls nekā lasīšanai. Novietojiet tagu 1 m attālumā). Vairāki tagi laukā (singulācija neizdevās. Izolējiet mērķa tagu). Taga atmiņa bloķēta (nepieciešama piekļuves parole). Rakstīšanas verifikācija neizdevās (mēģiniet vēlreiz vai tags var būt bojāts. Tipiskais defektu līmenis ir 1–3 uz 10 000).

💡

Labākā prakse: Vienmēr pārbaudiet pēc rakstīšanas, nolasot datus un salīdzinot. Rakstīšanas komanda var izdoties, bet retos gadījumos var sabojāt blakus esošos bitus. Pārbaude pēc rakstīšanas atklāj šīs problēmas.

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]

Tagu drošība un paroles

EPC Gen2 tagi atbalsta divas 32 bitu paroles drošībai. Piekļuves parole bloķē noteiktas atmiņas bankas. Pēc iestatīšanas šai bankai ir nepieciešama parole pirms jebkuras lasīšanas vai rakstīšanas operācijas. Kill parole neatgriezeniski atspējo tagu, kad tas tiek pārraidīts. neatgriezeniska darbība, ko galvenokārt izmanto patērētāju privātumam mazumtirdzniecībā (iznīcinot tagu pēc norēķināšanās).

Drošības paraugprakses: Nekad neizmantojiet noklusējuma visu nulles paroli (0x00000000) ražošanā. tas nodrošina nulles drošību. Ģenerējiet unikālas paroles katrai tagu partijai vai izmantojiet savas kompānijas prefiksu kā sēklu. Saglabājiet paroles savā fona sistēmā, nekad pašā tagā (paroles atmiņu var nolasīt, ja tags ir atbloķēts). Bloķējiet paroles bankas pēc programmēšanas. Apsveriet neizsekojamu režīmu (pieejams jaunākos mikroshēmās), kas slēpj TID un samazina EPC, nodrošinot privātumu, neiznīcinot tagu.

⚠️

Komanda “Kill” ir pastāvīga un neatgriezeniska. Nav iespējams atsaukt. Kad tags ir iznīcināts, tas vairs nekad nevar atbildēt nevienam lasītājam. Vienmēr ieviesiet kill-paroles verifikāciju savā programmatūrā un pieprasiet vadītāja autorizāciju pirms kill komandu izpildes.