PDA

View Full Version : Giao thức thẻ RFID-Bài 3B: Phương thức lưu trữ dữ liệu trên thẻ



thanhsang_truong
03-10-2006, 06:37 AM
Tác giả:
Trần Thị Thanh Nhã


PHƯƠNG THỨC LƯU TRỮ DỮ LIỆU TRÊN THẺ

- Giao thức truyền thông thẻ cấp cao hiểu được các loại ID và phương thức lưu trữ liệu trên thẻ. Tuy nhiên vì một reader chỉ liên lạc với một thẻ nên layout về mặt vật lý thực tế của bộ nhớ trên thẻ tùy thuộc vào nhà sản xuất. Layout có cấu trúc logic như hình 3-1.

http://usera.imagecave.com/98765/TTTN_hinh36.jpg
- Trong đó:

• CRC là một checksum (xem chi tiết trong “CCITT-CRC”).
• EPC là ID của thẻ.
• Password là một “mã chết” để làm mất khả năng hoạt động của thẻ.
- 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 3-1 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.

(còn tiếp)

thanhsang_truong
04-10-2006, 06:59 AM
Tác giả:
Trần Thị Thanh Nhã

Bảng 3-1: Các từ định danh ứng dụng.

http://usera.imagecave.com/98765/TTTN_hinh37a.jpg
http://usera.imagecave.com/98765/TTTN_hinh37b.jpg

- 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 3.1. 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 pure là 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 item. 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 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 thẻ 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 thẻ hoặc được thực hiện qua một vài công nghệ khác. Hình 3-2 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 thẻ EPC.
- Chú ý, GID mã hóa chủ yếu cho thẻ 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.SerialN umber”.

http://usera.imagecave.com/98765/TTTN_hinh38.jpg

thanhsang_truong
04-10-2006, 07:06 AM
1. Mã hóa GS1 SGTIN
- Reader EPC và middleware RFID trình bày dữ liệu thẻ 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 thẻ để 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 3-3 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 thẻ 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).

http://usera.imagecave.com/98765/TTTN_hinh39.jpg
- Để 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 (hình 3-4). Ví dụ minh họa sẽ được mã hóa như sau:

urn:epc:id:sgtin:00012345.054322.4208

http://usera.imagecave.com/98765/TTTN_hinh40.jpg
- Để 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 thẻ thì EPC sử dụng một định dạng khác cho URN:

urn:epc:tag:sgtin-96:FilterValue.CompanyPrefix.ItemReference.SerialN umber
- 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.
(còn tiếp)

thanhsang_truong
05-10-2006, 06:50 AM
Tác giả:
Trần Thị Thanh Nhã

1.1 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 3-2 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.
- Bảng 3-2: Giá trị header của SGTIN.
http://usera.imagecave.com/98765/TTTN_hinh41.jpg

1.2 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ảng 3-3. Ví dụ minh họa về Company Prefix 00012345 (chiều dài 8 số) tương tự với partition 4 trong bảng 3-3. 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.
http://usera.imagecave.com/98765/TTTN_hinh42.jpg

1.3 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. Bảng 3-4 liệt kê các giá trị lọc SGTIN. Ta sẽ sử dụng giá trị lọc 2 trong ví dụ để chỉ một “Standard Trade Item Grouping” như một pallet hoặc carton (thùng đựng hàng). Tất cả các mã hóa đều hỗ trợ giá trị filter 0, SGTIN và SSCC cũng hỗ trợ 1 nghĩa là “không xác định”. SSCC định nghĩa 2 cho “Logistical/Shipping Unit”. Những giá trị filter thêm nữa có thể sẽ được định nghĩa trong tương lai.
(còn tiếp)

thanhsang_truong
06-10-2006, 09:44 AM
Tác giả:
Trần Thị Thanh Nhã
- Bảng 3-4: Các giá trị fileter SGTIN

http://usera.imagecave.com/98765/TTTN_hinh43.jpg
- 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


1.4 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.

1.5 Tính CRC và thêm EPC vào nó:
- Giá trị này được lưu trên thẻ 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 3-6 trình bày những phần mã hóa còn lại.

http://usera.imagecave.com/98765/TTTN_hinh44.jpg
- Đố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 thẻ 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 thẻ 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 thẻ 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).

(hết)