การเข้ารหัสแท็กและหน่วยความจำ EPC
เชี่ยวชาญสถาปัตยกรรมหน่วยความจำแท็กและการเข้ารหัส GS1 เพื่อการเชื่อมต่อในห่วงโซ่อุปทาน
หน่วยความจำทั้ง 4 ส่วน (Memory Banks)
แท็ก EPC Gen2 ทุกใบมีหน่วยความจำ (memory banks) ทั้งหมด 4 ส่วน โดยแต่ละส่วนมีวัตถุประสงค์การใช้งานที่แตกต่างกัน การทำความเข้าใจโครงสร้างนี้เป็นสิ่งสำคัญสำหรับการเข้ารหัส การอ่าน และการรักษาความปลอดภัยของแท็ก
Bank 00 (Reserved): ประกอบด้วย Kill Password ขนาด 32 บิต และ Access Password ขนาด 32 บิต ค่าเริ่มต้นคือ 0x00000000 โดย Kill Password จะทำให้แท็กใช้งานไม่ได้อย่างถาวรเมื่อมีการส่งคำสั่ง (ไม่สามารถย้อนกลับได้) ส่วน Access Password ใช้สำหรับล็อกหน่วยความจำเพื่อป้องกันการเขียนข้อมูลโดยไม่ได้รับอนุญาต
Bank 01 (EPC): ประกอบด้วย StoredCRC (16 บิต, คำนวณอัตโนมัติ), StoredPC/Protocol Control (16 บิต, ระบุความยาว EPC และความสามารถของแท็ก) และค่า EPC เอง ซึ่งโดยปกติจะมีขนาด 96 บิต (12 ไบต์) สำหรับ SGTIN-96 แท็กบางรุ่นรองรับ EPC ขนาด 128 บิต หรือสูงสุดถึง 496 บิต
Bank 10 (TID): หมายเลขระบุแท็กที่โปรแกรมมาจากโรงงาน (Tag Identifier) ประกอบด้วยรหัสผู้ผลิตชิป หมายเลขรุ่น และหมายเลขซีเรียลที่ไม่ซ้ำกัน หน่วยความจำส่วนนี้เป็นแบบอ่านอย่างเดียว (read-only) และไม่สามารถเปลี่ยนแปลงได้ จึงมีประโยชน์อย่างยิ่งในการป้องกันการปลอมแปลงและการตรวจสอบความถูกต้องของแท็ก
Bank 11 (User): ส่วนจัดเก็บข้อมูลเพิ่มเติม (ทางเลือก) ขนาดจะแตกต่างกันไปตามรุ่นของชิป เช่น NXP UCODE 9 มีขนาด 0 บิต (ไม่มีหน่วยความจำผู้ใช้), Quanray QStar-7U มีขนาด 512 บิต (64 ไบต์) สามารถใช้สำหรับเก็บหมายเลขล็อต (batch numbers), วันที่ตรวจสอบ, เกณฑ์อุณหภูมิ หรือบันทึกการบำรุงรักษา ควรตรวจสอบความจุที่ใช้งานได้ก่อนทำการเขียนข้อมูลเสมอ
การเข้ารหัส SGTIN-96 — ทีละขั้นตอน
SGTIN-96 เป็นรูปแบบ EPC ที่มีการใช้งานแพร่หลายที่สุด โดยจะเข้ารหัส GTIN-14 (บาร์โค้ดสินค้าของคุณ) พร้อมกับหมายเลขซีเรียลที่ไม่ซ้ำกันลงในข้อมูลขนาด 96 บิต (12 ไบต์) พอดี ซึ่งช่วยให้สามารถสร้างหมายเลขซีเรียลที่ไม่ซ้ำกันได้ถึง 2.74 แสนล้านหมายเลขต่อประเภทสินค้า
โครงสร้างขนาด 96 บิต: Header (8 บิต, สำหรับ SGTIN-96 จะเป็น 0x30 เสมอ) → Filter (3 บิต: 0=ทั้งหมด, 1=POS, 2=กล่องบรรจุเต็ม, 3=สำรองไว้, 4=แพ็คภายใน, 5=สำรองไว้, 6=หน่วยบรรจุสินค้า, 7=ส่วนประกอบ) → Partition (3 บิต: กำหนดวิธีการแบ่งบิตระหว่างรหัสบริษัทและรหัสอ้างอิงสินค้า) → Company Prefix (20–40 บิต) → Item Reference (4–24 บิต) → Serial Number (38 บิต)
ค่า Partition (0–6) จะเป็นตัวกำหนดความยาวของ Company Prefix: P=0 → prefix ขนาด 40-bit (12 หลัก), P=1 → 37-bit (11 หลัก), P=2 → 34-bit (10 หลัก), P=3 → 30-bit (9 หลัก), P=4 → 27-bit (8 หลัก), P=5 → 24-bit (7 หลัก), P=6 → 20-bit (6 หลัก) ความยาว GS1 company prefix ของคุณจะเป็นตัวกำหนดว่าต้องใช้ค่า partition ใด
ใช้เครื่องมือ Nextwaves TDS RFID Converter ที่ /tools/tds-rfid-converter เพื่อ encode และ decode ค่า SGTIN-96 แบบโต้ตอบได้ เพียงกรอก GTIN-14 + serial แล้วคุณจะได้รับค่า hex EPC ทันที
┌────────┬──────┬─────┬──────────────┬──────────────┬──────────────┐
│ 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รูปแบบ EPC อื่นๆ
นอกเหนือจาก SGTIN-96 แล้ว GS1 ยังกำหนดรูปแบบ EPC ขนาด 96-bit อื่นๆ สำหรับรหัสระบุตัวตนในซัพพลายเชนที่แตกต่างกัน โดยแต่ละรูปแบบจะมี header byte เป็นของตัวเอง
การอ่านและเขียนหน่วยความจำของแท็ก
การอ่านแท็กระหว่างการตรวจนับสินค้าคงคลังจะเป็นแบบ passive — เครื่องอ่านจะส่งสัญญาณ query และแท็กจะตอบกลับด้วยค่า EPC จาก Bank 01 แต่คุณยังสามารถเลือกอ่านหน่วยความจำ bank ใดก็ได้โดยการส่งคำสั่ง READ พร้อมระบุหมายเลข bank, word offset และ word count
การเขียนข้อมูลลงในแท็กต้องใช้ความแม่นยำสูงกว่า แท็กจะต้องถูกแยกแยะ (singulated) ให้เหลือเพียงแท็กเดียวที่ตอบสนอง และการเขียนจะเกิดขึ้นทีละหนึ่ง word (16 bits) การเขียน EPC ขนาด 96-bit ให้ครบถ้วนต้องใช้การเขียน word ต่อเนื่องกัน 6 ครั้ง การเขียนแต่ละครั้งใช้เวลา 10–20ms ดังนั้นการ encode แท็กหนึ่งใบจะใช้เวลา 60–120ms สำหรับข้อมูล EPC เพียงอย่างเดียว
ข้อผิดพลาดในการเขียนที่พบบ่อย: แท็กอยู่ห่างจากเสาอากาศเกินไป (การเขียนต้องใช้สัญญาณที่แรงกว่าการอ่าน — ควรให้แท็กอยู่ในระยะ 1 เมตร) มีแท็กหลายใบอยู่ในรัศมี (singulation ล้มเหลว — ให้แยกแท็กเป้าหมายออกมา) หน่วยความจำของแท็กถูกล็อก (ต้องใช้ access password) การตรวจสอบการเขียนล้มเหลว (ให้ลองใหม่ หรือแท็กอาจชำรุด — อัตราการชำรุดปกติอยู่ที่ 1–3 ต่อ 10,000 ใบ)
แนวทางปฏิบัติที่ดีที่สุด: ควรตรวจสอบความถูกต้องหลังการเขียนเสมอโดยการอ่านข้อมูลกลับมาเปรียบเทียบ คำสั่งเขียนอาจจะสำเร็จแต่ในบางกรณีที่เกิดขึ้นได้ยากอาจทำให้ bit ข้างเคียงเสียหาย การตรวจสอบแบบ read-after-write จะช่วยตรวจพบปัญหาเหล่านี้ได้
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]ความปลอดภัยของแท็กและรหัสผ่าน
แท็ก EPC Gen2 รองรับรหัสผ่านขนาด 32 บิต สองชุดเพื่อความปลอดภัย Access Password ใช้สำหรับล็อกหน่วยความจำเฉพาะส่วน — เมื่อตั้งค่าแล้ว ส่วนนั้นจะต้องใช้รหัสผ่านก่อนการอ่านหรือเขียนข้อมูลใดๆ Kill Password จะปิดการทำงานของแท็กอย่างถาวรเมื่อมีการส่งรหัส — ซึ่งเป็นการดำเนินการที่ไม่สามารถย้อนกลับได้ โดยส่วนใหญ่ใช้เพื่อความเป็นส่วนตัวของผู้บริโภคในการค้าปลีก (การทำลายแท็กหลังการชำระเงิน)
แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย: ห้ามใช้รหัสผ่านเริ่มต้นที่เป็นเลขศูนย์ทั้งหมด (0x00000000) ในการใช้งานจริง — เพราะไม่มีความปลอดภัยเลย ควรสร้างรหัสผ่านที่ไม่ซ้ำกันสำหรับแท็กแต่ละชุด หรือใช้คำนำหน้าของบริษัทเป็นค่าเริ่มต้น (seed) เก็บรหัสผ่านไว้ในระบบหลังบ้านของคุณ ห้ามเก็บไว้ในตัวแท็กเอง (หน่วยความจำรหัสผ่านสามารถถูกอ่านได้หากแท็กไม่ได้ถูกล็อก) ล็อกส่วนหน่วยความจำรหัสผ่านหลังจากโปรแกรมข้อมูลแล้ว พิจารณาใช้โหมด Untraceable (มีในชิปรุ่นใหม่) ซึ่งจะซ่อน TID และลดขนาด EPC เพื่อให้ความเป็นส่วนตัวโดยไม่ต้องทำลายแท็ก
คำสั่ง Kill เป็นแบบถาวรและไม่สามารถย้อนกลับได้ ไม่มีการยกเลิก เมื่อแท็กถูกทำลายแล้ว จะไม่สามารถตอบสนองต่อเครื่องอ่านใดๆ ได้อีก ควรใช้การตรวจสอบ kill-password ในซอฟต์แวร์ของคุณเสมอ และกำหนดให้ต้องมีการอนุมัติจากผู้จัดการก่อนดำเนินการคำสั่ง Kill
GS1 Digital Link
GS1 Digital Link เชื่อมโยงแท็ก RFID ทางกายภาพเข้ากับข้อมูลดิจิทัลที่เข้าถึงได้ผ่านเว็บ โดยจะแปลงข้อมูล EPC ให้เป็น URI มาตรฐานที่เชื่อมต่อไปยังข้อมูลผลิตภัณฑ์, บริการตรวจสอบสิทธิ์, ประกาศเรียกคืนสินค้า หรือข้อมูลด้านความยั่งยืน
ขั้นตอน: แท็ก EPC (เช่น 3034257BF7194E4000001A85) → ถอดรหัสเป็น GTIN-14 (80614141123458) + Serial (6789) → สร้าง URI: https://id.gs1.org/01/80614141123458/21/6789 โดย URI นี้สามารถเชื่อมต่อไปยังหน้าผลิตภัณฑ์ของคุณ, API ตรวจสอบสิทธิ์ หรือบริการใดๆ ที่ลงทะเบียนในเครือข่ายตัวแก้ไข GS1 Digital Link
การใช้งานจริง: สแกนเสื้อผ้าที่ติดแท็กในร้านค้าปลีก → URI จะแสดงคำแนะนำในการดูแลผลิตภัณฑ์, คู่มือขนาด และใบรับรองความยั่งยืน สแกนยาที่ติดแท็ก → URI จะแสดงการตรวจสอบสิทธิ์ (ผลิตภัณฑ์นี้เป็นของแท้หรือไม่?), วันหมดอายุ และสถานะการเรียกคืน สแกนสินทรัพย์ที่ติดแท็ก → URI จะแสดงประวัติการบำรุงรักษาและกำหนดการตรวจสอบ
เครื่องมือของ Nextwaves จะสร้าง Digital Link URI โดยอัตโนมัติเมื่อถอดรหัส SGTIN-96 EPC ใดๆ ใช้ตัวแปลง TDS ออนไลน์หรือเครื่องมือ MCP decode_sgtin96 เพื่อสร้าง Digital Link ได้ทันที
อ่านเพิ่มเติม
สำรวจคู่มือ RFID เพิ่มเติมเพื่อเพิ่มพูนความรู้ของคุณ
เริ่มต้นใช้งาน RFID
คู่มือเชิงปฏิบัติเพื่อทำความเข้าใจเทคโนโลยี UHF RFID — ตั้งแต่วิธีที่คลื่นวิทยุให้พลังงานแก่แท็กแบบพาสซีฟ ไปจนถึงการอ่านข้อมูล EPC และการเข้ารหัสแท็กแรกของคุณ
ระดับกลางการจัดวางและเพิ่มประสิทธิภาพเสาอากาศ
คู่มือปฏิบัติเพื่อเพิ่มอัตราการอ่าน RFID ให้สูงสุดผ่านการเลือกเสาอากาศ การจัดวางตำแหน่ง และการปรับจูน RF ที่เหมาะสม พร้อมการวัดผลจริงและตัวอย่างการติดตั้ง
ระดับสูงการติดตั้งใช้งานเครื่องอ่านหลายเครื่อง
คู่มือสถาปัตยกรรมสำหรับการติดตั้งเครื่องอ่าน RFID หลายเครื่องในการใช้งานจริง — กลยุทธ์การประสานงาน, การจัดการความถี่ และรูปแบบการติดตั้งที่ผ่านการพิสูจน์แล้ว