Lanjutan

Pengkodean Tag & Memori EPC

Kuasai arsitektur memori tag dan pengkodean GS1 untuk integrasi rantai pasokan

4 Bank Memori

Setiap tag EPC Gen2 memiliki tepat 4 bank memori, masing-masing melayani tujuan tertentu. Memahami struktur ini sangat penting untuk pengkodean, pembacaan, dan pengamanan tag Anda.

Bank 00 (Reserved): Berisi Kata Sandi Kill 32-bit dan Kata Sandi Akses 32-bit. Nilai default adalah 0x00000000. Kata sandi kill secara permanen menonaktifkan tag saat dikirim. tidak dapat dibatalkan. Kata sandi akses mengunci bank memori untuk mencegah penulisan yang tidak sah.

Bank 01 (EPC): Berisi StoredCRC (16 bit, dihitung otomatis), StoredPC/Protocol Control (16 bit, menunjukkan panjang EPC dan kemampuan tag), dan nilai EPC itu sendiri. biasanya 96 bit (12 byte) untuk SGTIN-96. Beberapa tag mendukung EPC 128-bit atau bahkan 496-bit.

Bank 10 (TID): Pengidentifikasi Tag yang diprogram pabrik. Berisi kode pabrikan chip, nomor model, dan nomor seri unik. Bank ini hanya dapat dibaca dan tidak pernah dapat diubah. menjadikannya sangat berharga untuk anti-pemalsuan dan autentikasi tag.

Bank 11 (Pengguna): Penyimpanan tambahan opsional. Ukuran bervariasi menurut chip: NXP UCODE 9 memiliki 0 bit (tidak ada memori pengguna), Quanray QStar-7U memiliki 512 bit (64 byte). Gunakan untuk nomor batch, tanggal inspeksi, ambang suhu, atau catatan pemeliharaan. Selalu periksa kapasitas yang tersedia sebelum menulis.

Pengkodean SGTIN-96. Langkah demi Langkah

SGTIN-96 adalah skema EPC yang paling banyak digunakan. Ia mengenkode GTIN-14 (barcode produk Anda) ditambah nomor seri unik menjadi tepat 96 bit (12 byte). Hal ini memungkinkan hingga 274 miliar nomor seri unik per jenis produk.

Struktur 96-bit: Header (8 bit, selalu 0x30 untuk SGTIN-96) → Filter (3 bit: 0=semua, 1=POS, 2=full case, 3=reserved, 4=inner pack, 5=reserved, 6=unit load, 7=komponen) → Partisi (3 bit: mendefinisikan bagaimana bit dibagi antara awalan perusahaan dan referensi item) → Awalan Perusahaan (20–40 bit) → Referensi Item (4–24 bit) → Nomor Seri (38 bit).

Nilai Partisi (0–6) menentukan panjang Awalan Perusahaan: 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 perusahaan GS1 Anda menentukan nilai partisi mana yang akan digunakan.

💡

Gunakan alat Nextwaves TDS RFID Converter di /tools/tds-rfid-converter untuk mengenkode dan mendekode nilai SGTIN-96 secara interaktif. Masukkan GTIN-14 + serial Anda dan dapatkan EPC hex secara instan.

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

Skema EPC Lainnya

Di luar SGTIN-96, GS1 mendefinisikan beberapa skema EPC 96-bit lainnya untuk pengidentifikasi rantai pasokan yang berbeda. Masing-masing memiliki byte header sendiri.

Membaca & Menulis Memori Tag

Membaca tag selama inventaris bersifat pasif. pembaca menyiarkan kueri dan tag merespons dengan EPC mereka dari Bank 01. Tetapi Anda juga dapat secara eksplisit membaca bank memori apa pun dengan mengirimkan perintah READ dengan nomor bank, offset kata, dan jumlah kata.

Menulis ke tag membutuhkan lebih banyak presisi. Tag harus disingulasi (hanya satu tag yang merespons), dan penulisan terjadi satu kata (16 bit) pada satu waktu. Penulisan EPC 96-bit penuh membutuhkan 6 penulisan kata berurutan. Setiap penulisan membutuhkan waktu 10–20ms, jadi pengkodean satu tag membutuhkan waktu 60–120ms hanya untuk data EPC.

Kegagalan penulisan yang umum: Tag terlalu jauh dari antena (membutuhkan sinyal yang lebih kuat untuk penulisan daripada pembacaan. dekatkan tag dalam jarak 1m). Beberapa tag di lapangan (singulasi gagal. isolasi tag target). Memori tag terkunci (diperlukan kata sandi akses). Verifikasi penulisan gagal (coba lagi, atau tag mungkin rusak. tingkat kerusakan tipikal adalah 1–3 per 10.000).

💡

Praktik terbaik: Selalu verifikasi setelah menulis dengan membaca kembali data dan membandingkan. Perintah tulis mungkin berhasil tetapi merusak bit yang berdekatan dalam kasus yang jarang terjadi. Verifikasi baca-setelah-tulis menangkap masalah 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]

Keamanan Tag & Kata Sandi

Tag EPC Gen2 mendukung dua kata sandi 32-bit untuk keamanan. Kata Sandi Akses mengunci bank memori tertentu. setelah diatur, bank tersebut memerlukan kata sandi sebelum operasi baca atau tulis apa pun. Kata Sandi Kill secara permanen menonaktifkan tag saat ditransmisikan. operasi yang tidak dapat dibatalkan yang terutama digunakan untuk privasi konsumen dalam ritel (menghancurkan tag setelah checkout).

Praktik terbaik keamanan: Jangan pernah menggunakan kata sandi default semua-nol (0x00000000) dalam produksi. itu tidak memberikan keamanan. Hasilkan kata sandi unik per batch tag atau gunakan awalan perusahaan Anda sebagai benih. Simpan kata sandi di sistem backend Anda, jangan pernah di tag itu sendiri (memori kata sandi dapat dibaca jika tag tidak terkunci). Kunci bank kata sandi setelah pemrograman. Pertimbangkan mode Untraceable (tersedia di chip yang lebih baru) yang menyembunyikan TID dan mengurangi EPC, memberikan privasi tanpa membunuh tag.

⚠️

Perintah Kill bersifat permanen dan tidak dapat dibatalkan. Tidak ada batalkan. Setelah tag dimatikan, tag tersebut tidak akan pernah dapat merespons pembaca lagi. Selalu terapkan verifikasi kata sandi kill di perangkat lunak Anda dan minta otorisasi manajer sebelum menjalankan perintah kill.