Phương Thức Lưu Trữ Dữ Liệu Trên Thẻ RFID
Để có thể hiểu được cơ chế truyền dữ liệu và các ký thuật liên quan đến công nghệ RFID chúng ta sẽ tìm hiểu những thuật ngữ và khái niệm ban đầu cũng như cách lưu trữ dữ liệu trên thẻ RFID
THUẬT NGỮ VÀ KHÁI NIỆM
Giao thức : ” Một tập các quy tắc chính thức mô tả cách truyền dữ liệu, đặc biệt là qua một mạng. Các giao thức cấp thấp xác định các tiêu chuẩn về điện, về vật lý được tiến hành theo kiểu byte, việc truyền, việc phát hiện lỗi và hiệu chỉnh chuỗi bit.
PHƯƠNG THỨC LƯU TRỮ DỮ LIỆU TRÊN THẺ RFID
Giao thức truyền thông tag cấp cao hiểu được các loại ID và phương thức lưu trữ dữ liệu trên tag. Tuy nhiên vì một reader chỉ liên lạc với một tag nên sắp xếp về mặt vật lý thực tế của bộ nhớ trên tag tùy thuộc vào nhà sản xuất. Layout có cấu trúc như hình vẽ:
Trong đó:
– CRC là một checksum
– EPC là ID của tag.
– Password là một “mã chết” để làm mất khả năng hoạt động của tag.
Chuẩn EPC phiên bản 1.1 (hay 1.26) định nghĩa EPC là mô hình meta-coding vì nó cho phép ID hiện tại được mã hóa sang ID EPC hoặc tạo ID mới hoàn toàn. Chuẩn này định nghĩa mã hóa General ID (GID) dùng để tạo mô hình nhận dạng mới và năm kiểu mã hóa cụ thể được gọi là các ID hệ thống cho những ứng dụng cụ thể. Các ID hệ thống dựa trên các ID GS1 hiện tại (EAN.UCC).
Bảng các từ định danh ứng dụng phía dưới mô tả các loại mã hóa này và ví dụ về ứng dụng của chúng. ID ứng dụng là một số làm tiền tố trong mã vạch để phân biệt ID.
CCITT-CRC
CRC (Cyclic Redundancy Check) là một phương pháp xác minh một khối dữ liệu không thích hợp do đã bị sửa đổi. Người gửi khối dữ liệu này sẽ tính một giá trị bằng cách xử lý toàn khối thành một số lớn và chia nó bởi một số được gọi là đa thức CRC. Số dư của phép toán này là CRC. Người gửi sẽ gửi CRC này cùng với dữ liệu và người nhận dùng phương pháp tương tự để tính CRC qua khối dữ liệu để so sánh. Nếu CRC từ người gửi không thỏa với CRC đã được tính bởi người nhận thì người nhận yêu cầu dữ liệu được gửi lại. Để phát sinh CRC, các giao thức EPC sử dụng đa thức CCITT-CRC mà nó giống đa thức được sử dụng để phát hiện lỗi trong hầu hết các ổ đĩa và trong các giao thức truyền file XMODEM. Giao thức này dùng chuỗi 16 bit CRC sử dụng đa thức x16+x12+x5+1. Nó có thể bắt được 99.998% lỗi.
Thuật toán tính CRC: Đầu tiên tính giá trị hex cho đa thức. Thực hiện bằng cách tính từ 15 xuống (vì đây là chuỗi CRC 16 bit) và đánh dấu 1 cho mỗi lũy thừa xuất hiện trong đa thức. Đối với mỗi lũy thừa không có trong đa thức ta đánh dấu 0. Điều này có nghĩa là ta có 1 ở vị trí 212 và 1 ở vị trí 25. Vì đa thức kết thúc là 1, ta cộng 1 vào cuối số, số đó là một số 0001000000100001 hoặc số hex 1021(số này là CCITT). Lấy đa thức khối dữ liệu chia cho đa thức này, số dư là CRC.
GID định nghĩa một header, 3 trường: General Manager Number (GMN), Object Class, Serial Number. GMN được EPCglobal gán cho công ty hoặc thực thể và nó là duy nhất. Trường Object Class và trường Serial Number không cần phải là duy nhất cho một General Manager, các General Manager khác nhau có thể dùng cùng Object Class và Serial Number.
Lưu ý “identity” có ý nghĩa như đã mô tả trong phần trước . EPC định nghĩa 3 lớp nhận dạng: Lớp nhận dạng Pure (nguyên chất), lớp Encoding (mã hóa), lớp Physical Realization of an Encoding ( sự thực hiện vật lý của một mã hóa ). Lớp nhận dạng ppurelaf một cái tên hoặc con số trừu tượng để nhận dạng một cái gì đó. Nhận dạng này vẫn không quan tâm đến công nghệ để gắn nó vào một sản phẩm. Mã hóa là một thủ tục phối hợp nhận dạng pure với một thông tin cụ thể có cú pháp, như giá trị lọc hoặc checksum, sau đó biểu diễn thông tin phối hợp nhận dạng pure với một thông tin cụ thể có cú pháp, như giá trị lọc hoặc checksum, sau đó biểu diễn thông tin này theo dạng có cú pháp. Nhận dạng pure có thể được biểu diễn theo dạng mã hóa mã vạch, mã hóa tag RFID hoặc một EPC URI (Uniform Resource Identifier) được in ra một tờ giấy. Physical realization of an encoding là một phép biến đổi riêng của mã hóa đó cho phép lưu trữ nó ở dạng mã vạch, ghi vào bộ nhớ của tag hoặc được thực hiện qua một vài công nghệ khác. Hình sau cho một ví dụ minh họa về mã hóa một nhận dạng pure như mã vạch hoặc tag EPC.
Mã hóa một nhận dạng pure
Chú ý, GID mã hóa chủ yếu cho tag EPC. Những mã hóa khác (mã hóa mã vạch chẳng hạn) nhận một ID và chuyển nó về một dạng có cú pháp tương tự với GID:
“Header.GeneralManagerNumber.ObjectClass.SerialNumber”.
Mã hóa GS1 SGTIN
Reader EPC và middleware RFID trình bày dữ liệu tag theo mã hóa EPC. Việc giao tiếp với reader hoặc middleware ít nhất cần phải biết về mã hóa tag để gỡ rối mã. Việc hiểu biết về mã hóa cũng cần phải xác định các sự kiện và các bộ lọc. SGTIN là ví dụ cụ thể về nhận dạng và mã hóa.
EPC-SGTIN là mở rộng của GS1 GTIN, dùng để nhận dạng các loại đối tượng. Mã vạch UPC 12 số và mã vạch EAN 13 số là tập con của GTIN. GTIN không có một con số serial cho item vì vậy SGTIN thêm vào một số serial là giá trị đã được gán bởi General Manager.
Hình dưới đây trình bày một mã vạch UPC tiêu biểu. Để chuyển nó thành EPC và lưu nó vào một tag RFID ta phải chuyển nó về GTIN. Mã vạch này có một số Indicator Digit (0), một Company Prefix (12345), một Item Reference (54322) và một Check digit (7). Để chuyển nó về GTIN ta lấy toàn bộ mã thành một chuỗi và thêm 2 số 0 vào đầu chuỗi thành chuỗi GTIN 00012345543227. Lưu ý là Company Prefix trở thành 00012345, là một octet. Sau đó sẽ chuyển GTIN thành SGTIN cho phép ta theo dõi từng item bằng cách cộng vào một số Serial Number (4208).
Mã vạch UPC
Để trình bày một nhận dạng pure, EPC sử dụng URI được biểu diễn thành ký hiệu URN. Đối với SGTIN, ký hiệu này là:
urn:epc:id:sgtin:CompanyPrefix.ItemReference.Seria lNumber
Ký hiệu này chỉ có thông tin để phân biệt item này với item khác chứ không có GTIN check digit hoặc giá trị lọc. Ở đây Item Reference thực sự là Indicator Digit cùng với Item Reference từ GTIN. Ví dụ minh họa sẽ được mã hóa như sau:
urn:epc:id:sgtin:00012345.054322.4208
Chuyển đổi từ GTIN sang SGTIN
Để biểu diễn một nhận dạng đã được mã hóa thành SGTIN-96 là một giá trị phụ thuộc vào loại tag thì EPC sử dụng một định dạng khác cho URN:
urn:epc:tag:sgtin-96:FilterValue.CompanyPrefix.ItemReference.SerialNumber
Khi dùng ký hiệu này, ví dụ sẽ được mã hóa như sau:
urn:epc:tag:sgtin-96:2.00012345.054322.4208
Các bước mã hóa EPC 96 bit thành chuỗi nhị phân như sau:
– Tìm header phù hợp cho loại nhận dạng.
– Tra cứu giá trị partition dựa vào chiều dài của Company Prefix.
– Ràng buộc các trường header 8 bit, lọc 3 bit và partition 3 bit.
– Gắn vào Company Prefix và các trường khác phù hợp với nhận dạng (Item Reference và Serial Number cho SGTIN)
– Tính CRC và thêm EPC vào cuối CRC.
Tìm Header
Header nhận biết mỗi loại nhận dạng và mã hóa của nó. Bảng giá trị header của SGTIN trình bày ví dụ mã hóa SGTIN đối với các thẻ 96 bit và 64 bit. Lưu ý header của thẻ 64 bit chỉ có 2 bit.
Tìm partition
Ta có 96 bit, đối với những bit này mã hóa chỉ định 44 cho Company Prefix và Item Reference. Các công ty khác có chiều dài Prefix khác nhau. Số partition cho ta biết phương thức dùng bao nhiêu bit cho trường Item Reference dựa vào phương thức dùng bao nhiêu bit cho Company Prefix. Để biết phương thức dùng bao nhiêu bit cho Company Prefix xem phần Company Prefix trong b-96 partition. Ví dụ minh họa về Company Prefix 00012345 (chiều dài 8 số) tương tự với partition 4 trong b-96 partition. Từ những cột khác trong hàng này, ta sẽ thấy ta cần 27 bit để mã hóa Company Prefix trên thẻ và sẽ có 17 bit để mã hóa Item Reference.
Ràng buộc header, giá trị lọc và partition
Lưu ý tên trường “Filter Value”. Nó không phải là thành phần của SGTIN mà nó thay thế một phương thức chọn EPC nhanh dựa trên các kiểu chung. Chẳng hạn giá trị filter 1 có thể sử dụng cho những item nhỏ hơn trong khi bằng 3 cho những item lớn được chuyên chở riêng lẻ như một tủ lạnh chẳng hạn.
Khi ta xây dựng một SGTIN-96 giá trị header chuẩn là 00110000 hoặc một số hex 30. Việc xây dựng SGTIN-96 là một vấn đề đơn giản để ràng buộc các bit, bắt đầu với header là MSB (most significant bit) theo sau bởi các bit filter (3 bit) và partition (3 bit). Trường này như sau (được trình bày từng chuỗi 4 bit với chuỗi bit cuối chưa hoàn chỉnh): 0011 0000 0101 00
Thêm Company Prefix, Item Reference và Serial Number
Ta thêm Company Prefix vào các bit đầu tiên bằng cách chỉ định 27 bit dành sẵn cho nó để chúng biểu diễn giá trị phù hợp. Trường này như sau: 0011 0000 0101 0000 0000 0000 0001 1000 0001 1100 1 mà nó có thể được trình bày thành dạng số hex bằng 305000181C với bit mở rộng 1. Sau đó thêm Item Reference 17 bit vào cuối số, trường này bằng 305000181C B50C cộng thêm 2 bit 10. Ta lại thêm Serial Number 38 bit. Trường này là một con số 12 byte hoặc 96 bit, nó bằng 305000181CB50C8000001070.
Tính CRC và thêm EPC vào nó
Giá trị này được lưu trên tag với CRC 16 bit (CCITT-CRC), nó sẽ là FFF1 trong trường hợp này. Giá trị này khi có CRC sẽ là FFF1305000181CB50C8000001070. Hình dưới đây trình bày những phần mã hóa còn lại.
Đối với mỗi lần nhận dạng hệ thống sẽ có đặc tả mô tả một mã hóa khác cho các tag 64 bit. Để làm cho nhận dạng thành một mã hóa 64 bit, Company Prefix bị xóa và một Company Prefix Index thay thế. Index này là một offset trong bảng Company Prefix. Company Prefix Index được cung cấp vì GS1 cần những thực thể đó, vì chúng có ý định sử dụng các tag 64 bit. Bảng này giới hạn đến 16,384 mục, và mô hình mã hóa này như một giải pháp tạm thời cho đến khi công nghiệp chấp nhận các tag 96 bit hoặc lớn hơn nữa. Lưu ý rằng mã hóa SGTIN-64 có header duy nhất chứa bit 1 trong MSB cho phép nó chỉ có chiều dài 2 số nhị phân (11 được dành riêng cho các mã hóa 64 bit khác).
Để biết thêm thông tin về kỹ thuật cũng như các ứng dụng RFID, vui lòng truy cập các blog liên quan khác của chúng tôi. Ngoài ra, bạn có thể liên hệ với chúng tôi để tìm hiểu thêm về các sản phẩm RFID.
If you want to know more about RFID applications, please visit our other related blogs. Also, you are welcome to contact us to learn more about RFID products.
References
Giáo Trình Công Nghệ RFID (Tổng Hợp )