Lanjutan

Pengekodan Tag & Memori EPC

Kuasai seni bina memori tag dan pengekodan GS1 untuk integrasi rantaian bekalan

4 Bank Memori

Setiap tag EPC Gen2 mempunyai tepat 4 bank memori, setiap satu berfungsi untuk tujuan tertentu. Memahami struktur ini adalah penting untuk pengekodan, membaca, dan mengamankan tag anda.

Bank 00 (Reserved): Mengandungi Kata Laluan Bunuh 32-bit dan Kata Laluan Akses 32-bit. Nilai lalai ialah 0x00000000. Kata laluan bunuh mematikan tag secara kekal apabila dihantar. tidak boleh balik. Kata laluan akses mengunci bank memori untuk mengelakkan penulisan yang tidak dibenarkan.

Bank 01 (EPC): Mengandungi StoredCRC (16 bit, dikira secara automatik), StoredPC/Kawalan Protokol (16 bit, menunjukkan panjang EPC dan keupayaan tag), dan nilai EPC itu sendiri. biasanya 96 bit (12 bait) untuk SGTIN-96. Sesetengah tag menyokong EPC 128-bit atau malah 496-bit.

Bank 10 (TID): Pengecam Tag yang diprogramkan kilang. Mengandungi kod pengilang cip, nombor model, dan nombor siri yang unik. Bank ini hanya boleh dibaca dan tidak boleh diubah. menjadikannya tidak ternilai untuk anti-pemalsuan dan pengesahan tag.

Bank 11 (Pengguna): Storan tambahan pilihan. Saiz berbeza mengikut cip: NXP UCODE 9 mempunyai 0 bit (tiada memori pengguna), Quanray QStar-7U mempunyai 512 bit (64 bait). Gunakannya untuk nombor kelompok, tarikh pemeriksaan, ambang suhu, atau rekod penyelenggaraan. Sentiasa semak kapasiti yang tersedia sebelum menulis.

Pengekodan SGTIN-96. Langkah demi Langkah

SGTIN-96 ialah skim EPC yang paling banyak digunakan. Ia mengekod GTIN-14 (kod bar produk anda) serta nombor siri unik ke dalam tepat 96 bit (12 bait). Ini membenarkan sehingga 274 bilion nombor siri unik bagi setiap jenis produk.

Struktur 96-bit: Header (8 bit, sentiasa 0x30 untuk SGTIN-96) → Filter (3 bit: 0=semua, 1=POS, 2=kes penuh, 3=diketepikan, 4=pek dalam, 5=diketepikan, 6=muatan unit, 7=komponen) → Partition (3 bit: mentakrifkan cara bit dibahagikan antara awalan syarikat dan rujukan item) → Awalan Syarikat (20–40 bit) → Rujukan Item (4–24 bit) → Nombor Siri (38 bit).

Nilai Partition (0–6) menentukan panjang Awalan Syarikat: P=0 → awalan 40-bit (12 digit), P=1 → 37-bit (11 digit), P=2 → 34-bit (10 digit), P=3 → 30-bit (9 digit), P=4 → 27-bit (8 digit), P=5 → 24-bit (7 digit), P=6 → 20-bit (6 digit). Panjang awalan syarikat GS1 anda menentukan nilai partition yang hendak digunakan.

💡

Gunakan alat Penukar RFID TDS Nextwaves di /tools/tds-rfid-converter untuk mengekod dan menyahkod nilai SGTIN-96 secara interaktif. Masukkan GTIN-14 + siri anda dan dapatkan EPC hex serta-merta.

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

Skim EPC Lain

Di luar SGTIN-96, GS1 mentakrifkan beberapa skim EPC 96-bit lain untuk pengecam rantaian bekalan yang berbeza. Setiap satu mempunyai bait pengepala sendiri.

Membaca & Menulis Memori Tag

Membaca tag semasa inventori adalah pasif. pembaca menyiarkan pertanyaan dan tag membalas dengan EPC mereka daripada Bank 01. Tetapi anda juga boleh membaca secara eksplisit mana-mana bank memori dengan menghantar arahan BACA dengan nombor bank, ofset perkataan, dan kiraan perkataan.

Menulis ke tag memerlukan lebih ketepatan. Tag mesti disingularkan (hanya satu tag yang membalas), dan penulisan berlaku satu perkataan (16 bit) pada satu masa. Penulisan EPC 96-bit penuh memerlukan 6 penulisan perkataan berurutan. Setiap penulisan mengambil masa 10–20ms, jadi pengekodan satu tag mengambil masa 60–120ms untuk data EPC sahaja.

Kegagalan menulis yang biasa: Tag terlalu jauh dari antena (memerlukan isyarat yang lebih kuat untuk menulis berbanding membaca. bawa tag dalam jarak 1m). Pelbagai tag dalam medan (singulasi gagal. asingkan tag sasaran). Memori tag dikunci (kata laluan akses diperlukan). Penulisan pengesahan gagal (cuba semula, atau tag mungkin rosak. kadar kecacatan biasa ialah 1–3 per 10,000).

💡

Amalan terbaik: Sentiasa sahkan selepas menulis dengan membaca semula data dan membandingkan. Arahan tulis mungkin berjaya tetapi merosakkan bit bersebelahan dalam kes yang jarang berlaku. Pengesahan baca-selepas-tulis menangkap isu ini.

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]

Keselamatan & Kata Laluan Tag

Tag EPC Gen2 menyokong dua kata laluan 32-bit untuk keselamatan. Kata Laluan Akses mengunci bank memori tertentu. setelah ditetapkan, bank itu memerlukan kata laluan sebelum sebarang operasi baca atau tulis. Kata Laluan Kill melumpuhkan tag secara kekal apabila dihantar. operasi yang tidak boleh diterbalikkan terutamanya digunakan untuk privasi pengguna dalam runcit (memusnahkan tag selepas daftar keluar).

Amalan terbaik keselamatan: Jangan sekali-kali menggunakan kata laluan sifar-semua lalai (0x00000000) dalam pengeluaran. ia tidak memberikan sebarang keselamatan. Jana kata laluan unik bagi setiap kelompok tag atau gunakan awalan syarikat anda sebagai benih. Simpan kata laluan dalam sistem backend anda, jangan sekali-kali pada tag itu sendiri (memori kata laluan boleh dibaca jika tag dibuka). Kunci bank kata laluan selepas pengaturcaraan. Pertimbangkan mod Tidak Boleh Dikesan (tersedia pada cip yang lebih baharu) yang menyembunyikan TID dan mengurangkan EPC, memberikan privasi tanpa membunuh tag.

⚠️

Arahan Kill adalah kekal dan tidak boleh diterbalikkan. Tiada batal. Sebaik sahaja tag dibunuh, ia tidak akan dapat bertindak balas kepada mana-mana pembaca lagi. Sentiasa laksanakan pengesahan kata laluan kill dalam perisian anda dan perlukan kebenaran pengurus sebelum melaksanakan arahan kill.