You are on page 1of 104

LỜI NÓI ĐẦU

Ngày nay nghành công nghệ thông tin đã có những bước phát triển vượt
bậc.Chỉ từ việc phát minh ra con transistor đầu tiên năm 1947,cho đến nay các sản
phẩm công nghệ thông tin đã len lỏi đến tất cả các nghành nghề trong xã hội từ
nghành ngân hàng,tài chính đến các nghành bán lẻ...Không những vậy chúng cũng
đã len lỏi vào mọi gia đình từ các sản phẩm gia dụng như máy giặt,tủ lạnh...đến các
thiết bị giải trí truyền thông như ipod,...Trong tương lai, bên cạnh việc phát triển
công nghệ vi điện tử để chế tạo ra các thế hệ bộ vi xử lý với tốc độ xử lý ngày càng
nhanh,thì các hệ thống ứng dụng vẫn sẽ phát triển rất mạnh.
Chính vì lẽ đó,tôi đã chọn đề tài về, Thiết kế hệ thống quản lý bệnh nhân dùng
công nghệ RFID. Công nghệ này đã xuất hiện khá lâu nhưng cho đến nay các ứng
dụng của nó vẫn chưa được triển khai rộng rãi. Với việc chọn đề tài này ,tôi hi vọng
mình sẽ góp phần công sức bé nhỏ của mình vào công việc triển khai nó.Tuy
nhiên ,ở mức độ một đồ án tốt nghiệp và cũng do thời gian có hạn, nên ở đây tôi chỉ
thiết kế và thi công hệ thống ở mức kiểm thử. Còn để có thể triển khai áp dụng nó
vào thực tế thì sẽ phải đầu tư thêm nhiều thời gian và tiền bạc. Song với việc thiết
kế thành công hệ thống này, tôi đã thu được thêm khá nhiều kinh nghiệm làm bước
đệm cho tôi trở thành kỹ sư sau khi ra trường. Qua đây tôi xin chân thành cảm ơn
thầy hướng dẫn Trần Hải Lưu cùng các thầy cô khác đã giúp đỡ tận tình để tôi hoàn
thành đề tài này.

Hà Nội ngày 26/5/2010


Trần Phan Bình
MỤC LỤC

LỜI NÓI ĐẦU..........................................................................................................3


CHƯƠNG 1.TỔNG QUAN CÔNG NGHỆ RFID...................................................13
1.1 Lịch sử công nghệ RFID.................................................................................13
1.2 Các khái niệm cơ bản......................................................................................14
1.3 Các đặc điểm của một hệ thống RFID............................................................17
1.3.1 Tần số hoạt động....................................................................................17
1.3.2 Phạm vi đọc............................................................................................17
1.3.3 Phương pháp ghép nối vật lý..................................................................18
1.4 Các thành phần hệ thống RFID.......................................................................18
1.4.1 Thành phần thẻ.......................................................................................20
1.4.1.1 Thẻ thụ động.................................................................................20
1.4.1.1.1 Thành phần vi chip.........................................................21
1.4.1.1.2 Thành phần anten...........................................................22
1.4.1.2 Thẻ tích cực..................................................................................24
1.4.1.2.1 Khối nguồn.....................................................................25
1.4.1.2.2 Các thành phần điện tử...................................................26
1.4.1.3 Thẻ bán tích cực ..........................................................................26
1.4.1.4 Thẻ chỉ đọc...................................................................................27
1.4.1.5 Thẻ ghi một lần-đọc nhiều lần......................................................28
1.4.1.6 Thẻ đọc-ghi..................................................................................28
1.4.2 Thiết bị đọc thẻ......................................................................................28
1.4.2.1 Khối truyền tín hiệu....................................................................29
1.4.2.2 Khối nhận tín hiệu.......................................................................29
1.4.2.3 Khối vi xử lý...............................................................................29
1.4.2.4 Khối bộ nhớ................................................................................29
1.4.2.5 Các kênh vào/ra cho cảm biến,bộ truyền động,bộ báo hiệu.....29
1.4.2.6 Khối điều khiển..........................................................................30
1.4.2.7 Khối giao tiếp truyền thông........................................................30
1.4.2.8 Khối nguồn.................................................................................30
1.4.2.9 Phân loại thiết bị đọc thẻ............................................................30
1.4.2.9.1 Thiết bị đọc thẻ nối tiếp...........................................................31
1.4.2.9.2 Thiết bị đọc thẻ mạng..............................................................31
1.4.2.9.3 Thiết bị đọc thẻ cố định...........................................................32
1.4.2.9.4 Thiết bị đọc thẻ cầm tay..........................................................34
1.4.3 Giao tiếp giữa thiết bị đọc thẻ và thẻ.....................................................34
1.4.3.1 Kiểu điều chế backscatter...........................................................35
1.4.3.2 Kiểu transmitter..........................................................................36
1.4.3.3 Kiểu transponder.........................................................................36
1.4.4 Anten của thiết bị đọc thẻ......................................................................37
1.4.4.1 Vùng phủ sóng của anten............................................................38
1.4.4.2 Sự phân cực của anten................................................................39
1.4.4.3 Năng lượng của anten.................................................................41

2
1.4.5 Máy chủ và hệ thống phần mềm.............................................................41
1.4.6 Cơ sở hạ tầng truyền thông...................................................................44
1.4.7 Các thành phần phụ khác......................................................................44
1.5 Các tiêu chuẩn công nghệ RFID.....................................................................45
1.5.1 Tiêu chuẩn ANSI...................................................................................46
1.5.2 Tiêu chuẩn EPCglobal...........................................................................46
1.5.3 Tiêu chuẩn ISO......................................................................................47
1.6 Quyền riêng tư và tính bảo mật trong công nghệ RFID.................................48
1.6.1 Quyền riêng tư.......................................................................................48
1.6.1.1 Các biện pháp bảo vệ quyền riêng tư dựa trên luật pháp...........48
1.6.1.2 Các biện pháp bảo vệ quyền riêng tư dựa trên việc cải
tiến công nghệ.............................................................................49
1.6.2 Tính bảo mật..........................................................................................49
1.6.2.1 Vùng một : Các thẻ RF................................................................50
1.6.2.2 Vùng hai : Thiết bị đọc thẻ RFID................................................51
1.6.2.3 Vùng ba : Kênh dịch vụ RFID.....................................................51
1.6.2.4 Vùng bốn : Các hệ thống thông tin doanh nghiệp.......................51
1.7 So sánh giữa công nghệ RFID và công nghệ mã vạch..................................52
1.8 Kết luận.........................................................................................................56
CHƯƠNG 2.THIẾT KẾ HỆ THỐNG QUẢN LÝ BỆNH NHÂN..........................57
2.1 Giao tiếp giữa thẻ thụ động EM4100 và chip EM4095.................................57
2.1.1 Hoạt động của chip EM4095.................................................................57
2.1.2 Hoạt động của thẻ thụ động EM4100....................................................62
2.1.2.1 Sơ đồ các khối của chip EM4100................................................63
2.1.2.2 Tổ chức bộ nhớ của chip EM4100...............................................64
2.1.2.3 Mã hóa dữ liệu trên thẻ................................................................64
2.1.2.3.1 Mã hóa Manchester..........................................................65
2.1.2.3.2 Mã hóa hai pha.................................................................65
2.1.2.3.3 Mã hóa PSK.....................................................................65
2.1.3 Sơ đồ khối mạch RF và tính toán các thông số......................................66
2.1.4 Thiết kế anten cho reader.......................................................................68
2.1.5 Phương pháp điều chế sóng mang OOK...............................................74
2.2 Giao tiếp chuẩn USB giữa reader và máy vi tính..........................................77
2.2.1 Chuẩn giao tiếp USB............................................................................77
2.2.1.1 Quy trình làm việc trong giao tiếp USB.....................................78
2.2.1.2 Các đặc trưng của giao tiếp USB................................................78
2.2.1.3 Chuẩn giao tiếp USB 2.0............................................................79
2.2.1.4 Chuẩn giao tiếp USB 3.0............................................................79
2.2.2 Lớp định nghĩa HID..............................................................................80
2.2.2.1 Tổng quan về quản lý chung của lớp HID..................................81
2.2.2.2 Mô hình hoạt động......................................................................82
2.2.3 Vi điều khiển PIC18F2550 và sơ đồ khối mạch điều khiển.................83
2.3 Thiết kế phần mềm quản lý............................................................................86
2.3.1 Xây dựng giao diện...............................................................................86
2.3.2 Xây dựng cơ sở dữ liệu.........................................................................91
2.3.3 Giao tiếp với cơ sở dữ liệu....................................................................93

3
2.3.4 Quản lý kết nối USB giữa reader và máy tính......................................95
2.4 Kết luận..........................................................................................................96
TÀI LIỆU THAM KHẢO.........................................................................................98
BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT – ANH...................................................99
PHỤ LỤC A............................................................................................................102
PHỤ LỤC B............................................................................................................110
PHỤ LỤC C............................................................................................................112

4
CHƯƠNG 1
TỔNG QUAN CÔNG NGHỆ RFID

Khoảng chục năm trở lại đây chúng ta đã bắt đầu bắt gặp nhiều ứng dụng công
nghệ RFID trong thực tiễn cuộc sống hàng ngày. Đơn giản nhất có thể thấy, mỗi khi
chúng ta vào chuỗi siêu thị của Walmart để mua hàng,khi ra ta chỉ cần đưa từng sản
phẩm lại gần một thiết bị đọc và sau đó thực hiện trả tiền.Đó chính là một hệ thống
RFID điển hình mà đã được Walmart triển khai cho chuỗi siêu thị của họ trên khắp
thế giới.Từ đây chúng ta có thể thấy một điều rằng, công nghệ RFID đã giúp chúng
ta tiện lợi hơn rất nhiều trong cuộc sống hằng ngày. Bây giờ chúng ta hãy cùng đi
tìm hiểu một hệ thống RFID nói chung để hiểu rõ hơn hoạt động của nó.

1.1 Lịch sử công nghệ RFID


RFID không phải là một khái niệm mới ,mà lịch sử của nó đã bắt đầu từ thế
chiến thứ II. Thời đó các nước như Mỹ, Anh, Đức và Nhật Bản đã sử dụng radar để
xác định máy bay đi vào lãnh thổ của họ bởi vậy việc nhận dạng máy bay đối
phương đã trở thành một nhiệm vụ tối quan trọng. Nhận thức được vấn đề này,
người Đức đã tìm ra được rằng nếu như các phi công lộn vòng máy bay của họ
trong khi quay trở lại căn cứ thì nó sẽ thay đổi tín hiệu phản xạ trở lại và cái này có
thể coi như là hệ thống RFID thụ động đầu tiên. Bên cạnh đó ,Watson-Watt đã phát
triển được việc nhận dạng tích cực đối tượng bạn/kẻ thù đầu tiên hay còn được gọi
là hệ thống IFF cho nước Anh trong cùng thời gian đó.
Năm 1973 Mario W. Cardullo đã được nhận bằng sáng chế cho việc chế tạo
thành công thẻ tích cực RFID với bộ nhớ có thể ghi được. Và cũng trong năm đặc
biệt đó ở California, một doanh nhân có tên là Charles Walton đã được nhận giải
thưởng nhờ việc sáng chế ra các transponder thụ động để mở cửa mà không cần sử
dụng tới chìa khóa. Thời kỳ này chứng kiến các công ty phát triển các hệ thống tần
số thấp với các transponder nhỏ và nó vẫn còn được sử dụng trong ngành chăn
nuôi gia súc cho tới ngày nay. Các hệ thống 125 kHz đã được thương mại hóa trong
khoảng thời gian đó và từ đó các công ty bắt đầu tiến tới các tần số cao hơn để có
thể sử dụng được tại một vài vùng trên thế giới.
Các công ty lớn bắt đầu nhận thấy tầm quan trọng của RFID là vào những năm
chín mươi của thế kỷ trước,cụ thể là IBM đã phát triển và sáng chế ra các hệ thống
UHF RFID. Tuy nhiên nửa đầu những năm chín mươi có thể được coi là quá trình
học tập công nghệ bởi các sản phẩm sản xuất ra có giá thành rất cao và không có
các tiêu chuẩn cụ thể nào.
Năm 1999 có thể coi là năm vàng của công nghệ này khi mà các tổ chức như :
tổ chức quốc tế EAN, Gillette, Uniform Code Council và P&G đã tạo ra một quỹ
cho việc thành lập trung tâm Auto-ID tại học viện công nghệ MIT. Hai giáo sư của
MIT là Sanjay Sharma và David Brock, là những người đầu tiên nghĩ ra việc đưa
các mã số lên trên các thẻ RFID để cho biết giá trị của chúng và điều này có thể
làm thay đổi cách thức ứng dụng công nghệ này trong một chuỗi cung ứng.
Trong khoảng giữa những năm từ 1999 tới 2003 trung tâm Auto-ID đã nhận
được sự trợ giúp từ hơn một ngàn công ty , các nhà cung cấp RFID chính và Bộ

5
Quốc Phòng Hoa Kỳ. Các phòng nghiên cứu được mở ra ở nhiều nước và sau đó
không lâu công nghệ đã được cấp phép cho Uniform Code Council vào năm 2003
để thực hiện thương mại hóa . Đi đầu trong việc ứng dụng công nghệ này trong thực
tế có thể kể đến các tên tuổi lớn như Wal-Mart,Metro. Ngày nay công nghệ này đã
được ứng dụng rộng rãi trong nhiều lĩnh vực như ứng dụng vào việc chấm công tại
các công ty, hay ứng dụng vào việc ghi nhớ nguồn gốc thủy sản đông lạnh xuất
khẩu,...Và theo nhận định của nhiều chuyên gia thì trong tương lai gần công nghệ
này vẫn luôn là một lựa chọn tối ưu.

1.2 Các khái niệm cơ bản


Sóng là một dao động vận chuyển năng lượng từ một điểm này tới điểm khác.
Sóng điện từ là sóng được tạo ra bởi các electron chuyển động và dao động điện từ
trường. Các sóng này có thể đi xuyên qua một số kiểu chất liệu khác nhau.
Điểm có vị trí cao nhất trên một sóng được gọi là một đỉnh sóng, và điểm thấp nhất
được gọi là một lõm sóng. Khoảng cách giữa hai đỉnh sóng liên tiếp hoặc hai lõm
sóng liên tiếp thì được gọi là một bước sóng. Một bước sóng hoàn chỉnh của một
dao động sóng được gọi là chu kỳ. Và thời gian cần thiết để một sóng hoàn thành
một chu kỳ,được gọi là chu kỳ dao động . Số các chu kỳ trong một giây được gọi là
tần số của sóng. Tần số có đơn vị là hertz (ký hiệu Hz). Và nếu như tần số của một
sóng là 1 Hz,thì có nghĩa là sóng đang dao động với tốc độ một chu kỳ trên giây.
Các đơn vị khác thường được dùng là KHz (= 1,000 Hz), MHz (= 1,000,000 Hz),
hoặc GHz (= 1,000,000,000 Hz).
Hình dưới đây chỉ ra một vài bộ phận của một sóng.

Hình 1.1 Các thành phần của sóng

Các sóng vô tuyến hay các sóng có tần số vô tuyến (RF) là các sóng điện từ với
chiều dài bước sóng ở giữa khoảng 0.1 cm và 1,000 km hoặc là có tần số nằm trong
khoảng giữa 30 Hz và 300 GHz.Ngoài ra còn có nhiều kiểu sóng điện từ khác như :
tia hồng ngoại, tia tử ngoại, tia gamma, tia x, và các tia vũ trụ.
Điều chế là quá trình thay đổi các đặc tính của một sóng vô tuyến để mã hóa
một vài tín hiệu thông tin mang theo .

6
Công nghệ RFID chủ yếu dùng ba loại tần số là : tần số thấp LF, tần số cao HF,
tần số siêu cao UHF .Còn loại tần số rất cao VHF thì chưa thấy có hệ thống RFID
sử dụng, do vậy tôi không đề cập đến ở đây.
Tần số thấp LF: là các tần số nằm trong khoảng giữa 30 KHz đến 300 KHz ,hệ
thống RFID thông thường chỉ sử dụng các tần số trong phạm vi từ 125 KHz tới 134
KHz.Còn với một hệ thống LF RFID điển hình thì thường hoạt động tại tần số là
125 KHz hoặc là 134.2 KHz. Hệ thống RFID hoạt động tại tần số thấp thường sử
dụng các thẻ thụ động, nên tốc độ truyền dữ liệu từ thẻ tới thiết bị đọc thẻ là rất
thấp. Song tuy nhiên, các thẻ tích cực LF cũng có thể được sử dụng bởi các nhà
cung cấp. Ngày nay phạm vi tần số LF được chấp nhận sử dụng ở khắp mọi nơi trên
thế giới.

Tần số cao HF:là các tần số nằm trong phạm vi từ 3 MHz tới 30 MHz, trong đó
13.56 MHz là tần số điển hình thường được sử dụng cho các hệ thống RFID. Hệ
thống HF RFID thường sử dụng các thẻ thụ động,nên có tốc độ truyền dữ liệu khá
thấp từ thẻ tới thiết bị đọc thẻ. Ngày nay các hệ thống HF được sử dụng rộng rãi,
đặc biệt là trong các bệnh viện (vì ở đó nó không gây nhiễu cho các thiết bị y tế
đang hoạt động khác). Và có lẽ do vậy mà phạm vi tần số HF đã được chấp nhận sử
dụng hầu như khắp thế giới.

Tần số siêu cao UHF: là các tần số nằm trong khoảng từ 300 MHz tới 1
GHz .Hệ thống UHF RFID thụ động thường hoạt động tại tần số 915 MHz tại Hoa
Kỳ và tại 868 MHz ở các nước Châu Âu. Còn hệ thống UHF RFID tích cực hoạt
động tại tần số 315 MHz và 433 MHz.Và vì vậy hệ thống UHF có thể sử dụng được
cả hai loại thẻ tích cực và thụ động và có thể đạt được một tốc độ truyền dữ liệu khá
nhanh giữa thẻ và thiết bị đọc thẻ. Các hệ thống UHF RFID hiện tại đã bắt đầu
được triển khai rộng rãi trong các tổ chức chính phủ các nước như bộ quốc phòng
Mỹ và các tổ chức quốc tế, ... Tuy nhiên phạm vi tần số UHF vẫn không được chấp
nhận sử dụng trên toàn thế giới. Dưới đây hình ảnh minh họa phạm vi các tần số mà
ta đã nói ở trên

Hình 1.2 Phổ tần số vô tuyến

Bây giờ ta sẽ nói thêm về các nguyên nhân gây nhiễu cho sóng điện từ.Nói
chung, sóng điện từ thường bị nhiễu từ nhiều nguồn khác nhau, song chủ yếu là các
nguồn dưới đây:

7
• Các điều kiện thời tiết như mưa ,tuyết, ... Tuy nhiên, như đã nói trước
đó,nguồn nhiễu này ít ảnh hưởng với các phạm vi tần số LF và HF.
• Sự có mặt của một vài nguồn sóng vô tuyến khác chẳng hạn như cell phone,
mobile radio,...
• Các dòng tĩnh điện (ESD). ESD là một luồng dòng điện bất ngờ đi qua một
chất liệu trong tình huống chất liệu đó có sự cách điện ở dưới mức chuẩn.
Nếu như có một sự khác nhau lớn về điện áp tồn tại giữa hai điểm trên chất
liệu, thì các nguyên tử ở giữa hai điểm này có thể trở thành các điện tích và
tạo thành dòng điện.

Ngoài ra chúng ta cũng cần biết thêm các khái niệm khác dưới đây có liên quan
đến hệ thống RFID.

Sự xung đột thẻ : Một reader chỉ có thể liên lạc được với một thẻ tại một thời
điểm. Khi có nhiều hơn một thẻ cố gắng liên lạc với reader, thì lúc đó xuất
hiện hiện tượng có tên gọi là “sự xung đột thẻ”. Trong trường hợp này, để
đáp lại truy vấn từ reader, nhiều thẻ sẽ phản hồi các tín hiệu của chúng tới
reader tại cùng một thời điểm. Reader cần thiết phải liên lạc sau đó với
các thẻ bằng cách sử dụng một giao thức có ứng dụng một thuật toán đặc
biệt. Thuật toán mà được sử dụng để hòa giải các xung đột thẻ thì được
gọi với cái tên là “các thuật toán chống xung đột”. Hiện tại, hai kiểu thuật
toán chống xung đột dưới đây là được sử dụng rộng rãi nhất:

• ALOHA cho các kiểu tần số HF


• Tree Walking cho các kiểu tần số UHF

Bằng cách sử dụng một trong các thuật toán chống xung đột ở trên, một reader
có thể nhận dạng được vài thẻ trong vùng đọc của nó với một chu kỳ thời gian rất
ngắn. Chính vì vậy, mà nó khiến cho ta có cảm giác reader đó liên lạc với các thẻ
gần như là đồng thời.

Sự xung đột reader :Khi vùng đọc (hoặc là cửa sổ đọc) của hai hoặc nhiều
reader chồng lên nhau, thì tín hiệu từ một reader có thể giao thoa với tín
hiệu từ các reader khác, gây ra nhiễu tín hiệu. Hiện tượng này được gọi
“sự xung đột reader”. Tình trạng này có thể phát sinh nếu như các anten
hai reader này được cài đặt theo cách thức nào đó mà dẫn đến sự can thiệp
phá hoại lẫn nhau (ví dụ như, vùng phủ sóng của anten). Dẫn đến một hệ
quả là, năng lượng RF từ một trong các anten của một reader sẽ bị loại ra
ngoài vì năng lượng RF từ một trong các anten của reader khác. Để tránh
vấn đề này, ta phải điều chỉnh lại vị trí các anten của các reader để sao
cho anten của một reader không đối diện trực tiếp với anten của reader
khác. Nếu như không thể tránh khỏi việc có hai anten đối diện nhau, thì
giải pháp nên làm là phân chia khoảng cách hiệu quả cho chúng để vùng
đọc của chúng không chồng lên nhau. Ngoài ra, hai anten của cùng một
reader cũng có thể tạo ra sự chồng lấp lên nhau nhưng nó không tạo sự
xung đột reader, bởi vì năng lượng đi tới các anten là các chuyển dịch vật

8
lý được thực hiện bởi reader theo cách mà chỉ có một anten hoạt động tại
một thời điểm. Điều đó dẫn đến, sẽ không có cơ hội để hai hay nhiều
anten của reader này phát ra các tín hiệu cùng lúc. Chúng ta cũng có thể
sử dụng kỹ thuật khác, có tên gọi là TDMA ,để tránh sự xung đột reader.
Trong kỹ thuật này, các reader sẽ được hướng dẫn để đọc tại các thời điểm
khác nhau chứ không phải tất cả cùng đọc một lúc. Và như vậy, chỉ có
anten của một reader là được hoạt động tại một thời điểm. Nhưng có một
vấn đề phát sinh với phương pháp này là, một thẻ có thể được đọc nhiều
hơn một lần bởi các reader khác nhau trong vùng đọc chồng chéo lên
nhau. Do đó, cần phải áp dụng một vài cơ chế lọc thông minh bởi khối
điều khiển để lọc ra các thẻ đã được đọc.
Khả năng đọc thẻ: của một hệ thống RFID trong một môi trường hoạt động
phổ biến có thể được định nghĩa là khả năng của hệ thống để đọc thành công dữ liệu
từ một thẻ cụ thể. Khả năng đọc thẻ phụ thuộc vào một số các yếu tố. Để cung cấp
khả năng đọc thẻ tốt thì hệ thống RFID cần phải đọc thành công một thẻ ít nhất một
lần. Để đảm bảo điều này, thì hệ thống nên được thiết kế sao cho số lần đọc một thẻ
vừa đủ để ngay cả khi thẻ đọc lỗi vài lần thì vẫn có cơ hội tốt để một trong số lần
đọc đó thành công. Tức là xác suất thành công sẽ cao hơn.

1.3 Các đặc điểm của một hệ thống RFID

Các hệ thống RFID có thể được phân biệt với nhau theo ba cách khác nhau dựa
trên các thuộc tính đặc trưng dưới đây:

• Tần số hoạt động


• Phạm vi đọc
• Phương pháp ghép nối vật lý

1.3.1 Tần số hoạt động

Tần số hoạt động là thuộc tính quan trọng nhất của một hệ thống RFID. Đó là
tần số mà tại đó , reader sẽ truyền đi các tín hiệu của nó. Nó gắn kết chặt chẽ với
một thuộc tính điển hình, đó là đọc từ một khoảng cách xa. Trong hầu hết các
trường hợp,tần số của một hệ thống RFID được quyết định bởi khoảng cách cần
thiết để việc thực hiện đọc thành công .

1.3.2 Phạm vi đọc

Phạm vi đọc của một hệ thống RFID được xác định là khoảng cách giữa thẻ và
reader. Từ đây ta thấy một hệ thống RFID có thể được phân chia thành ba kiểu dưới
đây:

• Trực tiếp : Đó là các hệ thống có phạm vi đọc thấp hơn 1 cm. Một vài hệ
thống LF và HF RFID thuộc về nhóm này.
• Tầm gần : Đó là các hệ thống có phạm vi đọc từ 1 cm tới 100 cm. Đa phần
các hệ thống RFID hoạt động tại các dải tần LF và HF thuộc về nhóm này.

9
• Tầm xa : Đó là các hệ thống có phạm vi đọc lớn hơn 100 cm. Các hệ thống
RFID đang hoạt động trong dải tần UHF và phạm vi tần số vi ba thuộc về
nhóm này.

1.3.3 Phương pháp ghép nối

Việc ghép nối vật lý mà ta đề cập tới ở đây là nói tới phương pháp sử dụng để
ghép nối giữa thẻ và anten (tức là, đó là một cơ chế mà theo đó năng lượng được
dịch chuyển từ thẻ tới anten). Dựa trên tiêu chí này, có ba kiểu hệ thống RFID khác
nhau dưới đây:

• Từ trường : Đó là các kiểu hệ thống RFID được biết tới như là các hệ thống
được ghép nối theo kiểu điện kháng. Một vài hệ thống RFID LF và HF là
thuộc về nhóm này.
• Điện trường : Đó là các kiểu hệ thống RFID được biết tới như là các hệ
thống được ghép nối theo kiểu điện dung. Nhóm này cũng chủ yếu bao gồm
các hệ thống RFID LF và HF.
• Điện từ trường : Phần lớn các hệ thống RFID thuộc lớp này cũng được gọi là
các hệ thống backscatter. Các hệ thống RFID hoạt động trong phạm vi dải
tần số UHF và vi ba thuộc về nhóm này.

1.4 Các thành phần hệ thống RFID

Một hệ thống RFID là một tập hợp các thành phần nhằm thực hiện một giải
pháp RFID.

Nói chung một hệ thống RFID bao gồm các thành phần dưới đây:

• Thẻ : Đây là một thành phần bắt buộc của bất cứ hệ thống RFID nào
• Thiết bị đọc thẻ: Đây cũng là một thành phần bắt buộc
• Anten của thiết bị đọc thẻ : Đây là cũng là một thành phần bắt buộc phải
có.Ngày nay một số reader đã được tích hợp anten lên trên nó,vì vậy kích
thước của nó đã giảm đi rất nhiều.
• Khối điều khiển : Đây là một thành phần quan trọng. Tuy nhiên hầu hết các
reader thế hệ mới đều đã tích hợp thành phần này lên trên chúng.
• Các cảm biến, bộ truyền động ,bộ báo hiệu : Đây là các thành phần tùy chọn,
được sử dụng ở đầu vào và đầu ra hệ thống RFID.
• Máy chủ và hệ thống phần mềm :Về mặt lý thuyết ,một hệ thống RFID có
thể hoạt động một cách độc lập mà không cần tới thành phần này.Tuy nhiên
trong thực tế, nếu không có thành phần này thì hệ thống RFID gần như vô
giá trị.
• Cơ sở hạ tầng truyền thông: Thành phần quan trọng này là một tập hợp bao
gồm cả mạng có dây và không dây và cơ sở hạ tầng kết nối nối tiếp, để có
thể kết nối các thành phần đã liệt kê phía trên với nhau.

Dưới đây là biểu đồ một hệ thống RFID :

10
Hình 1.3 Biểu đồ hệ thống RFID

Còn dưới đây là mô hình một mẫu của biểu đồ trên với các thành phần cụ thể
trong thực tế:

Hình 1.4 Một ví dụ về hệ thống RFID trong thực tế

Bây giờ ta sẽ đi chi tiết vào từng thành phần của hệ thống RFID.

11
1.4.1 Thành phần thẻ
Một thẻ RFID là một thiết bị có thể lưu trữ và truyền được được dữ liệu tới
reader không phải theo cách tiếp xúc trực tiếp mà bằng cách sử dụng các sóng vô
tuyến. Các thẻ RFID có thể được phân loại theo hai cách khác nhau. Dưới đây là
cách phân loại thứ nhất, dựa trên cơ sở thẻ đó có chứa nguồn năng lượng ngay trên
bảng mạch thẻ hay không hoặc dựa trên cơ sở các chức năng đặc biệt mà nó cung
cấp:
• Thẻ thụ động
• Thẻ tích cực
• Thẻ bán tích cực (hoặc bán thụ động)

1.4.1.1 Thẻ thụ động


Kiểu thẻ RFID này không có nguồn nuôi tích hợp cùng trên bảng mạch thẻ (ví
dụ,pin),thay vì vậy nó sử dụng năng lượng được phát ra từ reader để làm nguồn
năng lượng cho bản thân nó hoạt động và thực hiện truyền dữ liệu mà nó lưu trữ tới
reader. Thẻ thụ động khá đơn giản về cấu tạo và không có các bộ phận rời rạc.Và có
lẽ chính vì vậy các thẻ thụ động tồn tại khá lâu trong điều kiện môi trường khắc
nghiệt.
Đối với loại thẻ này,để thực hiện truyền thông tin giữa thẻ và reader thì reader
luôn luôn phải liên lạc trước tiên,tiếp sau đó mới tới lượt thẻ. Vì vậy sự hiện diện
của reader là bắt buộc để thẻ có thể truyền được dữ liệu của nó.
Thẻ thụ động thông thường nhỏ hơn so với thẻ tích cực và thẻ bán tích cực. Nó
có một phạm vi đọc khá đa dạng từ 1 inch (=2.54cm) tới khoảng 30 feet (xấp xỉ 9
mét). Có lẽ bởi vậy mà thẻ thụ động bao giờ cũng rẻ hơn thẻ tích cực hay thẻ bán
tích cực.
Một thẻ thụ động bao gồm các thành phần chính dưới đây:
• Thành phần vi chip
• Thành phần anten
Dưới đây là hình ảnh minh họa các thành phần thẻ thụ động trong thực tế:

Hình 1.5 Các thành phần của thẻ thụ động

Còn tiếp theo đây là một số hình ảnh thực tế về các thẻ thụ động của một vài
hãng sản xuất lớn khác nhau:

12
Hình1.6 Các thẻ LF của hãng Texas Instruments

Hình1.7 Các thẻ 2.45 GHz của hãng Alien Technology

Hình1.8 Các thẻ 915 MHz của hãng Intermec Corporation

1.4.1.1.1 Thành phần vi chip


Một vi chip của thẻ thụ động bao gồm các khối như chỉ ra ở hình vẽ dưới đây:

13
Hình 1.9 Sơ đồ các khối của vi chip

Khối Power control/rectifier thực hiện chuyển đổi nguồn điện xoay chiều thu
được từ tín hiệu phát ra ở anten của reader thành nguồn điện một chiều.Chính
nguồn điện một chiều này sẽ cung cấp năng lượng tới các thành phần khác của vi
chip. Xung từ khối Clock Extractor thực hiện tách xung tín hiệu từ tín hiệu thu được
do anten của reader phát ra. Sau đó khối Modulator sẽ điều chế tín hiệu nhận
được.Thông tin mà thẻ trả lại để truyền tới reader được nhúng vào bên trong tín
hiệu đã được điều chế.Bộ nhớ của vi chip được sử dụng để lưu trữ dữ liệu. Bộ nhớ
này thường được chia thành các phần (bao gồm các khối hoặc là các trường). Ở đây
ta cần chú ý đến thuật ngữ addressability ,nghĩa là khả năng đánh địa chỉ (đọc hoặc
ghi) các vị trí bộ nhớ riêng lẻ của một vi chip. Một khối bộ nhớ của thẻ có thể lưu
trữ được nhiều kiểu dữ liệu khác nhau,chẳng hạn như một phần của đối tượng dữ
liệu được sử dụng để nhận dạng thẻ, các bit kiểm tra tổng (ví dụ, cyclic redundancy
check [CRC]) để kiểm tra độ chính xác của dữ liệu đã được truyền,...

1.4.1.1.2 Thành phần anten


Anten của thẻ được sử dụng để đưa tín hiệu thu được từ reader thành năng
lượng cho thẻ ,phục vụ cho việc gửi hoặc nhận dữ liệu tới reader.Anten này được
gắn tiếp xúc vật lý với vi chip của thẻ. Trong thực tế có rất nhiều cách thiết kế
anten,tuy nhiên chúng ta cần phải chú ý rằng chiều dài của anten tỷ lệ trực tiếp với
chiều dài bước sóng hoạt động của thẻ.Ngoài ra còn có một khái niệm nữa cũng rất
quan trọng ,đó là “lưỡng cực” (dipole). Một anten lưỡng cực có thể là một dây điện
thẳng (ví dụ,với chất liệu là đồng) bị đứt quãng tại điểm giữa. Chiều dài tổng cộng
của một anten lưỡng cực bằng một bước sóng của tần số được sử dụng để tối ưu hóa
năng lượng chuyển từ tín hiệu của anten reader tới thẻ. Với một anten lưỡng cực
kép (dual dipole) thì nó bao gồm hai lưỡng cực, nên có thể giảm đi rất nhiều tính
nhạy cảm thẳng hướng của thẻ .Chính vì vậy mà, reader có thể đọc thẻ tại nhiều
hướng khác nhau.Còn một lưỡng cực gấp (folded dipole) là bao gồm hai hoặc
nhiều dây điện thẳng kết nối song song và mỗi cái có chiều dài bằng nửa chiều dài

14
bước sóng (của tần số được sử dụng). Khi hai dây được nối lại, thì kết quả tạo ra
“một lưỡng cực gấp-2 dây”.Tương tự như vậy ba dây kết nối song song sẽ tạo ra
“một lưỡng cực gấp-3 dây”. Hình dưới chỉ ra hình dạng minh họa một vài kiểu
anten này.

Hình 1.10 Các kiểu anten lưỡng cực

Chiều dài anten của thẻ thường lớn hơn rất nhiều so với microchip của thẻ, và
do đó nó quyết định đến kích thước vật lý sau cùng của thẻ. Ngoài ra có một vài
thông số ta cần chú ý khi thiết kế thẻ:

• Khoảng cách đọc thẻ được tính từ reader


• Hướng nhận biết thẻ so với reader

15
• Hướng bất kỳ của thẻ so với reader
• Các kiểu riêng biệt của sản phẩm
• Tốc độ di chuyển của đối tượng được gắn thẻ
• Các điều kiện hoạt động đặc thù
• Sự phân cực của anten reader
1.4.1.2 Thẻ tích cực
Các thẻ RFID tích cực có sẵn một nguồn năng lượng ở trên bảng mạch thẻ (ví
dụ như ,có pin kèm theo;hoặc là dạng nguồn năng lượng khác) và các bộ phận điện
tử để thực hiện các chức năng đặc biệt. Một thẻ tích cực sử dụng nguồn năng lượng
ở trên bảng mạch thẻ của chính nó để truyền dữ liệu của nó tới reader. Nó không
phải cần đến năng lượng phát ra từ reader để truyền dữ liệu. Các bộ phận điện tử ở
trên bảng mạch thẻ có thể bao gồm bộ vi xử lý, cảm biến, và các cổng vào/ra. Ví dụ,
các thành phần điện tử này thực hiện đo một khoảng nhiệt độ nào đó và sinh ra dữ
liệu về giá trị nhiệt độ trung bình.Sau đó chúng sẽ sử dụng dữ liệu này để quyết
định các tham số khác chẳng hạn như ngày kết thúc của mặt hàng được gắn thẻ .
Rồi tiếp đó thẻ có thể truyền thông tin này tới reader. Chúng ta có thể hình dung
thẻ tích cực giống như một chiếc máy tính không dây cộng thêm với vài thuộc tính
khác (ví dụ, có thể bao gồm thêm một cảm biến hoặc một tập hợp các cảm biến).

Trong giao tiếp truyền thông tin giữa thẻ và reader, thì thẻ luôn luôn phải thực
hiện liên lạc trước tiên, tiếp sau đó mới tới phiên reader. Bởi vậy sự hiện diện của
reader không cần thiết cho sự truyền đi của dữ liệu, một thẻ tích cực có thể phát đi
dữ liệu lưu trữ trong nó tới các khu vực xung quanh ngay cả khi không có reader.
Có lẽ vì vậy mà kiểu thẻ này cũng được gọi là một bộ phát tín hiệu. Khoảng cách
đọc thẻ của một thẻ tích cực có thể là 100 feet (xấp xỉ 30.5 mét) hoặc lớn hơn.

Một thẻ tích cực bao gồm các thành phần:


• Vi chip
• Anten
• Nguồn năng lượng nuôi thẻ
• Các thành phần điện tử

Dưới đây là các hình ảnh minh họa các thành phần bên trong một thẻ tích cực:

16
Hình 1.11 Các thành phần bên trong một thẻ tích cực

Còn tiếp theo là hình ảnh thực tế của thẻ tích cực của các hãng sản xuất lớn:

Hình 1.12 Các thẻ tích cực dải UHF tần số thấp (303.8 MHz) của hãng RFCode,
Inc

Do các thành phần vi chip và anten của thẻ tích cực cũng giống với thẻ thụ động
nên ta sẽ không nói tới ở đây.Bây giờ ta chỉ nói qua về hai thành phần còn lại là
khối nguồn và các thành phần điện tử.

1.4.1.2.1 Khối nguồn


Tất cả các thẻ tích cực đều có mang một nguồn năng lượng trên nó (ví dụ, có
một pin nhỏ kèm theo) để cung cấp năng lượng tới các thành phần điện tử và để nó
thực hiện truyền dữ liệu đi. Nếu như sử dụng một pin làm nguồn năng lượng , thì

17
một thẻ tích cực có thể sử dụng được ít nhất khoảng từ 2 tới 7 năm phụ thuộc vào
độ bền của pin. Một trong những nhân tố quyết định độ bền của pin là tốc độ truyền
dữ liệu của thẻ. Ví dụ, giả thiết rằng một thẻ tích cực được chế tạo mặc định là cứ
thực hiện truyền một lần sau vài giây. Nếu như bạn tăng nó lên,tức là thiết lập cứ
truyền một lần sau một vài phút thậm chí là một vài giờ,thì bạn đã làm cho tuổi thọ
sử dụng pin lâu hơn. Ngoài ra, các cảm biến nằm trên bảng mạch thẻ và các bộ xử
lý tiêu thụ năng lượng ít cũng có thể góp phần làm cho tuổi thọ của pin ngắn đi.

1.4.1.2.2 Các thành phần điện tử


Các thành phần điện tử nằm trên bảng mạch thẻ cho phép thẻ hoạt động như
một bộ phát tín hiệu (transmiter), và tùy theo lựa chọn cụ thể mà nó có thể thực hiện
được các chức năng đặc biệt chẳng hạn như việc tính toán, hoặc hoạt động như một
cảm biến,...Thành phần này cũng có thể cung cấp thông tin cho việc kết nối với các
cảm biến ở bên ngoài. Cho nên, tùy theo kiểu cảm biến gắn vào, mà thẻ có thể thực
hiện được rất nhiều các chức năng cảm biến. Nói chung, phạm vi các chức năng của
thành phần này là không giới hạn. Ta cần chú ý rằng khi số các chức năng tăng nên
thì kích thước vật lý của phần này tăng nên ,và vì vậy kích thước thẻ cũng tăng lên.
Tuy nhiên điều này hoàn toàn có thể chấp nhận được với các thẻ tích cực . Vì vậy
mà, các thẻ tích cực có thể triển khai tới một phạm vi rộng các ứng dụng hiện nay.

1.4.1.3 Thẻ bán tích cực (hoặc thẻ bán thụ động)
Các thẻ bán tích cực cũng có một nguồn năng lượng nằm trên nó và có kèm
thêm các thành phần điện tử để thực hiện các chức năng đặc biệt. Nguồn năng
lượng nằm trên bảng mạch thẻ cung cấp năng lượng cho các hoạt động của thẻ. Tuy
nhiên,để truyền dữ liệu đi, thẻ bán tích cực phải sử dụng năng lượng phát ra từ
reader.Đây là một đặc điểm giống với thẻ thụ động. Vì vây kiểu thẻ này cũng được
gọi dưới cái tên khác là “thẻ được trợ giúp bởi pin”. Trong việc giao tiếp truyền
thông tin giữa thẻ và reader, thì reader luôn luôn phải thực hiện liên lạc trước tiên,
tiếp sau đó mới tới phiên thẻ. Cũng có các đặc điểm tương tự như trên là các thẻ bán
thụ động.
Vậy tại sao lại dùng thẻ bán thụ động mà không dùng thẻ thụ động ? Là bởi vì
thẻ bán tích cực không sử dụng các tín hiệu của reader để kích thích bản thân nó
như các thẻ thụ động, và nó có thể đọc được từ một khoảng cách xa hơn so với thẻ
thụ động. Và cũng bởi lý do các thẻ bán thụ động có thể tự kích thích chính bản
thân nó . Do vậy, ngay cả khi đối tượng được gắn thẻ đang di chuyển với một tốc độ
lớn,thì dữ liệu trên thẻ vẫn có thể đọc được khi ta sử dụng thẻ bán thụ động (hoặc
bán tích cực).
Dưới đây là hình ảnh thực tế của thẻ bán tích cực từ các hãng sản xuất lớn trên
thế giới:

18
Hình 1.13 Các thẻ bán tích cực 2.45 GHz của hãng Alien Technology

Hình 1.14 Các thẻ bán tích cực 915 MHz/2.45 GHz của hãng TransCore

Ngoài cách phân loại trên còn có cách phân loại dựa trên cơ sở về việc hỗ trợ
khả năng ghi lại dữ liệu như dưới đây :

• Chỉ đọc (RO)


• Ghi một lần ,đọc nhiều lần (RW)
• Đọc, ghi (WORM)

Ta cần chú ý rằng cả hai loại thẻ thụ động và tích cực đều có thể là RO,
WORM, và RW.Dưới đây ta sẽ đi qua chi tiết hơn một chút về cách phân loại này.

1.4.1.4 Thẻ chỉ đọc


Một thẻ RO chỉ có thể lập trình một lần trong suốt thời gian nó tồn tại. Dữ liệu
có thể được “burn” vào bên trong thẻ tại nhà máy trong suốt giai đoạn chế tạo. Để
hoàn thành cái này,các cầu chì riêng lẻ trên vi chip của thẻ được “burn” vĩnh cửu
bằng cách dùng một chùm laser có đầu nhọn. Sau khi xong công đoạn đó ,thì dữ
liệu sẽ không thể ghi lần nữa lên thẻ trong suốt thời gian tồn tại của nó. Có lẽ do
vậy mà loại thẻ này còn có tên gọi khác là “factory programmed” (có nghĩa là ,
được lập trình bởi nhà sản xuất). Nhà sản xuất thẻ thực hiện đưa dữ liệu lên trên
thẻ,còn người dùng thẻ thông thường sẽ không có bất cứ điều khiển nào trên nó.

19
Kiểu thẻ này khá thích hợp cho các ứng dụng nhỏ, nhưng không thực tế khi chế tạo
số lượng lớn hoặc khi dữ liệu trên thẻ cần được tùy chỉnh dựa trên cơ sở ứng dụng
triển khai.

1.4.1.5 Thẻ ghi một lần – đọc nhiều lần


Một thẻ WORM có thể được lập trình hay ghi lại một lần, thông thường việc
này sẽ không phải được thực hiện bởi nhà sản xuất mà bởi người dùng thẻ tại thời
điểm họ thực hiện công đoạn tạo thẻ. Trong thực tế ,các thẻ loại này thường chỉ
được ghi đè với một số lần cố định (khoảng 100 lần) ! Nếu như dữ liệu ghi đè lên
thẻ vượt quá số lần quy định đó, thì thẻ có thể bị hư hỏng vĩnh viễn.
Đây là kiểu thẻ có giá cả phải chăng để có thể thực hiện với số lượng lớn và có
tính bảo mật dữ liệu cao,có lẽ vậy mà nó là kiểu thẻ được sử dụng thịnh hành nhất
trong các nghiệp vụ kinh doanh ngày nay.

1.4.1.6 Thẻ ghi – đọc


Một thẻ RW có thể được lập trình lại hay là ghi lại nhiều lần. Thông thường,
con số này nằm trong khoảng giữa 10,000 và 100,000 lần và có thể hơn nữa! Khả
năng ghi đè này đưa ra một đặc trưng to lớn ,đó là dữ liệu có thể được ghi hoặc bởi
reader hoặc bởi chính bản thân thẻ (trong trường hợp là các thẻ tích cực). Thẻ RW
thường có chứa một bộ nhớ Flash hoặc FRAM để lưu trữ dữ liệu của nó. Bảo mật
dữ liệu là một thử thách khá lớn cho loại thẻ này. Ngoài ra, chi phí thực hiện chế tạo
chúng cũng khá đắt đỏ. Có lẽ vì vậy nên các thẻ RW không được sử dụng rộng rãi
trong các ứng dụng ngày nay.

1.4.2 Thiết bị đọc thẻ (Reader)


Một RFID reader là một thiết bị cho phép đọc hoặc ghi tới các thẻ RFID thích
hợp. Hành động ghi dữ liệu lên thẻ bởi một reader được gọi là công đoạn tạo thẻ.
Công đoạn tạo thẻ cùng với việc gắn thẻ đó lên một đối tượng nào đó được gọi là
quy trình đưa thẻ đi vào hoạt động. Quãng thời gian một reader có thể phát xạ năng
lượng RF để đọc các thẻ được gọi là chu trình hoạt động của reader.
Reader là hệ thống thần kinh trung tâm của toàn bộ phần cứng hệ thống
RFID .Một reader có các thành phần chính dưới đây:

• Bộ truyền tín hiệu


• Bộ nhận tín hiệu
• Bộ vi xử lý
• Bộ nhớ
• Các kênh vào/ra cho các cảm biến, bộ truyền động, và bộ báo hiệu ở bên
ngoài.
• Khối điều khiển
• Khối giao tiếp truyền thông
• Khối nguồn

Dưới đây là hình minh họa cụ thể các thành phần đó trong một reader:

20
Hình 1.15 Các thành phần bên trong reader

1.4.2.1 Khối truyền tín hiệu


Bộ truyền tín hiệu của reader được sử dụng để truyền năng lượng điện xoay
chiều và chu kỳ xung thông qua anten của chính nó tới các thẻ nằm trong phạm vi
đọc của nó. Đây là một phần của bộ thu phát tín hiệu, là thành phần mà chịu trách
nhiệm gửi tín hiệu của reader tới môi trường xung quanh và nhận thông tin trả lại từ
thẻ thông qua anten của reader. Các cổng anten của reader sẽ được kết nối tới thành
phần thu phát của chính nó. Hiện nay, một vài reader có thể hỗ trợ nên tới bốn cổng
anten. Điều đó có nghĩa là reader có thể nhận dạng được nhiều thẻ tại cùng một thời
điểm.

1.4.2.2 Khối nhận tín hiệu


Thành phần này cũng là một phần của khối thu phát. Nó nhận các tín hiệu tương
tự từ thẻ thông qua anten của reader. Sau đó nó gửi các tín hiệu này tới bộ vi xử lý
của reader, ở đó nó sẽ thực hiện chuyển đổi sang định dạng số.

1.4.2.3 Khối vi xử lý
Thành phần này chịu trách nhiệm thực hiện các giao thức của reader để liên lạc
với từng loại thẻ phù hợp. Nó sẽ thực hiện giải mã và kiểm tra lỗi của các tín hiệu
tương tự từ bộ nhận tín hiệu. Ngoài ra, nó còn bao gồm thêm logic tùy chỉnh để lọc
mức thấp và xử lý dữ liệu đọc được từ thẻ.

1.4.2.4 Khối bộ nhớ


Bộ nhớ được sử dụng để lưu trữ dữ liệu chẳng hạn như các thông số cấu hình
của reader và danh sách các thẻ có thể đọc được. Nếu như kết nối giữa reader và
thành phần điều khiển hoặc hệ thống phần mềm bị ngắt,thì tất cả dữ liệu đọc được
từ thẻ sẽ bị mất.

1.4.2.5 Các kênh vào/ra cho cảm biến, bộ truyền động, và bộ báo hiệu ở bên
ngoài

21
Các reader không phải luôn hoạt động để đọc thẻ tại tất cả các thời điểm. Xét
cho cùng, thì các thẻ chỉ phải xuất hiện tại các thời điểm chính trong vùng đọc của
nó, và cũng để cho reader được rảnh rỗi để tiết kiệm năng lượng. Chính vì mục đích
đó mà ta phải sử dụng thành phần này. Nó cung cấp một kết cấu cơ học để bật hay
tắt reader phụ thuộc vào các sự kiện ở bên ngoài. Thông thường ta hay gặp các loại
cảm biến, chẳng hạn như một cảm biến chuyển động hay một cảm biến ánh sáng, để
phát hiện sự hiện diện của các đối tượng được gắn thẻ trong vùng đọc của reader.
Sau đó cảm biến có thể thiết lập reader để đọc thẻ này. Tương tự, thành phần này
cũng cho phép reader cung cấp một vài đầu ra nội bộ phụ thuộc vào một vài điều
kiện nào đó qua một bộ báo hiệu (ví dụ như, phát ra một âm thanh cảnh báo).

1.4.2.6 Khối điều khiển


Khối điều khiển là một thực thể mà cho phép một thực thể ở bên ngoài, hoặc là
con người hoặc là một chương trình máy tính, thực hiện liên lạc với reader và điều
khiển các chức năng của nó cũng như điều khiển bộ báo hiệu và bộ truyền động
được kết hợp với reader đó. Thông thường,các nhà sản xuất sẽ tích hợp thành phần
này vào bên trong bản thân reader (ví dụ như firmware). Tuy nhiên, nó cũng có thể
được đóng gói lại như một thành phần phần cứng hoặc phần mềm riêng biệt mà
người sử dụng sẽ phải mua nó đi kèm cùng với reader.

1.4.2.7 Khối giao tiếp truyền thông


Thành phần giao tiếp truyền thông cung cấp cách thức truyền thông tin tới
reader ,cho phép nó tương tác với các thực thể ở bên ngoài, thông qua một thành
phần điều khiển , để chuyển dữ liệu lưu trữ trong nó và để nhận lệnh và gửi trở lại
các phản hồi tương ứng. Thực thể này có các đặc tính quan trọng khiến nó cần phải
được chế tạo ra như một thành phần độc lập. Một reader cũng có thể có kiểu truyền
thông nối tiếp giống như giao tiếp mạng máy tính ta thường thấy. Đó là kiểu giao
tiếp có khả năng phổ biến thịnh hành nhất trong các kiểu giao tiếp có thể của
reader , tuy nhiên các phiên bản reader sắp tới đây lại đang phát triển các giao diện
mạng như là các chuẩn đặc trưng tiến tiến của tương lai.

1.4.2.8 Khối nguồn


Thành phần này thực hiện việc cung cấp năng lượng để nuôi các thành phần
khác trên reader.

1.4.2.9 Phân loại thiết bị đọc thẻ


Cũng giống như các thẻ, các reader cũng có thể được phân loại bằng cách sử
dụng hai tiêu chí khác nhau. Tiêu chí đầu tiên là dựa trên cách cung cấp giao tiếp
liên lạc cho reader. Dựa trên cái này, các reader có thể được phân loại như dưới đây:

• Reader nối tiếp


• Reader mạng

Tiếp sau đây ta sẽ mô tả qua về các kiểu reader này.

22
1.4.2.9.1 Thiết bị đọc thẻ nối tiếp
Các reader nối tiếp sử dụng một liên kết truyền thông nối tiếp để liên lạc với
một ứng dụng. Reader được liên kết vật lý tới một cổng nối tiếp trên máy tính sử
dụng một kết nối nối tiếp RS-232 hoặc RS-485. Chú ý rằng cả hai kiểu kết nối này
đều có một giới hạn về chiều dài cáp có thể được sử dụng để nối từ reader tới máy
tính. Với kiểu RS-485 cho phép chiều dài cáp sử dụng dài hơn so với kiểu RS-232.

Ưu điểm của các reader nối tiếp là có các liên kết truyền thông đáng tin cậy hơn
so với các reader mạng, bởi vì nó không ra các hiện tượng mất gói tin như trong
reader mạng . Do đó, việc sử dụng các reader loại này được khuyến khích để giảm
thiểu sự phụ thuộc vào một kênh truyền thông.

Tuy nhiên, nhược điểm của các reader nối tiếp là phụ thuộc vào chiều dài lớn
nhất của cáp được sử dụng để nối từ reader tới máy tính. Ngoài ra, bởi vì số lượng
cổng nối tiếp thường được giới hạn trên một máy chủ, nên phải cần tới một lượng
lớn máy chủ để có thể kết nối được với tất cả các reader nối tiếp.Và để cập nhật
firmware cho reader thì người bảo dưỡng phải thực hiện tiến hành vói từng reader.
Vì vậy đội ngũ bảo dưỡng cũng phải cần tới với số lượng nhiều. Ngoài ra, tốc độ
truyền dữ liệu nối tiếp thường thấp hơn nhiều so với tốc độ truyền dữ liệu mạng. Tất
cả các yếu tố này có thể dẫn đến một kết quả là , chi phí bảo dưỡng sẽ cao hơn và
thời gian ngừng hoạt động là đáng kể.

1.4.2.9.2 Thiết bị đọc thẻ mạng


Các reader mạng có thể được kết nối tới một máy tính bằng cách sử dụng cả
mạng có dây và mạng không dây. Trong thực tế, loại reader này có thể được cài đặt
vận hành giống như một thiết bị mạng thông thường mà không cần yêu cầu kiến
thức chuyên môn về phần cứng. Tuy nhiên cần phải chú ý rằng, tính năng giám sát
SNMP hiện đang có sử dụng trên một vài kiểu reader mạng. Do đó, phần lớn các
reader này không thể được giám sát như với các thiết bị mạng chuẩn được.

Ưu điểm của các reader mạng là nó không phụ thuộc vào chiều dài lớn nhất của
dây cáp được nối từ reader tới máy tính. Và nó cũng cần số lượng máy chủ ít hơn so
với các reader nối tiếp. Ngoài ra, firmware của reader có thể được cập nhật từ xa
thông qua mạng mà không cần tới bất cứ tiếp xúc vật lý nào với reader. Cái này
khiến cho hệ thống dễ dàng bảo dưỡng hơn và cho thấy nỗ lực hạ thấp chi phí của
một hệ thống RFID.

Nhược điểm của các reader mạng là các liên kết truyền thông kém tin cậy hơn
so với các reader nối tiếp. Ví dụ, có thể do lý do nào đó liên kết mạng bị trục trặc
trong khoảng thời gian ngắn, khiến cho mất gói dữ liệu trong quá trình chuyển dữ
liệu từ reader về máy chủ. Và có thể dẫn đến sai kết quả về dữ liệu trên thẻ . Để giải
quyết vấn đề này, nói chung các reader đã có thêm bộ nhớ trong để lưu trữ dữ liệu
đọc được từ thẻ. Tính năng này dù không tối ưu nhưng đã phần nào giảm bớt được
hậu quả gây ra do mất liên kết mạng.

23
Tiêu chí phân loại thứ hai được tạo ra dựa trên cơ sở tính di động của nó, như
chỉ ra dưới đây:

• Reader cố định
• Reader cầm tay

Dưới đây ta sẽ mô tả về các kiểu reader này.

1.4.2.9.3 Thiết bị đọc thẻ cố định

Các reader loại này được gắn vào tường, cổng, hoặc một vài cấu trúc phù hợp
trong vùng đọc. Các cấu trúc mà trên đó reader được gắn vào có thể không cần phải
là tĩnh! Ví dụ , một vài reader loại này có thể được gắn lên các xe nâng hàng. Tương
tự, ta cũng có thể gắn các reader này ở bên trong các xe tải giao nhận hàng. Trái
ngược với các thẻ, các reader không chịu được với các điều kiện môi trường khắc
nghiệt. Do đó, nếu như chúng ta cài đặt một reader ở ngoài trời hoặc trên các đối
tượng đang chuyển động, thì chúng ta phải chú ý tới các điều kiện xung quanh nó.
Các reader cố định nói chung thường phải cần tới anten ở bên ngoài để có thể đọc
được thẻ. Một reader có thể cung cấp lên tới bốn cổng anten ở bên ngoài.

Giá cả của các reader cố định thường thấp hơn nhiều so với các reader cầm
tay.Chính vì vậy các reader loại này là kiểu reader được sử dụng thông dụng nhất
hiện nay.

Một kiểu reader có tên gọi là reader agile có thể hoạt động trong các tần số khác
nhau hoặc có thể sử dụng các giao thức liên lạc từ thẻ tới reader khác nhau. Ngày
nay các reader agile là loại reader cố định thường được sử dụng nhất.

Hình 1.16 Reader mạng dải UHF tần số thấp (303.8 MHz) hỗ trợ giao tiếp mạng có
dây và không dây của hãng RFCode, Inc

24
Một kiểu reader cố định có tên gọi là máy in RFID, có thể in ra một mã vạch và
đồng thời tạo ra một thẻ RFID trên một nhãn thông minh. Một nhãn thông minh bao
gồm một nhãn mã vạch và có một thẻ RFID được nhúng trong nó. Các kiểu thông
tin khác nhau, chẳng hạn như người gửi và địa chỉ người nhận, thông tin sản phẩm,
cũng có thể được in trên nhãn đó. Sau đó, máy in RFID sẽ đọc các thẻ nhãn thông
minh mà nó vừa mới ghi lên để xác thực thông tin. Nếu như thông tin này có lỗi, thì
tức là máy in đã từ chối nhãn thông minh và nó chỉ thực hiện việc duy nhất là in ra.
Một nghiệp vụ nào đó mà hiện đang sử dụng mã vạch cho các thao tác của nó thì ta
có thể sử dụng RFID printer như là bước đầu tiên tiếp cận làm quen với công nghệ
RFID. Dưới đây là một vài hình ảnh trong thực tế về các nhãn thông minh và máy
in RFID:

Hình 1.17 Nhãn RFID thông minh của hãng Zebra Technologies

Hình 1.18 Máy in RFID của hãng Zebra Technologies

25
1.4.2.9.4 Thiết bị đọc thẻ cầm tay

Một reader cầm tay là một reader di động mà người sử dụng có thể thao tác nó
như một vật cầm tay. Một reader cầm tay nói chung được xây dựng đã bao gồm cả
anten ở bên trong nó. Mặc dù các reader này có giá cả rất đắt (và ít được thương
mại hóa), tuy nhiên , gần đây với những tiến bộ trong công nghệ chế tạo reader thì
giá cả của các thiết bị loại này đang có xu hướng giảm dần. Dưới đây là hình thiết bị
reader cầm tay trong thực tế.

Hình 1.19 Reader cầm tay

1.4.3 Giao tiếp giữa thiết bị đọc thẻ và thẻ


Tùy thuộc vào kiểu thẻ sử dụng,giao tiếp truyền thông tin giữa một reader và
một thẻ có thể là một trong các cách dưới đây:
• Kiểu điều chế backscatter
• Kiểu transmitter
• Kiểu transponder
Trước khi đi vào từng kiểu giao tiếp truyền thông đó , ta sẽ tìm hiểu qua về hai
khái niệm là “trường gần” và “trường xa” .
Khu vực nằm giữa một anten của reader và một bước sóng đầy đủ của sóng RF
được phát ra từ anten được gọi là trường gần. Còn khu vực nằm ở phía ngoài bước
sóng đầy đủ đó thì được gọi là trường xa. Các hệ thống RFID thụ động hoạt động
tại các tần số LF và HF thì sử dụng liên lạc trường gần,còn tại các tần số UHF thì sử
dụng liên lạc trường xa. Cường độ của tín hiệu trong liên lạc trường gần bị giảm đi
một lượng bằng lũy thừa bậc ba của khoảng cách tới anten của reader. Còn trong
trường xa, nó giảm đi một lượng bằng bình phương của khoảng cách tới anten của
reader.Từ đó dẫn đến một hệ quả là,liên lạc trường xa sẽ phù hợp hơn với phạm vi
đọc lớn hơn so với liên lạc trường gần.Dưới đây là các hình ảnh minh họa trường
gần và trường xa:

26
Hình 1.20 Trường gần và trường xa

Tiếp theo ta sẽ đi so sánh sự giống nhau cũng như khác nhau giữa hai thao tác
“đọc thẻ” và “ghi thẻ” với các thẻ có khả năng ghi được nên nó, ví dụ thẻ EM4150
của hãng EM microelectronic.
Thao tác “ghi thẻ” sẽ mất nhiều thời gian hơn thao tác “đọc thẻ” dưới cùng một
điều kiện bởi vì một thao tác ghi bao gồm nhiều bước, cụ thể là bao gồm, bước
kiểm tra khởi tạo, bước xóa đi bất cứ dữ liệu gì đang tồn tại trên thẻ,bước ghi dữ
liệu mới lên thẻ , và bước kiểm tra cuối cùng. Ngoài ra, dữ liệu được ghi lên thẻ
thành các khối theo nhiều bước.Và kết quả là,với thao tác ghi lên một thẻ độc lập có
thể mất tới hàng trăm mili giây để hoàn thành và thời gian đó sẽ tăng lên khi kích
thước dữ liệu tăng lên. Trái ngược lại với điều đó, thì nhiều thẻ có thể được đọc
trong cùng khoảng thời gian bởi cùng một reader. Bởi vậy, thao tác ghi thẻ là một
quá trình nhạy cảm và cần phải xác định thẻ đích, cụ thể là thẻ mà ta sẽ thực hiện
thao tác ghi lên. Nên,trong suốt thao tác ghi thẻ,bất cứ thẻ nào khác không phải là
thẻ đích thì ta không nên để trong phạm vi ghi của reader.

1.4.3.1Kiểu điều chế backscatter


Phương pháp truyền thông tin theo kiểu điều chế backscatter được triển khai với
cả các thẻ thụ động cũng như là với các thẻ bán tích cực. Trong kiểu truyền thông
tin này, reader gửi đi một tín hiệu sóng liên tục (CW) RF có bao gồm thêm tín hiệu
năng lượng điện xoay chiều và tín hiệu xung tới thẻ tại tần số của sóng mang (là tần
số mà tại đó reader hoạt động). Thông qua đầu nối vật lý , anten của thẻ sẽ cung cấp
năng lượng tới vi chip trên thẻ. Thông thường để phục vụ cho mục đích đọc
thẻ,thành phần vi chip phải được đưa lên tới mức điện áp 1.2 vôn .Còn để thực hiện
ghi, vi chip thường phải đưa lên khoảng 2.2 vôn từ tín hiệu của reader. Sau đó vi
chip thực hiện điều chế hoặc phân chia tín hiệu đầu vào thành một dãy các mẫu on
và off biểu thị dữ liệu của nó và thực hiện truyền dữ liệu đó trở lại. Khi reader nhận
được tín hiệu đã được điều chế này, nó thực hiện giải mã mẫu và nhận được dữ liệu
trên thẻ.

Do đó, trong phương pháp truyền thông tin theo kiểu điều chế backscatter,
reader luôn luôn phải thực hiện "bắt chuyện" trước ,tiếp sau đó mới tới phiên thẻ.

27
Thẻ sử dụng kiểu truyền thông này sẽ không thể liên lạc được tại các thời điểm
vắng mặt reader bởi vì nó phụ thuộc vào lượng năng lượng có trên reader để truyền
dữ liệu của bản thân nó. Hình dưới minh họa kiểu truyền thông backscatter.

Hình 1.21 Điều chế backscatter

1.4.3.2 Kiểu transmitter


Kiểu truyền thông tin này chỉ được triển khai với các thẻ tích cực. Trong kiểu
truyền thông này, thẻ phát đi các thông điệp của nó tới môi trường xung quanh theo
các khoảng cách chuẩn, bất chấp có sự hiện diện hay vắng mặt reader. Do đó,trong
kiểu truyền thông tin này, thẻ luôn luôn phải thực hiện "bắt chuyện" trước reader.
Hình dưới minh họa phương pháp truyền thông tin theo kiểu transmitter.

Hình 1.22 Kiểu transmitter

1.4.3.3 Kiểu transponder


Kiểu truyền thông tin này được triển khai với kiểu thẻ đặc biệt có tên gọi là
transponder. Trong kiểu truyền thông tin này, thẻ thường ở trạng thái "ngủ" khi
không có truy vấn từ bất cứ reader nào. Trong trạng thái này, thẻ phải gửi đi theo
chu kỳ một thông điệp để kiểm tra xem có reader nào đang lắng nghe nó không. Khi
một reader nhận được chẳng hạn một thông điệp truy vấn, nó có thể "đánh thức "
thẻ để nó kết thúc trạng thái ”ngủ”. Khi thẻ nhận được lệnh này từ reader, nó thoát
khỏi trạng thái hiện tại và bắt đầu hoạt động trở lại như một thẻ transmitter ở trên.
Dữ liệu trên thẻ chỉ được gửi đi khi có một reader cụ thể truy vấn nó. Hình dưới chỉ
ra kiểu truyền thông tin transponder.

28
Hình 1.23 Kiểu transponder

1.4.4 Anten của thiết bị đọc thẻ


Thiết bị đọc thẻ (reader) liên lạc với thẻ thông qua anten của nó, đó là một thiết
bị riêng biệt được gắn kết vật lý với nó, tại một trong các cổng anten. Như đã nói ở
phần trước,một reader độc lập có thể hỗ trợ lên tới bốn cổng anten.Khối phát tín
hiệu trên reader sẽ điều khiển anten phát đi tín hiệu RF ra bên ngoài xung quanh nó
và nhận về thông tin phản hồi từ thẻ.Do đó anten có một vị trí quan trọng tương
đương với reader trong hệ thống RFID. Thông thường trong thực tế anten thường
được chế tạo theo cách quấn dây theo dạng hình vuông, hoặc cũng có thể chế tạo
theo kiểu các đường mạch PCB. Dưới đây là một số hình ảnh trong thực tế về anten
của reader của các hãng chế tạo nổi tiếng.

29
Hình 1.24. Anten UHF phân cực tròn của reader được sản xuất bởi Alien
Technology

Hình 1.25 Anten UHF phân cực tuyến tính của reader được sản xuất bởi Alien
Technology

Bây giờ chúng ta sẽ tìm hiểu qua một vài khái niệm rất quan trọng của anten, đó
là vùng phủ sóng của anten,sự phân cực của anten và năng lượng của anten. Chú ý
rằng , ở đây nói đề cập đến các vấn đề chung về anten ,tức là nó có thể liên quan
đến cả anten của thẻ và anten của reader.

1.4.4.1Vùng phủ sóng của anten


Vùng phủ sóng của anten reader chính là vùng đọc (cũng được gọi với cái tên
khác là ,cửa sổ đọc) của reader đó. Nói chung, vùng phủ sóng của một anten là một
miền ba chiều có hình dạng phần nào đó giống với một hình elip tròn xoay. Trong
miền này, năng lượng của anten là hiệu dụng nhất; do đó, một reader có thể đọc
được một thẻ đặt ở phía trong miền này mà ít gặp khó khăn nhất. Hình dưới minh
họa một ví dụ mẫu về vùng phủ sóng của anten.

Hình 1.26 Mô hình anten mẫu

30
Hình 1.27 Một ví dụ về mô hình anten có chứa các biến dạng lồi

1.4.4.2 Sự phân cực của anten


Không giống như các sóng nước, các sóng điện từ không bị ảnh hưởng bởi lực
hấp dẫn , và điện trường tại các điểm có thể trong bất cứ hướng nào trên mặt phẳng
vuông góc với hướng truyền. Nên thông thường các anten định hướng phân cực
thẳng theo chiều dọc hoặc theo chiều ngang (như minh họa ở hình dưới đây).

Hình 1.28 Phân cực tuyến tính

Hướng phân cực ủa nó cũng có khả năng phụ thuộc vào thời gian. Ví dụ, trường
điện từ có thể xoay xung quanh một trục mà nó lan truyền là một hàm phụ thuộc
vào thời gian, nếu như không có sự thay đổi về biên độ của nó, thì sẽ tạo ra một bức
xạ phân cực tròn (Như hình dưới đây).

31
Hình 1.29 Phân cực tròn

Bức xạ phân cực tròn có thể được coi như là tổng hợp của các sóng phân cực
dọc và phân cực ngang có sự sai khác 90 độ về pha. Bằng cách điều chỉnh tỷ lệ của
các thành phần ngang và dọc, và mối quan hệ về pha giữa chúng, chúng ta có thể
tạo ra các sóng phân cực elip được định hướng tùy ý.

Tầm quan trọng của phân cực trong RFID: nhiều anten của các thẻ RFID bao
gồm chủ yếu là các đường dây kim loại đi theo cùng một hướng. Nếu như điện
trường được định hướng dọc theo dây, thì nó có thể hoạt động để đẩy các electron
quay trở lại và tiến về phía trước từ một đầu của dây dẫn tới một dây khác, để tạo ra
một điện áp nuôi chip trên thẻ hoạt động. Nếu như điện trường được định hướng
vuông góc với trục của dây, thì nó chỉ đơn thuần dich chuyển các electron quay lại
và tiến lên trước dọc theo đường kính của dây, thì sẽ không tạo ra điện áp để nuôi
chip của thẻ.

32
Hình 1.30 Sóng phân cực tuyến tính tương tác với anten tuyến tính

Khi một sóng phân cực tròn đi tới một anten tuyến tính, thì chỉ có các thành
phần dọc theo trục của anten là có hiệu ứng nào đó xảy ra. Do đó, một sóng phân
cực tròn sẽ tương tác với một anten tuyến tính tại bất cứ góc nghiêng nào trong mặt
phẳng vuông góc với trục lan truyền, nhưng trong mọi trường hợp thì chỉ có một
nửa năng lượng truyền đi là được nhận.

Hình 1.31 Sóng phân cực tròn tương tác với anten tuyến tính

Nên cách tiếp cận tốt nhất để chế tạo các thẻ phân cực độc lập là kết hợp hai
anten lưỡng cực lên trên một thẻ được định hướng trực giao với một cái khác; các
thẻ đó được biết đến như là các thiết kế lưỡng cực đôi (cái này đã nói qua ở phần
anten của thẻ).
Với các anten của reader chúng ta cần chú ý rằng, khả năng đọc thẻ , khoảng
cách đọc thẻ là phụ thuộc rất nhiều vào sự phân cực của anten reader và góc tạo với
thẻ.Với các loại reader hoạt động tại các tần số UHF thì các anten của nó được chế
tạo dựa trên cả hai kiểu phân cực : phân cực thẳng và phân cực tròn.

1.4.4.3 Năng lượng của anten


Đơn vị đo lường năng lượng phát xạ của anten có tên gọi là ERP đối với các
nước châu âu và là EIRP đối với Hoa Kỳ. ERP và EIRP không giống nhau nhưng
được liên hệ với nhau bởi hệ thức EIRP = 1.64 ERP. Giá trị lớn nhất có thể của
năng lượng anten được điều chỉnh giới hạn bởi các quốc gia và quốc tế (ví dụ, là
FCC với Hoa Kỳ).

1.4.5Máy chủ và hệ thống phần mềm


Máy chủ và hệ thống phần mềm là một cách nói gọn nhằm chỉ các thành phần
phần cứng và phần mềm tồn tại riêng biệt với phần cứng RFID (đó là, reader, thẻ,

33
và anten). Nó bao gồm nhiều thành phần, nhưng ở mức độ đồ án này ta chỉ quan
tâm đến thành phần middleware .
Để có thể thu được lợi ích đầy đủ từ RFID, thì những người thực hiện các giải
pháp RFID phải tìm cách để kết hợp dữ liệu RFID vào bên trong các quy trình ra
quyết định của họ. Hệ thống các doanh nghiệp công nghệ thông tin là trung tâm của
các quy trình đó. Do đó, trừ khi các hệ thống RFID được kết hợp vào bên trong các
hệ thống thông tin doanh nghiệp và các tổ chức đầu tư vào RFID thì mới có thể cải
thiện được tình hình kinh doanh và hiệu quả tổ chức. Và đó chính là nơi,
middleware hướng đến.
Middleware là một phần mềm chịu trách nhiệm kết nối phần cứng RFID mới
với một hệ thống thông tin doanh nghiệp hiện có. Middleware chính là các công cụ
phần mềm giúp người sử dụng làm việc trên các phần cứng RFID.Vì vậy nếu thiếu
Middleware thì phần cứng RFID sẽ không bị ảnh hưởng gì cả nhưng nó sẽ trở nên
vô giá trị.
Middleware còn được sử dụng để định tuyến dữ liệu giữa các mạng RFID và
các hệ thống thông tin ở bên trong một tổ chức. Nó thực hiện sáp nhập các hệ thống
RFID mới với các hệ thống thông tin hiện có. Nó cũng chịu trách nhiệm về chất
lượng và khả năng sử dụng thông tin được tạo ra từ các hệ thống RFID. Một vài
middleware còn có chức năng giống như một cảnh sát giao thông , quản lý các
luồng dữ liệu giữa nhiều reader và các ứng dụng, chẳng hạn như quản lý dây
chuyền cung ứng và kế hoạch về các tài nguyên của ứng dụng, trong một tổ chức.
Thuật ngữ middleware đã được áp dụng rất rộng rãi, không chỉ trong RFID mà
trong cả nghành công nghệ thông tin, chính vì vậy mà nó đã bắt đầu mất đi nghĩa
thực của nó. Không giống với các cách dùng middleware khác, RFID middleware
thông thường được thiết kế để hoạt động tại vùng biên của một mạng thông tin hơn
là gần vùng trung tâm. Ví dụ, thành phần middleware của một mạng RFID thường
được cài đặt sử dụng tại các nhà máy hoặc các kho hàng, không phải tại trung tâm
của tổ chức hệ thống thông tin . Điều này đòi hỏi phải sử dụng tới mạng lưới phân
phối và sự phân cấp cơ sở hạ tầng thông tin.
RFID middleware thực hiện nhiệm vụ dịch chuyển dữ liệu tới và từ các điểm
giao dịch. Ví dụ, trong một quy trình đọc thẻ, middleware sẽ dịch chuyển dữ liệu
được chứa bên trong một thẻ từ reader tới hệ thống thông tin doanh nghiệp thích
hợp. Ngược lại, trong một quy trình ghi lên thẻ, middleware sẽ di chuyển dữ liệu từ
hệ thống thông tin doanh nghiệp tới reader thích hợp và cuối cùng tới các thẻ thích
hợp.
Tóm lại ,RFID middleware có bốn chức năng chính là :
• Tập hợp dữ liệu - Middleware sẽ chịu trách nhiệm khai thác, tập hợp và lọc
dữ liệu từ nhiều RFID reader thông qua một mạng RFID. Nó phục vụ như
một vùng đệm giữa dữ liệu được thu thập bởi các reader RFID và khối lượng
dữ liệu cần thiết được yêu cầu bởi các hệ thống thông tin doanh nghiệp trong
một quy trình tạo quyết định. Nếu như không sử dụng tới bộ đệm này thì các
hệ thống thông tin doanh nghiệp sẽ bị quá tải bởi các luồng dữ liệu, và có thể
dẫn đến mất các dữ liệu quan trọng có tính nhạy cảm.
• Định tuyến dữ liệu - Middleware tạo điều kiện thuận lợi để kết hợp các mạng
RFID với các hệ thống nghiệp vụ doanh nghiệp. Nó thực hiện việc đó bằng
cách định hướng dữ liệu tới hệ thống nghiệp vụ doanh nghiệp thích hợp ở

34
bên trong một tổ chức. Ví dụ, một số dữ liệu được tập hợp bởi mạng reader
phải được đưa đến để làm đầu vào cho hệ thống quản lý kho hàng để theo dõi
hàng tồn kho, trong khi đó các dữ liệu khác phải được đưa đến các ứng dụng
khác như ứng dụng đặt hàng hoặc ứng dụng ghi nợ.
• Quản lý các quy trình - Middleware có thể được sử dụng để kích hoạt các sự
kiện dựa trên cơ sở các quy tắc nghiệp vụ. Ví dụ, một đơn đặt hàng được tạo
ra trên trang web của một công ty còn kho hàng thì được đặt ở xa , bao gồm
các khay hàng được dán các thẻ RFID. Sau khi đơn hàng đã được thiết lập
trên trang web, thì hệ thống thông tin doanh nghiệp sẽ chịu trách nhiệm khởi
tạo thông tin vận chuyển và sau đó các thông tin này được chuyển đến
middleware, Rồi middleware có nhiệm vụ xác định vị trí khay hàng cần thiết
và ghi thông tin vận chuyển đó lên thẻ dán trên khay hàng đó. Các sự kiện và
các quá trình khác mà middleware có thể chịu trách nhiệm quản lý như kiểm
kê, giấy phép vận chuyển, phiếu vào ,phiếu ra....
.
• Quản lý thiết bị - Middleware cũng có thể được sử dụng để giám sát và điều
phối các reader. Với một tổ chức lớn thì phải có đến hàng trăm , hàng nghìn
các thiết bị reader trên mạng của nó. Nên kết nối mạng và theo dõi tình trạng
hoạt động cũng như trạng thái của các reader này là một công việc hết sức
quan trọng và có thể thực hiện hiệu quả nhất điều đó là ở mức middleware
.Ngoài ra thông qua middleware ta cũng có thể quản lý từ xa một mạng
RFID. Nhiều sản phẩm middleware hiện tại là được phát triển dựa trên cơ sở
tiêu chuẩn EPCglobal, hoặc biết đến với cái tên là Savant. Các đặc điểm kỹ
thuật Savant phân loại các thành phần middleware dựa theo các chức năng
mà chúng phục vụ như hình ở bên dưới. (các tiêu chuẩn EPCglobal được nói
đến kỹ hơn ở phần các tiêu chuẩn).

Hình 1.32 RFID Middleware là một phần của hệ thống RFID và hệ thống thông tin
doanh nghiệp

35
1.4.6Cơ sở hạ tầng truyền thông
Thành phần này cung cấp khả năng kết nối,khả năng bảo mật và các chức năng
quản lý hệ thống cho các thành phần khác nhau của một hệ thống RFID, và do đó
nó là phần không thể thiếu của hệ thống. Nó bao gồm dây và mạng không dây, và
các kết nối nối tiếp giữa các reader, bộ điều khiển, và máy vi tính. Kiểu mạng
không dây ở đây có thể là mạng PAN, mạng LAN hoặc mạng WAN .

1.4.7Các thành phần phụ khác


Các thành phần phụ khác nói đến ở đây , bao gồm các cảm biến, thành phần báo
hiệu ,bộ truyền động,...
Một reader không thể để cho hoạt động tại tất cả các thời điểm; ngoài ra nó có
thể được khởi động (hoặc là dừng lại) một cách tự dộng nếu cần . Có đuwocj như
vậy là do có một cảm biến được gắn vào reader .Cảm biến này có thể được sử dụng
để bật hoặc tắt reader dựa trên cơ sở một vài sự kiện ở bên ngoài được phát hiện bởi
cảm biến này. Do đó cảm biến được dùng để tạo ra một vài kích hoạt đầu vào tốt
hơn cho reader.
Thành phần báo hiệu có thể là một tín hiệu điện tử hoặc là các chỉ thị. Có thể
thấy các ví dụ về bộ báo hiệu như các cảnh báo âm thanh, các bó sáng,... Một bó
sáng (light stack) bao gồm các chỉ thị có các màu khác nhau được xắp xếp theo thứ
tự thẳng đứng và nó rất có ích trong việc hiển thị các trạng thái khác nhau của các
thuộc tính khác nhau trong hệ thống . ví dụ, chỉ thị đỏ có nghĩa là không đọc được
thẻ hoặc dữ liệu trên thẻ có lỗi ,chỉ thị xanh có nghĩa là không có thẻ đọc...
Bộ truyền động là một thiết bị cơ khí được dùng để điều khiển và di chuyển các
đối tượng. Các ví dụ của bộ truyền động như PLC (programmable logic controller),
robot arm, kết cấu cơ học arm cho một cửa truy nhập,...Trong đó PLC là một trong
những bộ truyền động linh hoạt nhất, và PLC được sử dụng rộng rãi trong các kế
hoạch chế tạo.
Do đó cả bộ truyền động và bộ báo hiệu đều có thể được sử dụng để cung cấp
các đầu ra cục bộ khá tốt cho hệ thống RFID,chẳng hạn như các cảnh báo audio-
visual trong trường hợp xuất hiện lỗi khi đọc,hoặc mở một cửa truy nhập khi đọc
thành công, ...Dưới đây là một hình ảnh về bộ báo hiệu trong thực tế.

36
Hình 1.33 LED nhiều tầng của hãng Patlite Corporation

1.5 Các tiêu chuẩn công nghệ RFID


Nhiều tiêu chuẩn công nghệ RFID đã đượcđề xuất từ nhiều tổ chức khác nhau
trên thế giới. Để mô tả đầy đủ về các tiêu chuẩn đó , có lẽ phải cần đến cả một cuốn
sách về nó. Nên ở đây ta chỉ đề cập sơ qua về một số tiêu chuẩn đang sử dụng ngày
nay và được đa số các công ty sản xuất các thiết bị RFID tuân thủ theo. Dưới đây là
tên các tiêu chuẩn chính cùng tên các các tổ chức định nghĩa nó đi kèm theo:

• ANSI (American National Standards Institute)


• AIAG (Automotive Industry Action Group)
• EAN.UCC (European Article Numbering Association International, Uniform
Code Council)
• EPCglobal
• ISO (International Organization for Standardization)
• ETSI (European Telecommunications Standards Institute)
• ERO (European Radiocommunications Office)
• UPU (Universal Postal Union)
• ASTM (American Society for Testing and Materials)
• CEN (Comité Européen Normalisation (European Comite for
Standardization )

Bây giờ ta sẽ tìm hiểu sơ qua về hai tiêu chuẩn ANSI và EPCglobal để có cái
nhìn tổng quan về chúng.

37
1.5.1 Tiêu chuẩn ANSI

ANSI là một tổ chức tư nhân phi lợi nhuận , thường chủ động đề ra các tiêu
chuẩn và các hệ thống đánh giá chuẩn của Hoa Kỳ. Nhiệm vụ của viện là nâng cao
khả năng cạnh tranh toàn cầu của Hoa Kỳ trong kinh doanh cũng như chất lượng
cuộc sống người dân Hoa Kỳ bằng cách thúc đẩy và tạo sự đồng thuận tình nguyện
về các tiêu chuẩn, các hệ thống đánh giá, và bảo vệ tính toàn vẹn của chúng.

Một vài tiêu chuẩn chính của ANSI về công nghệ RFID mà nó đã được sử dụng
trong các ứng dụng thực tế được đề cập dưới đây:

• ANS INCITS 371. Thông tin về vị trí của các hệ thống thời gian thực. Cái
này bao gồm ba phần như dưới đây:

Phần 1. Các giao thức giao tiếp trên không tại dải tần 2.4 GHz.

Phần 2. Các giao thức giao tiếp trên không tại dải tần 433 MHz.

Phần 3. Giao tiếp với các chương trình ứng dụng.

• ANS MH10.8.4. Tiêu chuẩn ANSI cho các ứng dụng RFID với các container
bằng nhựa có thể sử dụng lại được.

1.5.2Tiêu chuẩn EPCglobal


EPCglobal, Inc, là một liên doanh giữa các tổ chức quốc tế UCC và EAN. Mục
đích của EPCglobal là để thiết lập các tiêu chuẩn trên toàn thế giới về thiết kế và
triển khai thực hiện thông qua EPC (Electronic Product Code) và EPCglobal
Network . Các đặc điểm kỹ thuật EPCglobal nhắm đến mục tiêu là hoạt động của
các chuỗi cung ứng và được xem là các đặc điểm kỹ thuật hứa hẹn nhất cho công
nghệ RFID trên toàn cầu ,ngoài ra nó cũng có thể áp dụng được cho mảng rất rộng
các ứng dụng khác nữa.
Dưới đây ta sẽ tìm hiểu qua về EPCglobal Network, cái được xem là thành phần
nền tảng của EPCglobal.
EPCglobal Network là một tập hợp các công nghệ, có thể cung cấp tự động,
nhận dạng thời gian thực và chia sẻ dữ liệu thông minh của một danh mục mặt hàng
cả ở bên trong và bên ngoài một doanh nghiệp. Tất cả các cái này rất phù hợp với
các hoạt động của một chuỗi cung ứng trong một doanh nghiệp, tuy nhiên nó cũng
có thể triển khai được với các kiểu ứng dụng khác nữa.
Năm thành phần công nghệ chính tạo nên các tiêu chuẩn EPCglobal Network,
bao gồm:

• Electronic Product Code (EPC).


• Data-collection hardware bao gồm các loại thẻ và reader EPC. Cái này cũng
được biết tới như là hệ thống ID.
• EPCglobal middleware.

38
• Discovery Services (DS), Ví dụ, ONS (Object Naming Service) là thuộc
thành phần này.
• EPC Information Services (EPCIS).

EPC (Electronic Product Code) là một tấm nhận dạng đã được cấp phép, mà có
thể nhận diện được bất kỳ danh mục mặt hàng nào trong một chuỗi cung ứng. Nó
rất đơn giản và nhỏ gọn và có thể tạo ra số lượng rất lớn các định danh duy nhất.
Đồng thời, nó cho phép đưa vào các mã kế thừa và các tiêu chuẩn cho phù hợp với
từng hoàn cảnh cụ thể chẳng hạn như:

• Global Trade Identity Number (GTIN). Cái này cung cấp một số EAN-UCC
duy nhất trên toàn cầu phục vụ cho việc nhận dạng các sản phẩm và các dịch
vụ.
• Unique Identification (UID). Cái này được sử dụng để đánh số theo dõi tài
sản của Bộ Quốc Phòng Mỹ.
• Global Location Number (GLN). Cái này được sử dụng để biểu thị các vị trí,
các đối tác thương mại, và các thực thể pháp lý.
• Serial Shipping Container Code (SSCC). Cái này được sử dụng để nhận
dạng đơn vị vận chuyển chẳng hạn như một khay để hàng,một thùng các
tông,...

Ngày nay một công ty đang sử dụng mã vạch trong các hoạt động của họ có thể
có một cách dễ dàng để chuyển sang sử dụng công nghệ RFID bằng cách dùng
EPC. Một mã EPC có thể được sử dụng để xác định các thuộc tính khác nhau của
một danh mục mặt hàng, chẳng hạn như:

• Phiên bản EPC được sử dụng.


• Thông tin nhận dạng nhà sản xuất.
• Kiểu sản phẩm.
• Chuỗi số duy nhất của danh mục mặt hàng.

1.5.3Tiêu chuẩn ISO


ISO là một mạng lưới các viện tiêu chuẩn quốc gia của 146 quốc gia, trên cơ sở
mỗi nước là một thành viên, với trung tâm đặt tại Geneva, Thụy Sĩ. ISO là một tổ
chức phi chính phủ.
ISO có các ủy ban kỹ thuật (Technical Committee-TC) và các hội đồng kỹ thuật
chung (Joint Technical Councils -JTC) được tham gia xây dựng các tiêu chuẩn có
liên quan đến RFID bao gồm:

• ISO JTC1 SC31


• ISO JTC1 SC17
• ISO TC 104 / SC 4
• ISO TC 23 / SC 19
• ISO TC 204
• ISO TC 122

39
Dưới đây là một số tiêu chuẩn ISO có liên quan đến công nghệ RFID mà nó đã
được sử dụng trong các ứng dụng thực tế:

• ISO 6346. Nhận dạng và đánh dấu mã cước vận chuyển container.
• ISO 11784. Tần số vô tuyến xác định cấu trúc mã số nhận dạng động vật sử
dụng RFID. Tuy nhiên, nó không chỉ ra bất cứ đặc tính nào của giao thức
truyền giữa một thẻ RFID và một reader.

1.6Quyền riêng tư và tính bảo mật trong công nghệ RFID

Bây giờ, chúng ta bắt đầu tìm hiểu về vấn đề riêng tư và tính bảo mật trong việc
sử dụng các hệ thống RFID và mối quan tâm của người tiêu dùng về công nghệ này.
Chúng ta sẽ cùng đi lướt qua các khía cạnh chính của hai vấn đề đó trong hệ thống
RFID, lần lượt từ tầng vật lý tới tầng ứng dụng.

1.6.1 Quyền riêng tư


Việc kiểm tra trong thực tế các mối đe dọa đến sự riêng tư và an toàn của người
dùng từ việc sử dụng các công nghệ RFID là rất quan trọng. Mỗi công nghệ đều
mang trong nó một khả năng nào đó, nhưng không được đảm bảo 100%, cũng như
không được lạm dụng nó. Ví dụ với việc cấp phép gắn thẻ RFID lên các loại thuốc.
Thì với các loại thuốc điều trị cho các bệnh nhân trầm cảm hay các bệnh nhân AID
có thể sẽ khiến mọi người rất lo ngại rằng một ai đó có thể tìm ra họ đã sử dụng
chúng đơn giản chỉ bằng cách đọc thẻ RFID từ một khoảng cách nào đó. Tuy nhiên,
sử dụng cách này có thể giúp loại bỏ tình trạng giả mạo thuốc hết hạn hoặc bán
thuốc ra ngoài, hoặc có thể sử dụng tại thời điểm bán để thông báo cho cả dược sĩ
và người tiêu dùng về việc đã xảy ra tiêu cực trong giao dịch. Vì vậy cho ta thấy
một điều rằng, các mối quan tâm về tính riêng tư nên được cân bằng với các lợi ích
của người tiêu dùng.

1.6.1.1 Các biện pháp bảo vệ quyền riêng tư dựa trên luật pháp
Nhiều chính phủ hiện đang tranh luận về luật pháp bảo vệ người tiêu dùng về
việc sử dụng dữ liệu RFID trong cả hai lĩnh vực công cộng và cá nhân.Tuy nhiên
cho dù các bộ luật đặc biệt sẽ được đưa vào để thúc đẩy sự tính riêng tư và bảo mật
của RFID đi nữa thì các vấn đề ở đây vẫn chưa được rõ ràng. Mà quan trọng nhất là
các chính phủ phải cân bằng được nhu cầu về tính riêng tư của người tiêu dùng
cũng như của một người dân với nhu cầu của công ty trong việc thu thập dữ liệu
tiếp thị và những lợi ích xã hội nói chung nhờ hiệu quả của việc đưa vào dây
chuyền cung ứng sử dụng công nghệ RFID. Một vài dự án luật có liên quan đến bảo
vệ tính riêng tư của dữ liệu, đã được giới thiệu trong suốt phiên điều trần thứ 108
của quốc hội Hoa Kỳ. Đại diện tiểu bảng Wisconsin Gerald D. Kleczka đã đề xuất
một dự luật yêu cầu phải có các nhãn cảnh báo trên các sản phẩm gia dụng có chứa
thiết bị RFID. Đó là dự luật, H.R.4673, đã được giới thiệu dưới tiêu đề là "Opt Out
of ID Chips Act".
Trong tháng tám năm 2004, Thượng viện tiểu bang California đã thông qua một
biện pháp để thiết lập giới hạn sử dụng công nghệ RFID của các thư viện, nhà bán
lẻ và các tổ chức tư nhân khác. Được biết đến với cái tên là SB1834, dự thảo luật

40
ngăn cấm các doanh nghiệp và các thư viện ở California sử dụng các thẻ RFID gắn
lên sản phẩm tiêu dùng hoặc sử dụng một đầu đọc RFID nhận dạng một cá nhân,trừ
trường hợp trong một số hoàn cảnh nào đó.

1.6.1.2 Các biện pháp bảo vệ quyền riêng tư thông qua việc cải tiến công nghệ
Các cơ chế và công cụ hạn chế các khả năng giám sát không an toàn hoặc trái
phép của các hệ thống RFID có thể nâng cao hiệu quả của các bộ luật và các nguyên
tắc về quyền riêng tư. Một số công nghệ được đề xuất như các tiêu chuẩn “kill tag”
của EPCglobal và “blocker tag” của RSA Security.
Cách tiếp cận với khái niệm “kill tag” là cách đơn giản nhất để tiến tới thúc đẩy
sự riêng tư của người tiêu dùng. Trong cách tiếp cận này, người tiêu dùng có thể
liên hệ trực tiếp với một nhà bán lẻ nào đó để ra lệnh hủy thẻ RFID được nhúng vào
bên trong sản phẩm sau khi đã mua nó. Với phương pháp này có thể bảo vệ các tài
sản của họ không bị quét bởi các tần số vô tuyến trái phép.
Hạn chế chính của phương pháp “kill tag” đó là , nó giới hạn các đặc tính hữu
dụng của công nghệ RFID tại các điểm bán hàng. Nếu như sản phẩm cần phải được
trả lại cho cửa hàng sau đó vì một lý do nào đó , thì việc nhận dạng thẻ RFID trên
sản phẩm đó vẫn rất cần thiết, và như vậy ta phải thực hiện lại công đoạn tạo thẻ.
Ngoài ra với việc thực hiện phương pháp “kill tag” người tiêu dùng sẽ mất nhiều
thời gian hơn cho việc mua sắm cũng như sẽ phải xếp hàng dài để chờ đợi hủy thẻ
RFID.
Còn cách tiếp cận “blocker tag”, được đề xuất bởi tổ chức RSA Security, sử
dụng một thẻ đặc dụng gọi là thẻ chặn được thiết kế để gây nhiễu thụ động các
reader, khiến chúng không đọc được từ các thẻ RFID bình thường khác. Các thẻ
chặn làm việc theo cách làm nhiễu các thuật toán chống xung đột của một reader
trong một phạm vi đọc của các thẻ ID. Hình dưới đây sẽ minh họa nguyên tắc hoạt
động của nó trong thực tế.

Hình 1.34 Nguyên tắc hoạt động của các thẻ blocker

1.6.2 Tính bảo mật


Như với bất cứ hệ thống nào, để xác định chiến lược bảo mật với các hệ thống
RFID, chúng ta bắt đầu bằng việc khảo sát tất cả truy nhập như thể chúng đang đến

41
từ các tác nhân đe dọa tiềm tàng. Hình dưới đây chỉ ra sơ đồ một hệ thống RFID
điển hình có thể chia thành các khu vực bảo mật như thế nào.

Hình 1.35 Các khu vực bảo mật của hệ thống RFID

1.6.2.1 Vùng một : Các thẻ RF


Vùng một bao gồm bản thân các thẻ RF.

Có hai khu vực chính dễ bị tổn thương ,đó là::

• Dữ liệu lưu trữ trên thẻ mà không được mã hóa.Và để thêm vào các điều kiện
bảo mật lên thẻ thì cần thiết phải tăng thêm không gian và các khối mạch
trên các chip RF. Điều này có nghĩa là giá thành của thẻ sẽ tăng lên ,thời gian
xử lý cũng tăng lên.
• Không có một cơ chế giám sát vật lý, nên bất cứ ai trên cơ sở có quyền truy
cập đến các thẻ thì cũng có thể loại bỏ một thẻ hoặc chuyển đổi các thẻ cho
nhau.

Nhân tố đe dọa: Các nhân tố đe dọa có thể là bao gồm bất cứ cái gì mà có thể
truy nhập vật lý tới thẻ và có thể làm thay đổi nội dung của nó.

Và để giải quyết các vấn đề đó , ta có một vài biện pháp đối phó dưới đây:

• Thực hiện giám sát các hàng hóa được gắn thẻ RFID.

42
• Yêu cầu kiểm soát nghiêm ngặt các truy nhập tới thông tin có thể lấy được từ
một mã EPC.
• Tách biệt mã EPC từ bất cứ thông tin nào mà nhạy cảm với các doanh nghiệp
và người tiêu dùng.
• Chỉ sử dụng các thẻ có khả năng ghi lại được ở tại những nơi thích hợp có
kiểm soát truy nhập hợp lý.

1.6.2.2 Vùng hai : Các thiết bị đọc thẻ RFID


Các reader RFID thường được kết nối tới một mạng nội bộ bằng cách sử dụng
các kết nối có dây hoặc là các kết nối không dây.

Các lỗ hổng bảo mật có thể xuất hiện như:

• Dữ liệu được truyền từ thẻ tới reader chưa được mã hóa.


• Các reader không có cơ chế xác nhận các thẻ.

Đó chính là các nguyên nhân dẫn đến sự giả mạo , hoặc các cuộc tấn công DoS,
hay tấn công giao thức.

Các nhân tố đe dọa: Các nhân tố đe dọa bao gồm bất cứ cái gì được kết nối đến
cùng mạng (giống như bất cứ nút mạng nào được kết nối đến một mạng, một reader
sẽ được mở tới tất cả các nhân tố đó trên mạng), và bất cứ ai với một thiết bị không
dây cùng một chút kiến thức về các giao thức của reader mà có ý đồ xấu.

1.6.2.3 Vùng ba : Tuyến dịch vụ RFID

Tuyến dịch vụ RFID là một nhóm các thành phần middleware bao gồm dịch vụ
ONS (Object Naming Service), quản lý sự kiện EPC, máy chủ EPCIS, và máy chủ
tích hợp RFID.

Các lỗ hổng bảo mật: Các thành phần của tuyến dịch vụ RFID liên lạc với các
hệ thống thông tin nội bộ của các doanh nghiệp(trên các mạng LAN và WAN) và
với đối tác và các hệ thống công nghiệp (trên mạng Internet).

Các nhân tố đe dọa: Các nhân tố đe dọa bao gồm các điệp viên của các công ty,
các đại lý gián điệp, và các kẻ xâm nhập bất hợp pháp.

1.6.2.4 Vùng bốn : Các hệ thống thông tin doanh nghiệp

Các hệ thống thông tin doanh nghiệp bao gồm các hệ thống của công ty chẳng
hạn như, hệ thống quản lý nhận dạng, hệ thống điều khiển truy nhập, các hệ thống
gửi thông báo, và tất cả các hệ thống phụ trợ mà sẽ trở thành khách hàng của dữ liệu
RFID. Các hệ thống phụ trợ ở đây là bao gồm các hệ thống ERP.

43
Các lỗ hổng bảo mật : Các giao dịch và khối lượng dữ liệu cần thiết của các hệ
thống RFID có thể áp đảo các cơ sở hạ tầng mạng hiện có. Các công ty có thể phải
đối mặt với các tình huống cần lưu trữ bất ngờ hoặc các thông tin nhạy cảm.

Các tác nhân đe dọa : Các tác nhân đe dọa bao gồm các gián điệp của các công
ty, và những kẻ xâm nhập trái phép.

1.7 So sánh giữa công nghệ RFID và công nghệ mã vạch

Một mã vạch là một loạt các sọc đen , trắng nối tiếp nhau với các chiều rộng
giữa chúng khác nhau, sao cho tạo thành một định dạng mà máy móc có thể hiểu
được. Mã vạch là một công nghệ quang điện tử, trong đó ánh sáng laser sẽ phản xạ
trở lại các biểu tượng mã vạch và sau đó các biểu tượng này sẽ được đọc bởi một
máy quét.

Các biểu tượng mã sản phẩm phổ biến ở khắp nơi (UPC) là hình thức của mã
vạch mà đã thân thiện với nhiều người. Nghiên cứu về mã vạch đã bắt đầu trước đó
từ rất lâu trước khi nổi nên các tiêu chuẩn UPC.Tuy nhiên, mãi tới năm 1952, hai
nhà nghiên cứu tại IBM đã được trao bằng sáng chế đầu tiên cho công nghệ nhận
dạng tự động .Mãi tới những năm sáu mươi , mới xuất hiện hệ thống thương mại
hóa đầu tiên ,nhưng chủ yếu sử dụng ở các ga đường sắt để vận chuyển hàng hóa và
sản phẩm. Sau đó ,trong những năm đầu tiên của thập kỷ bẩy mươi, một tập đoàn
tạp hóa của Hoa Kỳ đã triệu tập một ủy ban đặc biệt để đánh giá công nghệ mã
vạch, với mục đích là triển khai nó trong các chuỗi siêu thị trên khắp cả nước như là
một phương tiện để giảm chi phí lao động, cải thiện tốc độ tính tiền và theo dõi
hàng tồn kho. Vào năm 1973 ,các tiêu chuẩn UPC ra đời từ các nỗ lực trên và trở
thành định hướng chính trong việc triển khai công nghệ mã vạch.

Tăng trưởng của các cửa hàng tạp hóa đã giảm trong suốt những năm bảy mươi.
Đây không phải do lỗi của các cửa hàng tạp hóa, mà phần lớn là do các công ty
cung cấp đã sản xuất ra các sản xuất ra các sản phẩm với tốc độ rất chậm do còn
phải bao gồm thêm các biểu tượng mã vạch trên bao bì đóng gói. Và trong năm
1978, thì cách đánh mã đã được cải thiện mạnh mẽ và các hệ thống quét mã vạch
cũng bắt đầu xuất hiện phổ biến. Sau đó, vào năm 1981, DoD khởi tạo chương trình
LOGMARS , trong đó yêu cầu tất cả các sản phẩm bán cho quân đội phải được
đánh dấu 39 biểu tượng mã mà sau này đã trở thành một tiêu chuẩn mã khác song
hành cùng tiêu chuẩn UPC. Dưới đây là hình ảnh một số mã vạch trong thực tế.

Hình 1.36 Một mã vạch theo tiêu chuẩn UPC

44
Hình 1.37 Mã vạch theo tiêu chuẩn Code39

Thiết bị đọc mã vạch cũng được gọi là máy quét sẽ sử dụng một chum ánh sáng
để quét ngang qua mã vạch. Nói chung hướng quét không liên quan nhiều đến kết
quả cuối cùng. Tuy nhiên, trong suốt quá trình quét, chum sang không được di
chuyển ra ngoài khu vực mã vạch. Do đó, nói chung, khi tăng chiều dài mã vạch thì
cũng có nghĩa là tăng chiều cao của máy quét để phù hợp với độ lệch lớn hơn của
chùm sáng ở bên ngoài khu vực mã vạch trong suốt quá trình quét. Trong suốt quá
trình đọc, thiết bị đọc phải định lượng cường độ của chum sang phản xạ trở lại bởi
các khu vực đen và trắng cho mã vạch đó. Là do bởi một thanh tối sẽ hấp thụ ánh
sáng, còn một khoảng trắng sẽ phản xạ ánh sang trở lại. Một thiết bị điện tử được
gọi là photodiode hoặc photocell sẽ chuyển đổi mô hình sang này thành một dòng
điện (hoặc là tín hiệu tương tự). Các mạch điện sau đó sẽ giải mã các tín hiệu điện
này thành các tín hiệu số. Dữ liệu này là những gì mà ban đầu được mã hóa bởi mã
vạch. Các dữ liệu số thu được được biểu diễn dưới dạng các ký tự ASCII. Hình dưới
đây mô tả các quy trình đọc mã vạch.

45
Hình 1.38 Các bước đọc một mã vạch

Trong mã vạch, chùm ánh sang laser được sử dụng như là các sóng mang dữ
liệu. Ngược lại, các thẻ RFID nói chung thường sử dụng các sóng vô tuyến để mang
thông tin. Do đó mã vạch được đề cập tới như một công nghệ quang điện tử còn
RFID thì được gọi là công nghệ RF. Dưới đây là các so sánh chi tiết giữa một thẻ
RFID và một mã vạch.
Kích thước bộ nhớ, hay là khu vực lưu trữ dữ liệu : Các mã vạch chỉ có thể
chứa một lượng hữa hạn dữ liệu. Các thẻ nhỏ nhất, về lưu trữ dữ liệu, là các biểu
tượng E của chuẩn UPC, mà chỉ lưu giữ được tám ký tự; chỉ là một vài byte. Tại nơi
đối diện với vị trí cuối của quang phổ, ma trận dữ liệu theo tiêu chuẩn mã vạch cho
phép lưu trữ lên tới 2000 ký tự ASCII, trên một thẻ hai chiều, như chỉ ra ở hình
dưới đây.Chú ý là thuật ngữ thẻ sử dụng ở đây khác với trong công nghệ RFID.

Hình 1.39 Ma trận dữ liệu biểu tượng mã vạch

Các thẻ RFID có khả năng lưu giữ thông tin nhiều hơn rất nhiều. Mặc dù các thẻ
RFID có thể được chế tạo với các bộ nhớ nhỏ hơn để lưu giữ chỉ một vài byte,

46
nhưng với vị trí hiện tại của công nghệ có thể đạt giới hạn lên tới 128 Kilo byte, lớn
hơn rất nhiều so với các biểu tượng mã vạch.
Khả năng đoc/ ghi : Mã vạch không thể sửa đổi được một khi chúng đã được in
ra, do đó mã vạch được biết tới là một công nghệ RO. Ngược lại, các thẻ RFID
RW , lại có cả khả năng đọc và ghi tới bộ nhớ, và số lần định dạng thẻ trong suốt
quãng đời tồn tại của nó có thể lên tới hàng nghìn lần, đây cũng là một phần đã
khiến cho công nghệ RFID trở nên mạnh mẽ như vậy.
Không cần đường ngắm : Một ưu thế khác của công nghệ RFID so với các mã
vạch là các hệ thống RFID không cần đến một đường ngắm giữa một thẻ và thiết bị
đọc để có thể làm việc đúng. Bởi vì các sóng vô tuyến có khả năng lan truyền qua
nhiều chất liệu rắn khác nhau, tức là hiệu quả đọc với các thẻ RFID nằm sâu ở bên
trong một khay hàng không kém là bao so với các thẻ nằm trực tiếp trên đường
ngắm. Nhưng với mã vạch thì khác, các mã vạch phải nằm trên đường ngắm của
máy quét thì nó mới hoạt động đúng được. Điều này có nghĩa là các mã vạch phải
được đặt ở bên ngoài bao bì cũng như các đối tượng được gắn thẻ không được đặt ở
sâu bên trong khay hàng trong quá trình đọc. Trong các ứng dụng quản lý chuỗi
cung ứng, trong hầu hết các thời điểm đều có một số lượng lớn hàng hóa di chuyển,
nên rất khó để có được một đường ngắm của máy quét với một hàng hóa cụ thể.
Đây chính là ưu điểm lớn của công nghệ RFID so với công nghệ mã vạch.
Phạm vi đọc : Phạm vi đọc của mã vạch có thể có được một khoảng khá dài.
Thông thường các phạm vi đọc đó có giá trị vào khoảng cỡ vài chục cm. Tuy nhiên
các phạm vi đọc của các thẻ RFID lại có một khoảng thay đổi khá rộng, phụ thuộc
vào tần số hoạt động của hệ thống, kích thước anten và thẻ đang sử dụng là thẻ tích
cực hay thẻ thụ động. Thông thường, các phạm vi đọc của các thẻ RFID có thể chạy
từ vài cm tới vài mét.
Tính bảo mật truy nhập : Dữ liệu mã vạch có tính bảo mật rất thấp. Bởi vì các
mã vạch cần thiết phải có một đường ngắm nên phải được đặt rỡ ràng ở bên ngoài
bao bì, do đó bất cứ ai với một máy quét mã vạch chuẩn hoặc chỉ với một chiếc
camera cũng có thể xem trộm hoặc ghi lại dữ liệu trên đó. Nhưng với các hệ thống
RFID thì lại được cung cấp một mức bảo mật cao hơn rất nhiều. Như đã đề cập ở
các phần trước, các hệ thống RFID có khả năng ngăn chặn các bên thứ ba, để hạn
chế truy nhập trái phép tới hệ thống, và để bảo vệ dữ liệu nhạy cảm.
Độ bền, tính nhạy cảm với môi trường : Công nghệ RFID có khả năng chịu
đựng tốt hơn với bụi bẩn và môi trường khắc nghiệt so với công nghệ mã vạch. Các
mã vạch có thể sẽ không đọc được nếu như chúng bị bao phủ bởi bụi bẩn, hoặc là bị
rách nát. Ngoài ra trong một môi trường với ánh áng cường độ cao cũng có thể gây
trở ngại cho máy quét mã vạch mà tồi tệ hơn là không thể đọc được các mã vạch.
Riêng với công nghệ RFID thì các vấn đề này không ảnh hưởng gì nhiều tới nó.
Khả năng đọc ổn định : Trong các ứng dụng chuỗi cung ứng, đọc chính xác
ngay lần đầu sản phẩm đi qua nó là rất quan trọng để duy trì hiệu quả hoạt động
cao. Với các mã vạch thì thường phải được qua hệ thống tới hai lần hoặc thực hiện
đọc bằng tay. Rõ ràng như vậy rất bất tiện và ảnh hưởng nhiều tới hoạt động chung
của toàn hệ thống. Với các hệ thống RFID, thông qua các thuật toán chống xung đột
và các tính năng RW , có thể loại bỏ được việc sản phẩm phải quét nhiều lần mới
thu được thành công dữ liệu.

47
Giá thành : Rào cản lớn nhất ngăn cản sự tăng trưởng của công nghệ RFID
chính là chi phí cho các thẻ. Trong khi mã vạch thường có giá dưới 0.01 đô la thì
chi phí hiện tại cho một thẻ thụ động với phạm vi đọc vài cm là cao hơn rất nhiều.

1.8 Kết luận

Như vậy ở chương này ta đã đi tìm hiểu qua về các kiểu thẻ RFID, các loại
reader cũng như hoạt động của một hệ thống RFID trong thực tế. Tuy chỉ tìm hiểu ở
mức độ sơ sài ,song đây sẽ là những kiến thức cơ sở cần thiết để chúng ta có thể đi
vào thiết kế một thống quản lý bệnh nhân ở chương sau. Ngoài ra , chúng ta cũng đã
có thêm những kiến thức hiểu biết về quyền riêng tư và tính bảo mật của công nghệ
RFID. Nó rất có ích với mỗi người tiêu dùng chúng ta trong việc sử dụng các hệ
thống RFID công cộng như ở các siêu thị chẳng hạn .Cũng như rất có ích với với
các nhà phát triển , giúp họ biết cách đối phó với các lỗ hổng bảo mật.

48
CHƯƠNG 2

THIẾT KẾ HỆ THỐNG QUẢN LÝ BỆNH NHÂN

Ở chương này đây ta sẽ bắt đầu đi vào thiết kế một hệ thống quản lý bệnh nhân
hoàn chỉnh ở mức độ thử nghiệm. Hệ thống sẽ bao gồm một reader ,một thẻ RFID
chuẩn, một laptop có cài đặt trên đó một phần mềm quản lý viết bằng visual C sharp
và reader sẽ giao tiếp với laptop thông qua chuẩn giao tiếp USB2.0.

Để có thể triển khai được hệ thống trong thực tế, thì mỗi bệnh nhân khi nhập
viện phải được đeo vào tay một chiếc vòng mà trên đó có gắn thẻ RFID.Thẻ RFID
đơn giản chỉ gồm có một chip nhỏ và một anten kèm theo,nội dung bên trong chip
đó chỉ chứa mã số của bệnh nhân. Còn người bác sĩ sẽ được trang bị một thiết bị
đọc thẻ (hay còn gọi là reader) và một laptop hoặc PDA có cài đặt sẵn phần mềm
quản lý được viết bằng visual C sharp. Reader sẽ được nối với laptop qua một cáp
USB để truyền kết quả về laptop.

Đầu tiên ,mỗi bệnh nhân sẽ để tay mình gần Reader.Thiết bị này sẽ thực hiện
đọc mã số của bệnh nhân và truyền mã số này về laptop qua đường USB.Phần mềm
trên laptop dựa vào mã số đó để truy cập cơ sở dữ liệu bệnh nhân và hiển thị thông
tin cá nhân cũng như thông tin bệnh án của người bệnh đó.Sau mỗi lần thăm khám
như vậy ,bác sĩ cũng sẽ cập nhập thông tin điều trị mới vào cơ sở dữ liệu.

2.1 Giao tiếp giữa thẻ thụ động EM4100 và chip EM4095
Đối tượng được sử dụng cần phải nhận dạng ở đây là thẻ thụ động EM4100 của
hãng EM microcontroller. Còn thành phần sử dụng để nhận dạng trên reader của ta
sẽ là chip EM4095 của cùng hãng trên.Nhiệm vụ của chúng ta sẽ là điều khiển giao
tiếp giữa chip EM4100 trên thẻ thụ động đó và chip EM4095 để thu về kết quả cuối
cùng là mã số ghi trên chip EM4100 của thẻ

2.1.1 Hoạt động của chip EM4095


Chip EM4095 (trước đây có tên gọi là P4095) là một bộ thu phát công nghệ
mạch tích hợp CMOS với mục đích sử dụng trong một trạm RFID cơ sở để thực
hiện các chức năng sau:
• Điều khiển anten với tần số của sóng mang
• Thực hiện điều chế AM để có thể ghi lên transponder
• Thực hiện giải điều chế AM của tín hiệu điều chế anten được tạo ra bởi các
bộ phát đáp (transponder).

Ngoài ra chúng ta cũng cần biết thêm về các đặc trưng chính của chip RFID:
• Có tích hợp hệ thống PLL để tự điều chỉnh được tần số sóng mang tới tần số
dao động anten.
• Không cần tới thạch anh dao động bên ngoài chỉ yêu cầu phạm vi tần số
sóng mang từ 100 to 150 kHz.
• Điều khiển trực tiếp anten sử dụng các bridge driver

49
• Truyền dữ liệu bằng OOK (điều chế biên độ 100%) sử dụng các cầu điều
khiển
• Truyền dữ liệu bằng cách điều chế biên độ với hệ số điều chỉnh điều chế có
thể thay đổi được từ bên ngoài bằng cách dùng single ended driver
• Hỗ trợ nhiều giao thức transponder thích hợp (Ví dụ: EM400X, EM4050,
EM4150, EM4070, EM4170,EM4069….)
• Có chế độ “ngủ” tại mức 1μA
• Thích hợp với phạm vi nguồn năng lượng USB nên dễ dàng hơn trong thiết
kế Reader sử dụng luôn nguồn năng lượng từ đường USB của máy tính.
• Chịu được phạm vi nhiệt độ từ 40 tới 85°C
• Có kiểu đóng gói nhỏ gọn

Dưới đây là sơ đồ kí hiệu các chân đóng gói và mô tả các chức năng tương ứng
của chúng:

Bảng 2.1 Chức năng của các chân trên chip EM4095
Pin Tên Mô tả chức năng Kiểu
1 Vss Điện áp đất GND
2 RDY/CLK Cờ trạng thái sẵn sàng và đầu ra xung, điều khiển O
điều chế AM
3 ANT1 Điều khiển anten(nối với anten) O
4 Dvdd Cực dương nguồn năng lượng dùng để điều khiển PWR
anten
5 Dvss Cực âm nguồn năng lượng dùng để điều khiển GND
anten
6 ANT2 Điều khiển anten(nối với anten) O
7 VDD Cực dương nguồn năng lượng nuôi chip PWR
8 DEMOD_IN Cảm biến điện áp của anten ANA
9 CDEC_OUT ANA
10 CDEC_IN ANA
11 AGND ANA
12 MOD IPD
13 DEMOD_OUT Tín hiệu số mà được biểu diễn dưới dạng tín hiệu O
điều chế AM trên anten
14 SHD Một điện áp mức cao sẽ đưa mạch vào trạng thái IPU
ngủ
15 FCAP ANA
16 DC2 ANA
Ghi chú: GND: nối đất
PWR: nguồn cung cấp
ANA: tín hiệu tương tự
O: đầu ra

50
Chip EM4095 thường được sử dụng kèm theo với một khối mạch anten và một
vi điều khiển như PIC,8051,...Ngoài ra cũng có thể yêu cầu phải có thêm các thành
phần bên ngoài ,như thành phần lọc RF, cảm ứng dòng điện,...

Hoạt động của chip được điều khiển bởi các mức logic của các đầu vào SHD và
MOD. Khi SHD là mức cao ‘1’ thì chip đi vào trạng thái “ngủ” ,lúc này dòng tiêu
thụ ở mức thấp nhất. Khi SHD là mức thấp ‘0’ thì mạch được kích hoạt để phát xạ
trường RF, và nó bắt đầu giải điều chế bất cứ tín hiệu AM nào mà nó gặp trên
anten. Sau khi qua khối giải điều chế AM ,tín hiệu số này được đưa đến chân
DEMOD_OUT để tới vi điều khiển nhằm phục vụ cho việc giải mã và xử lý.

Còn dưới đây là sơ đồ các khối bên trong của chip EM4095:

Hình 2.1 Sơ dồ các khối bên trong chip EM4095

Dễ nhận thấy với chip EM4095 thì các thành phần chính sẽ là các khối tương
tự, mà nhiệm vụ của chúng là thự hiện hai chức năng chính của một trạm RFID cơ
sở , đó là: truyền đi và thu nhận. Công việc truyền đi được thực hiện bằng việc điều
khiển anten và điều chế biên độ của trường RF. Ở đó, anten điều khiển chuyển một
dòng vào bên trong trường điện từ được sinh ra bên ngoài anten. Còn công việc thu
nhận được thực hiện bằng giải điều chế AM của tín hiệu thu được trên anten phát đi
từ thẻ.

Các trình điều khiển : Các trình điều khiển của anten cung cấp năng lượng
thích hợp cho anten của trạm cơ sở reader. Chúng cung cấp dòng điện tại tần số
cộng hưởng hiện tại mà thông thường là 125 kHz. Dòng điện được cung cấp bởi các
trình điều khiển phụ thuộc vào hệ số chất lượng Q của mạch cộng hưởng ở bên

51
ngoài.Chúng ta cần chú ý nên thiết kế mạch anten theo một cách nào đó sao cho giá
trị lớn nhất của dòng điện tại đỉnh không bao giờ được phép vượt quá 250 mA.

PLL (Phase locked loop) : PLL bao gồm bộ lọc vòng lặp, VCO, và các khối so
sánh pha. Bằng cách sử dụng một bộ chia điện dung ở bên ngoài, chân DEMOD_IN
của chip sẽ lấy được thông tin về tín hiệu điện áp cao trên anten trong thực tế. Pha
của các tín hiệu này được so sánh với tín hiệu điều khiển bởi các trình điều khiển
của anten. Do đó PLL có thể chặn các tần số sóng mang để không cho nó làm ảnh
hưởng đến tần số cộng hưởng của anten. Phụ thuộc vào kiểu anten mà tấn số cộng
hưởng của hệ thống có thể là bất cứ giá trị nào trong phạm vi từ 100 kHz tới 150
kHz. Bất cứ khi nào tần số cộng hưởng ở trong phạm vi này thì nó sẽ được duy trì
bởi PLL.

Khối tiếp nhận: Sự giải điều chế tín hiệu đầu vào cho khối tiếp nhận được thực
hiện bởi cảm biến điện áp ở trên anten. Ngoài ra chân DEMOD_IN cũng được sử
dụng như là một đầu vào của khối tiếp nhận. Chú ý rằng mức độ tín hiệu trên đầu
vào DEMOD_IN phải thấp hơn VDD-0.5V và cao hơn VSS+0.5V. Mức độ tín hiệu
đầu vào đó có thể được điều chỉnh bằng cách sử dụng một khối chia điện kháng ở
phía bên ngoài. Ngoài ra , điện dung phân chia phải được điều hòa theo một tụ điện
cộng hưởng nhỏ hơn. Phương án thực hiện giải điều chế tín hiệu AM mà ta sử dụng
ở đây là dựa trên kỹ thuật "Giải điều chế đồng bộ AM".
Khối tiếp nhận bao gồm bộ lấy mẫu và lưu trữ mẫu, bộ loại bỏ thành phần một
chiều, bộ lọc dải và bộ so sánh. Điện áp một chiều của tín hiệu trên chân
DEMOD_IN được thiết lập bởi AGND bằng một điện trở ở bên trong. Sau đó tín
hiệu AM được lấy mẫu, việc lấy mẫu được đồng bộ hóa bởi một xung phát ra từ
VCO. Bất cứ thành phần một chiều nào cũng sẽ được loại bỏ khỏi tín hiệu bằng
cách sử dụng tụ điện CDEC. Hơn nữa để lọc bỏ tín hiệu sóng mang còn dư thừa, thì
các tần số nhiễu cao và thấp phải được tạo ra bởi bộ lọc thông cao thứ hai và tụ điện
CDC2. Tín hiệu nhận được từ bộ khuyếch đại và bộ lọc sẽ được đưa tới bộ so sánh
bất đồng bộ. Đầu ra bộ soa sánh là được đệm trên chân đầu ra của chip là
DEMOD_OUT.

Tín hiệu RDY/CLK :Tín hiệu này được cung cấp bởi bộ vi xử lý ở bên ngoài
với tín hiệu xung sẽ được đồng bộ hóa với tín hiệu trên ANT1và với thông tin về
trạng thái bên trong của EM4095. Tín hiệu xung đồng bộ với ANT1 cho biết rằng
PLL đã được khóa và thời điểm hoạt động của khối tiếp nhận đã được thiết lập. Khi
SHD là mức cao thì chân RDY/CLK bắt buộc phải ở mức điện áp thấp. Sau sự
chuyển đổi từ mức cao về mức thấp trên SHD thì khối PLL sẽ được khởi động, và
do đó khối tiếp nhận lại được khóa lại. Sau khoảng thời gian TSET thì khối PLL lại
được khóa và thời điểm hoạt động của khối tiếp nhận lại được thiết lập. Tại thời
điểm này , cùng một tín hiệu sẽ được truyền tới ANT1và cũng được đặt tới chân
RDY/CLK để cho biết rằng bộ vi xử lý có thể bắt đầu giám sát tín hiệu ở trên
DEMOD_OUT và đưa ra tín hiệu xung tham chiếu tại cùng thời điểm đó. Xung trên
chân RDY/CLK là liên tục, nó cũng xuất hiện trong suốt thời gian các điều khiển
ANT tắt do chân MOD được đặt ở mức cao. Trong suốt khoảng thời gian TSET sự
chuyển dịch từ mức cao xuống mức thấp của chân SHD cũng khiến cho chân

52
RDY/CLK bị “kéo xuống” bởi các điện trở kéo100 kΩ. Đây là một trong những
chức năng được thêm vào của chân RDY/CLK trong trường hợp điều chế AM với
chỉ số thấp hơn 100%. Trong trường hợp đó nó được sử dụng như là một trình điều
khiển phụ trợ dùng để giữ cho biên độ trên cuộn dây thấp hơn trong suốt quá trình
điều chế.

Hình 2.2 Cấu hình EM4095 chế độ chỉ đọc

Hình 2.3 Cấu hình EM4095 chế độ đoc/ ghi (với hệ số chất lượng Q thấp)

53
Hình 2.4 Cấu hình EM4095 chế độ đọc/ ghi (với hệ số chất lượng Q của anten cao)

Hình 2.5 Cấu hình EM4095 chế độ đọc/ ghi (điều chế AM)

2.1.2 Hoạt động của thẻ thụ động EM4100


Thẻ EM4100 (trước đây có tên gọi là H4100) là một mạch tích hợp công nghệ
CMOS được dùng trong các mạch điện tử RF Transponder chỉ có chức năng đọc.
Mạch còn bao gồm thêm một cuộn dây ngoài được đặt ở trong một trường điện từ,
và lấy các xung tín hiệu gốc cũng từ cùng trường đó qua một trong các cuộn dây
nguồn. Bằng cách bật hoặc tắt dòng điều chế, chip sẽ gửi trở lại 64 bit thông tin
được chứa ở bên trong một mảng bộ nhớ đã được lập trình trước.Công việc lập
trình cho chip được thực hiện bằng tia laser để làm tan chảy các liên kết
polysilicon để lưu trữ một mã duy nhất trên mỗi chip.Với thẻ EM4100 tốc độ dữ
liệu có thể là 16,32 hoặc lên tới 64 chu kì tần số sóng mang trên một bit dữ liệu .
Ngoài ra, thẻ loại này còn có ưu điểm là dữ liệu có thể được mã bằng nhiều kiểu
khác nhau như các kiểu mã hóa Manchester, hai pha (Biphase) hoặc là PSK.

Dưới đây là các hình vẽ miêu tả sơ đồ chân đầu ra của chip EM4100 trên thẻ ,và
cách cấu hình hoạt động thông thường của nó:

54
Hình 2.6 Các chân đầu ra của chip EM4100

Hình 2.7 Cấu hình hoạt động thông thường của chip EM4100

2.1.2.1 Sơ đồ các khối của chip EM4100


Dưới đây là sơ đồ các khối bên trong của chip EM4100:

Hình 2.8 Sơ đồ các khối bên trong chip EM4100

55
Chip EM4100 bao gồm các khối : Full Wave Rectifier, Clock Extractor, Data
Modulator, Sequencer, Data Encoder, Memory Array .Đầu tiên nguồn năng lượng
xoay chiều được tạo ra từ từ trường trên cuộn dây đính kèm với chip EM4100 ở bên
ngoài .Sau đó điện áp xoay chiều này sẽ đưa qua khối Full Wave Rectifier để chỉnh
lưu bằng một cầu nối Graetz để cung cấp một nguồn điện áp một chiều ở bên trong
nuôi chip. Khi bit cuối cùng được gửi đi, thì chip sẽ tiếp tục quay trở lại với bit đầu
tiên cho đến khi không còn năng lượng nuôi nó nữa. Chip hoạt động dựa theo xung
chủ được tạo ra do khối Clock Extractor sử dụng một trong hai cuộn dây ở bên
ngoài (ở hình trên là cuộn COIL1) .Đầu ra từ khối Clock Extractor sau đó sẽ đi đến
điều khiển khối Sequencer.Đây là khối cung cấp tất cả các tín hiệu cần thiết để địa
chỉ hóa mảng bộ nhớ và mã hóa tuần tự dữ liệu đầu ra.

2.1.2.2 Tổ chức bộ nhớ của chip EM4100


Bộ nhớ chip EM4100 chứa tới 64 bit được chia thành năm nhóm thông tin. Chín
bit đầu tiên được sử dụng làm tiêu đề (header), 10 bit dòng chẵn lẻ (parity) (từ P0
tới P9), 4 bit cột chẵn lẻ (từ PC0 tới PC3),40 bit dữ liệu (từ D00 tới D93) , và một
bit ở vị trí cuối cùng để thiết lập mức logic 0.

Hình 2.9 Tổ chức bộ nhớ chip EM4100

Phần tiêu đề bao gồm 9 bit đầu tiên, đó là các mặt nạ (mask) đã được nhà sản
xuất thiết lập sẵn tới mức logic "1". Do cơ cấu tổ chức dữ liệu và parity,nên thứ tự
này không thể được tạo lại lần nữa trong chuỗi dữ liệu. Tiếp theo sau phần tiêu đề là
10 nhóm 4 bit dữ liệu có thể cho phép tổ hợp lên tới 100 tỉ chuỗi dữ liệu. S0 là bit
cuối cùng đã được thiết lập sẵn tới mức logic "0" ,còn các bit từ D00 tới D03 và các
bit từ D10 tới D13 là mã nhận dạng đặc trưng của chủ sử dụng.
Sáu tư bit này được đưa ra một cách tuần tự để điều khiển khối Data Modulator.
Và khi 64 bit này đã được đưa ra hết,thì nó lại quay trở lại với bit đầu tiên và làm
tương tự như trên cho đến khi không còn năng lượng nuôi nó.

2.1.2.3 Mã hóa dữ liệu trên thẻ


Với mỗi loại thẻ RFID khác nhau thì có kiểu mã hóa dữ liệu của nó khác nhau.
Song nói chung thì , trong thực tế có ba kiểu mã hóa dữ liệu hay được sử dụng nhất
là: mã hóa Manchester , mã hóa hai pha (biphase), mã hóa PSK. Dưới đây là chi tiết
về các kiểu mã hóa đó.

56
2.1.2.3.1 Mã hóa Manchester
Đó là một kiểu mã hóa mà luôn luôn có sự chuyển đổi từ ON tới OFF hoặc từ
OFF tới ON ở chính giữa chu kì bit. Tại sự chuyển tiếp từ bit logic “1” tới bit logic
“0” hoặc từ bit logic “0” tới bit logic “1” thì có sự thay đổi về pha. Giá trị “high”
của dòng dữ liệu được biểu thị chuyển mạch điều biến OFF (ở hình phía dưới), còn
giá trị “low” được biểu thị bằng khóa ON.

Hình 2.10 Mã hóa manschester

2.1.2.3.2 Mã hóa hai pha (biphase)


Tại thời điểm bắt đầu của mỗi bit, một sự chuyển đổi sẽ xuất hiện. Một bit logic
“1” sẽ giữ trạng thái của nó trong toàn bộ khoảng thời gian bit và bit logic “0” sẽ
chỉ ra một sự chuyển đổi ở chính giữa khoảng thời gian bit.

Hình 2.11 Mã hóa hai pha (biphase)

2.1.2.3.3 Mã hóa PSK


Trong quá trình điều chế các chuyển mạch ON và OFF được thực hiện luân
phiên cứ mỗi chu kỳ tần số sóng mang. Khi một pha xuất hiện sự thay đổi , thì bit
logic "0" được đọc từ bộ nhớ. Nếu không có bất cứ sự thay đổi về pha nào sau một
chu kỳ dữ liệu, thì bit logic "1" sẽ được đọc.

Hình 2.12 Mã hóa PSK

57
2.1.3 Sơ đồ khối mạch RF và tính toán các thông số
Tiếp theo đây ta sẽ đi tính toán một số công thức để tìm ra giá trị thích hợp cho
các linh kiện trong sơ đồ khối mạch ta sử dụng. Đây là các công thức có trong tài
liệu đi kèm theo chip EM4095 do nhà sản xuất EM Microelectronic phát hành.Dưới
đây là sơ đồ khối mạch RF chịu trách nhiệm chính là phát ra sóng vô tuyến thông
qua cuộn anten:

Hình 2.13 Sơ đồ khối mạch RF

Hệ thống sẽ hoạt động tại tần số là:


f0 = 125 kHz
và phạm vi nhiệt độ môi trường xung quanh là:
từ -40 tới 85°C.
Độ tự cảm của anten thường được chọn trong phạm vi từ 300 uH tới 800 uH. Ở
đây , ta sẽ chọn độ tự cảm và hệ số chất lượng của anten là:
LA = 720 uH ± 1%
QA = 40.
Trở kháng của anten được tính theo công thức:

Ta giả thiết trở kháng điều khiển anten và các điện áp nguồn cung cấp năng
lượng cho anten như dưới đây:
RAD = 3 Ω
VDD - VSS = 5V
Hệ thống sẽ hoạt động tại tần số 125 kHz. Nên điện dung cộng hưởng Cres được
tính theo công thức dưới đây:

Và ta tính ra được kết quả CRES = 2.22 nF.

58
Bằng cách cho anten được điều khiển theo cấu hình cầu điều khiển và áp dụng
công thức :

Ta sẽ tính được các đại lượng dòng và điện áp tại anten của reader là (với
Rser=0):

Đầu vào tín hiệu tại DEMOD_IN được giới hạn bởi hệ số phân chia dC (tức là
làm mất đi một phần tín hiệu ban đầu với hệ số dc), để nó có thể đáp ứng các chế độ
đọc khác nhau của EM4095. Như các sơ đồ mạch chỉ ra ở dưới đây , ta thấy chip
EM4095 có khá nhiều chế độ đọc. Nên có lẽ vậy mà chip này khá uyển chuyển
trong việc thiết kế , tức là dùng chip này để thiết kế một reader cho nhiều loại thẻ
khác nhau .Chẳng hạn như thẻ chỉ đọc EM4100, thẻ đọc – ghi EM4150 , thẻ
EM4069,...Với sơ đồ mạch trên là thiết kế chỉ dành riêng cho các thẻ chỉ đọc
EM4100.

Hình 2.14 Tín hiệu anten tại DEMOD_IN đã được phân chia với hệ số dC

Với mỗi chế độ đọc , để cho trạng thái tín hiệu tại chân DEMOD_IN tốt nhất có
thể, thì giá trị của tụ điện phân chia nên được định lượng với sai số thấp. Ta có thể
định lượng giá trị đó dựa trên bất đẳng thức dưới đây :

Tại VDEMOD_IN_PP = 4VPP thì hệ số phân chia dC = 35. Đây có vẻ là một sự


lựa chọn tốt. Ngoài ra tỷ lệ phân chia có thể được thực hiện theo cách sử dụng các
tụ điện chuẩn. Ví dụ, với tụ điện CDV2 thì giá trị tốt nhất nên chọn là nằm trong
phạm vi từ 1 nF tới 2 nF. Tương tự như vậy ta cũng chọn được giá trị các tụ điện
khác có liên quan đến hệ số phân chia dC là:
CRES = 2.2 nF

59
CDV1 = 47 pF
CDV2 = 1.5 nF
Để tính toán ra giá trị cộng hưởng Co tốt nhất ta nên tính đến sự xuất hiện của
cả các tụ điện Cdv1 và Cdv2 như công thức dưới đây:

Và từ đây ta có thể tính lại giá trị của tần số cộng hưởng theo công thức dưới để
tăng thêm độ chính xác trong thực tế:

Còn giá trị các tụ điện Cdec và Cdc2 là ta đã thiết lập mặc định ban đầu với các
giá trị là:
Cdec = 100nF,
Cdc2 = 10nF.

Vậy tóm lại cuối cùng ta sẽ thu được giá trị của các linh kiện sử dụng là:
CDC2 = 10nF
CFCAP = 100nF
CAGND = 100nF
CDEC = 100nF
CRES = 2.2nF
CDV1 = 47uF
CDV2 = 1.5nF
LA = 720uH

2.1.4 Thiết kế anten cho reader


Các thẻ RFID thụ động sẽ sử dụng cảm ứng từ do điện áp cuộn dây anten sinh ra
để hoạt động. Cảm ứng từ của điện áp xoay chiều này được chỉnh lưu để cung cấp
một nguồn điện áp cho thẻ. Khi điện áp một chiều đó đạt đến một mức nhất định,
thì thẻ bắt đầu hoạt động. Vì vậy bằng cách tạo ra một tín hiệu năng lượng RF,
reader có thể liên lạc được từ xa với thẻ mà không cần đến nguồn năng lượng bên
ngoài cho thẻ (ví dụ pin). Nên cuộn dây anten đóng vai trò rất quan trọng trong các
ứng dụng RFID,nó cung cấp năng lượng cho các thẻ thụ động,và tạo ra một kênh
liên lạc giữa thẻ và reader. Bây giờ chúng ta sẽ tìm hiểu sơ qua về các cách chế tạo
anten cùng các công thức vật lý liên quan để tìm ra các tham số chuẩn xác nhất có
thể.
Trước tiên ta cần phải xem xét các yếu tố ảnh hưởng đến cuộn dây anten ta chế
tạo ,chẳng hạn như đặt thẻ so với cuộn dây anten như thế nào (tạo một góc bao
nhiêu độ) , hay nên chọn dây có đường kính bao nhiêu để trở kháng của nó là thấp
sẽ giúp cho hệ số chất lượng Q của anten cao lên,...
Theo định luật Ampe khi một dòng điện đi qua một dây dẫn thì nó sẽ tạo ra một
từ trường xung quanh dây dẫn đó. Từ trường được tạo ra bởi một phần tử dòng điện,
trên một vòng dây dẫn với chiều dài hữu hạn được cho bởi công thức dưới đây:

60
I = dòng điện
r = khoảng cách tính từ trung tâm dây
μ0 = 4 π x 10-7 (H/m)

Trong trường hợp đặc biệt với một dây có chiều dài vô hạn thì:
α1 = -180°
α2 = 0°
Và biểu thức trên có thể được viết lại như sau:

Hình 2.15 Tính toán từ trường B tại vị trí P do dòng điện I trên một dây dẫn điện
thẳng gây ra

Từ trường tạo ra bởi một vòng cuộn dây anten tròn được cho bởi công thức:

I = dòng điện
a = bán kính của vòng
r = khoảng cách tính từ trung tâm của vòng
μ0 = 4π x 10-7 (H/m)

Theo định luật Faraday thì sự thay đổi của từ trường theo thời gian qua một bề
mặt bao quanh bởi một đường dẫn khép kín thì sẽ tạo ra một điện áp xung quanh nó.
Hình dưới đây chỉ ra một ví dụ đơn giản của một ứng dụng RFID được rút ra từ
định luật Faraday. Khi anten của thẻ và reader được đặt gần nhau, thì sự thay đổi
của từ trường B theo thời gian được tạo ra bởi cuộn dây anten reader sẽ gây ra một

61
điện áp bên trong cuộn dây anten của thẻ đặt gần đó. Chính điện áp này là nguyên
nhân dẫn đến sự xuất hiện dòng điện trên cuộn dây đó. Đó chính là định luật
Faraday.

Hình 2.16 Cấu hình một ứng dụng RFID

Điện áp gây ra trên cuộn dây anten của thẻ là tỉ lệ với tốc độ thay đổi của thông
lượng từ trường Ψ theo thời gian.Và nó có công thức là :

N = số vòng của cuộn dây anten


Ψ = thông lượng từ trường qua mỗi vòng dây

Thông lượng từ trường Ψ là tổng từ trường B đi qua toàn bộ bề mặt cuộn dây
anten,và được tìm ra theo công thức:

B = từ trường
S = diện tích bề mặt cuộn dây

Biểu thức tính toán cho điện áp Vo sinh ra trong một vòng cuộn dây là:

f = tần số của tín hiệu đến


N = số vòng của cuộn dây
S = diện tích vòng (m2)
Q = hệ số chất lượng của mạch
Βo = cường độ của tín hiệu đến
α = góc tới của tín hiệu
Trong công thức ở trên, hệ số chất lượng Q là thước đo để chọn lọc tần số có
lợi.

62
Hình 2.17 Sự phụ thuộc về hướng của anten thẻ so với anten reader

Điện áp cảm ứng xuất hiện đi ngang qua cuộn dây anten là một hàm của góc các
tín hiệu đến. Điện áp cảm ứng đạt giá trị lớn nhất khi cuộn dây anten đặt tại vị trí
song song với tín hiệu đến , tại đó ta sẽ có góc α = 0.Như vậy có nghĩa là để khả
năng đọc thẻ được tốt nhất trong thực tế , thì ta nên để thẻ theo phương song song
với cuộn dây anten.

Ngoài ra khi chế tạo anten ta cũng cần phải chú ý đến đường kính dây dựa trên
các kí hiệu số theo tiêu chuẩn của từng quốc gia, ví dụ với Hoa Kỳ ta dựa vào số kí
hiệu AWG (American Wire Gauge). Dây có đường kính càng nhỏ thì trở kháng DC
của nó sẽ càng cao. Trở kháng DC với diện tích mặt cắt ngang như nhau tại các vị
trí được cho bởi công thức:

l = tổng chiều dài dây


σ = độ dẫn điện của dây (mho/m)
S = diện tích mặt cắt ngang = π r2
a = bán kính dây

Thông thường trở kháng DC phải được giữ ở giá trị thấp nhất có thể để giúp cho
hệ số chất lượng Q của anten càng cao càng tốt. Bởi vậy, phải chọn dây có đường
kính càng lớn càng tốt để chế tạo anten cho các ứng dụng RFID trong thực tế.
Tại DC, các điện tích mang được phân bố đều qua toàn bộ diện tích mặt cắt
ngang của dây. Khi tần số tăng lên, thì từ trường tại trung tâm của dây tăng lên. Do
đó, điện kháng gần vị trí trung tâm dây cũng tăng và dẫn đến mật độ dòng điện
trong khu vực cũng tăng lên. Nên, điện tích di chuyển theo con đường từ trung tâm
dây tiến đến mép dây. Và kết quả là, mật độ dòng sẽ giảm giảm tại trung tâm dây
và tăng tại vị trí gần mép dây. Đây gọi là một hiệu ứng lớp bề mặt của dây. Độ sâu
của dây tại nơi mà mật độ dòng điện giảm tới 1/e, hay là 37% (= 0.3679) giá trị của
nó dọc theo bề mặt, được biết đến với tên gọi là độ sâu lớp bề mặt và phụ thuộc vào
tần số hoạt động và độ từ thẩm, độ dẫn điện của môi trường. Dưới đây là công thức
tính toán độ sâu lớp bề mặt:

63
f = tần số
μ (F/m) = μομr
μo = 4 π x 10-7 (h/m)
μr = 1 cho đồng, nhôm, bạc,...
= 4000 với chất liệu là sắt tinh khiết
σ = độ dẫn điện của chất liệu (mho/m)
= 5.8 x 107 (mho/m) với chất liệu là đồng
= 3.82 x 107 (mho/m) với chất liệu là nhôm
= 4.1 x 107 (mho/m) với chất liệu là vàng
= 6.1 x 107 (mho/m) với chất liệu là bạc

Ta đã biết rằng, trở kháng của dây tỉ lệ với tần số, tức là tần số tăng thì trở
kháng cũng tăng, và trở kháng do độ sâu lớp bề mặt tạo ra thì được gọi là trở kháng
AC. Một biểu thức gấn đúng để tính toán các trở kháng AC được cho bởi:

Như đã nói ở trên, một phần tử dòng điện khi chạy qua một dây dẫn thì sẽ tạo ra
một từ trường xung quanh nó. Sự thay đổi về từ trường theo thời gian có khả năng
tạo ra một dòng điện chạy qua một dây dẫn khác – và cái này được gọi là “độ tự
cảm”. Độ tự cảm L phụ thuộc vào các đặc điểm vật lý của dây dẫn. Một vòng dây
thì có độ tự cảm lớn hơn so với độ tự cảm của đoạn dây cùng chất liệu,và một cuộn
dây càng có nhiều vòng thì độ tự cảm của nó càng tăng lên. Ta sẽ tổng quát lại tất cả
điều đó bằng một công thức cơ bản nhất dưới đây, ở đó độ tự cảm L của dây được
xác định bằng tỷ lệ của tổng thông lượng từ trường với dòng điện I đi qua dây:

N = số vòng dây
I = dòng điện
Ψ= thông lượng của từ trường

Từ công thức này ta có thể suy ra được các công thức tính toán khác phù hợp
với từng cách quấn dây ,để thu được các thông số cần thiết giúp cho sai số trong
quá trình quấn dây giảm đi.
Độ tự cảm của cuộn dây có thể được tính toán theo nhiều cách khác nhau. Ta có
thể quấn dây theo kiểu dạng cuộn hình tròn, hình vuông, hình lục giác,...Ta cũng có

64
thể chế tạo dưới dạng các đường mạch trên một bảng mạch in.Ở đây ,tôi chọn cách
quấn dây theo dạng cuộn hình tròn, với chất liệu dây quấn là đồng.
Với một cuộn dây đồng chỉ có một vòng đơn thì độ tự cảm của nó được cho bởi
công thức :

Trong đó:
a = bán kính vòng (cm)
d = đường kính dây (cm)

Hình 2.18 Đường kính dây và một vòng cuộn dây tròn

Từ đó ta rút ra công thức tính độ tự cảm của cuộn dây đồng có N vòng là:

Trong đó:
a = bán kính trung bình của cuộn dây(cm)
N = số vòng dây
b = chiều dày cuộn (cm)
h = độ cao cuộn dây (cm)

Hình 2.19 Cuộn dây tròn có N vòng

Nhìn từ công thức ta thấy rằng L phụ thuộc vào bốn tham số là a,h,b,N. Rất khó
để tính ra kết quả chính xác giá trị của từng tham số tương ứng với giá trị N cần

65
thiết.Và để dễ dàng hơn ta sẽ cố định các tham số h,(a-b) . Từ đó ta sẽ ước lượng b
theo N. Ở đồ án này , ta cần quấn cuộn dây có giá trị L = 720uH. Tương ứng với giá
trị đó, tôi xác định được các tham số cần thiết là:
A=4.75 cm
B=0.3 cm
N=73 vòng
H=0.8 cm
Trong đó: dây đồng quấn ta sẽ chọn loại đường kính 0.0515cm.

2.1.5 Phương pháp điều chế sóng mang OOK


Có nhiều cách khác nhau để một hệ thống RFID điều chế các tín hiệu vô
tuyến.Đó là FM (thay đổi về tần số của sóng mang), PM (thay đổi về pha), và AM
(thay đổi về biên độ). Và có một vài kỹ thuật có thể sử dụng được với các kiểu điều
chế này là FSK, PSK, và ASK. Trong đó kỹ thuật mà chúng ta sẽ sử dụng cho hệ
thống RFID ở đây có tên gọi là OOK , đây là một kiểu đặc biệt của kỹ thuật ASK
mà ta vừa nói tới ở trên.
Kỹ thuật điều chế OOK được sử dụng rất phổ biến trong các ứng dụng điều
khiển .Bởi lý do kỹ thuật này khá đơn giản và có giá thành thực thi thấp hơn nhiều
so với các kỹ thuật điều chế khác. Kỹ thuật điều chế OOK có đặc điểm là cho phép
bộ phát được nhàn rỗi trong suốt quãng thời gian truyền đi một “zero” ,nên tiết
kiệm được khá nhiều năng lượng.Tuy nhiên nhược điểm của kỹ thuật OOK là, có
thể phát sinh những tín hiệu không mong muốn trong tín hiệu đã được điều chế
OOK. Tiếp theo đây, chúng ta sẽ đi vào tìm hiểu kỹ về chúng.
Một tín hiệu tuần hoàn mà tồn tại mãi mãi, không thay đổi biên độ, tần số, hoặc
pha của nó – gọi là một tín hiệu sóng liên tục (CW) – không mang thông tin nào
khác ngoài chính bản thân nó. Để có thể chuyển tải dữ liệu, thì tín hiệu đó cần phải
thay đổi. Thông thường chúng ta có thể hiểu rằng, thay đổi này như một thay đổi
biến thiên tương đối chậm – đó chính là sự điều chế, ví dụ:

Trong đó hàm m(t) được sử dụng để chứa thông tin dải cơ sở, và hàm cosin
chính là sóng mang với tần số tương đối cao. Khi hàm m(t) là một hàm sin hay
cosin (với tần số thấp hơn nhiều so với tần số của sóng mang), thì ta có thể viết lại
biểu thức ở trên và khai triển ra như ở dưới đây:

Một kiểu điều chế dạng sin sẽ phân chia sóng mang thành hai tín hiệu được gọi
là các dải biên, trong đó một cái ở trên và một cái ở dưới sóng mang (hình dưới

66
đây). Trong khi một kiểu điều chế dạng sin liên tục hầu như không thú vị hay hữu
ích hơn so với một tín hiệu CW, thì kết quả này lại cho thấy rằng khi một tín hiệu
đã được điều chế, sẽ cho phổ tần số trở nên rộng hơn.

Hình 2.20 Tín hiệu sóng mang đã được điều chế và phổ tần số tương ứng; fc là tần
số sóng mang

Các tín hiệu mà ta quan tâm đến trong hệ thống RFID nói chung đều là các tín
hiệu đã được điều chế kỹ thuật số. Một tín hiệu đã được điều chế kỹ thuật số là một
chuỗi các biểu tượng riêng biệt. Trong OOK, mỗi biểu tượng là một chu kỳ thời
gian không đổi trong đó năng lượng của tín hiệu hoặc là cao hoặc là thấp. Ở đó
năng lượng của tín hiệu được giữ ở mức cao (m = 1) để biểu thị số nhị phân '1' và ở
mức thấp hay là “zero” (m = 0) để biểu thị số nhị phân '0'.

Hình 2.21 Tín hiệu đã được điều chế OOK

67
Mỗi biểu tượng trong OOK chỉ biểu thị một bit nhị phân, với các biểu tượng của
các kiểu khác có thể truyền tải nhiều hơn là một bit. Tuy nhiên , OOK vẫn được sử
dụng rộng rãi là bởi vì mạch sử dụng để tạo ra các tín hiệu OOK đơn giản hơn rất
nhiều so với các kiểu khác, bởi vì bất cứ mạch nào cũng có thể thay đổi mức năng
lượng đầu ra, chẳng hạn chỉ dùng một chuyển mạch bình thường. Ngoài ra mạch
thiết kế để nhận ra các mức năng lượng trong việc thực hiện giải điều chế (lấy ra dữ
liệu từ tín hiệu) cũng rất đơn giản. Ví dụ, một diode có thể chỉnh lưu một tín hiệu
tần số cao, và biến nó thành các xung một chiều. Các xung này có thể được gia công
với một tụ điện lưu trữ để tạo ra một tín hiệu đầu ra trông rất giống với tín hiệu dải
tần cơ sở m(t). Nếu như diode phản hồi nhanh, thì nó có thể được sử dụng tại các
tần số rất cao. Các diode hiện đại có thể hoạt động tại các tần số lên tới 1 GHz, cho
phép các thẻ thụ động RFID giải điều chế một tín hiệu từ reader chỉ bằng cách sử
dụng một diode và một tụ điện.

OOK nguyên bản khá đơn giản và dường như là một phương pháp điều chế đầy
hứa hẹn với các reader RFID. Tuy nhiên, có một vấn đề nhỏ với các hệ thống RFID
thụ động. Một thẻ RFID thụ động phụ thuộc vào năng lượng thu được từ reader để
chạy các mạch của nó. Nếu như năng lượng bị gián đoạn thì các thẻ sẽ không hoạt
động. Hãy tưởng tượng trong trường hợp một tín hiệu OOK chứa một chuỗi dài các
số nhị phân ‘0’: tức là trong trường hợp này, m = 0 cho đến khi chuỗi dữ liệu vẫn
còn ‘0’. Nghĩa là thẻ sẽ không được nhận năng lượng trong suốt thời gian này. Và
nếu như chuỗi các số nhị phân ‘0’ trong dữ liệu quá dài, thì thẻ sẽ không có năng
lượng và cần phải được khởi động lại, đây là một tình huống không có lợi cho khả
năng hoạt động tin cậy của thẻ. Ngay cả khi tại thời điểm hiện tại trong chuỗi đó có
một vài số nhị phân ‘1’, thì mức năng lượng phát cho các thẻ vẫn phụ thuộc rất lớn
vào dữ liệu, đó là một đặc điểm không mong muốn.

Hình 2.22 Các ký hiệu mã hóa khoảng xung cho dải tần cơ sở (hàm m(t))

Tuy nhiên, có một giải pháp để giải quyết vấn đề năng lượng là thực hiện mã
hóa dữ liệu nhị phân trước khi điều chế. Một trong các cách mã hóa RFID được biết
tới là PIE (mã hóa khoảng xung). Trong đó một số nhị phân '1' được mã hóa bằng
xung bao gồm một khoảng ngắn mất nguồn đi theo sau một khoảng dài có nguồn,
còn số nhị phân '0' được mã hóa bằng xung khác bao gồm một khoảng có nguồn và
một khoảng mất nguồn bằng nhau (Xem hình vẽ trên). Dẫn đến tín hiệu dải tần cơ

68
sở m(t) được mã hóa và sau đó được sử dụng để điều chế sóng mang như hình vẽ
dưới đây.

Hình 2.23 Mã hóa khoảng xung với phương pháp điều chế sóng mang OOK

PIE sử dụng các xung mức thấp và mức cao đối với '0' bằng nhau để đảm bảo
rằng ít nhất 50% năng lượng tối đa được phát tới thẻ ngay cả khi dữ liệu truyền đi
có chứa một chuỗi dài zero. Chú ý rằng ở đây, tốc độ truyền dữ liệu sẽ độc lập với
dữ liệu truyền đi ví dụ, một chuỗi các số nhị phân ‘0’ thì sẽ truyền đi nhanh hơn so
với khi truyền một chuỗi các số nhị phân ‘1’. Một biểu tượng đơn có hai đặc trưng
là thời gian đóng và thời gian mở – tuy nhiên nó vẫn chỉ thực hiện chuyển tải một
bit nhị phân duy nhất.

2.2 Giao tiếp chuẩn USB giữa reader và máy vi tính


Có nhiều cách để thực hiện giao tiếp truyền dữ liệu giữa reader và máy tính.Có
thể kể ra ở đây như, các giao tiếp cổ điển qua cổng COM (chuẩn RS232) hay cổng
máy in LPT,...hoặc cao hơn là giao tiếp thông qua sóng vô tuyến .Tuy nhiên với các
giao tiếp qua cổng COM và cổng máy in thì tuy khá đơn giản nhưng lại rất bất tiện ,
bởi vì hầu hết các laptop được sản xuất trên thế giới ngày nay đều không hỗ trợ
cổng giao tiếp này. Còn giao tiếp thông qua sóng vô tuyến thì sẽ cần phải đầu tư khá
nhiều về mặt tiền của và thời gian. Chính vì vậy, ở đây tôi đã chọn giao tiếp qua
cổng USB. Đây là chuẩn giao tiếp rất phổ biến hiện nay và được hầu như tất cả các
hãng sản xuất laptop trên thế giới hỗ trợ. Dưới đây ta sẽ đi tìm hiểu qua về chuẩn
giao tiếp này.

2.2.1 Chuẩn giao tiếp USB


USB (Universal Serial Bus) là một chuẩn kết nối tuần tự trong máy tính. USB
sử dụng để kết nối các thiết bị ngoại vi với máy tính, chúng thường được thiết kế
dưới dạng các đầu cắm cho các thiết bị tuân theo chuẩn cắm-là-chạy (plug-and-
play),với tính năng gắn nóng thiết bị (cắm và ngắt các thiết bị không cần phải khởi
động lại hệ thống).

69
2.2.1.1 Quy trình làm việc trong giao tiếp USB
Khi một máy tính được cấp nguồn, nó truy vấn tất cả thiết bị được kết nối vào
đường truyền và gán mỗi thiết bị một địa chỉ. Quy trình này được gọi là liệt kê –
những thiết bị được liệt kê khi kết nối vào đường truyền. Máy tính cũng tìm ra từ
mỗi thiết bị cách truyền dữ liệu nào mà nó cần để hoạt động:

• Ngắt - Một thiết bị như chuột hoặc bàn phím, gửi một lượng nhỏ dữ liệu, sẽ
chọn chế độ ngắt.
• Hàng loạt - Một thiết bị như một chiếc máy in, nhận dữ liệu trong một gói
lớn, sử dụng chế độ truyền hàng loạt. Một khối dữ liệu được gửi đến máy in
(một khối 64 byte) và được kiểm tra để chắc chắn nó chính xác.
• Đẳng thời - Một thiết bị truyền dữ liệu theo chuỗi (lấy ví dụ như loa) sử dụng
chế độ đẳng thời. Những dòng dữ liệu giữa thiết bị và máy trong thời gian
thực, và không có sự sửa lỗi ở đây.

Máy tính có thể gửi lệnh hay truy vấn tham số với điều khiển những gói tin. Khi
những thiết bị được liệt kê, máy tính sẽ giữ sự kiểm tra đối với tổng băng thông mà
tất cả những thiết bị đẳng thời và ngắt yêu cầu. Chúng có thể tiêu hao tới 90% của
480Mbps băng thông cho phép. Sau khi 90 % được sử dụng, máy tính sẽ từ chối
mọi truy cập của những thiết bị đẳng thời và ngắt khác. Còn việc điều khiển gói tin
và cho truyền tải hàng loạt là sử dụng ít nhất 10% băng thông còn lại.

USB chia băng thông cho phép thành những khung, và máy tính điều khiển
những khung đó. Khung chứa 1.500 byte, và một khung mới bắt đầu mỗi mili giây.
Thông qua một khung, những thiết bị đẳng thời và ngắt lấy được một vị trí do đó
chúng được đảm bảo băng thông mà chúng cần. Truyền tải hàng loạt và điều khiển
truyền tải sử dụng phần còn lại.

2.2.1.2 Các đặc trưng của giao tiếp USB


Giao tiếp USB có những đặc trưng như liệt kê ở dưới đây:

• Mở rộng tới 127 thiết bị có thể kết nối cùng vào một máy tính trên một cổng
USB duy nhất (bao gồm các hub USB)
• Những sợi cáp USB riêng lẻ có thể dài tới 5 mét; với những hub, có thể kéo
dài tới 30 mét (6 sợi cáp nối tiếp nhau thông qua các hub) tính từ đầu cắm
trên máy tính.
• Với USB 2.0 (tốc độ cao), đường truyền đạt tốc độ tối đa đến 480 Mbps.
• Cáp USB gồm hai sợi nguồn (+5V và dây chung GND) cùng một cặp gồm
hai sợi dây xoắn để mang dữ liệu.
• Trên sợi nguồn, máy tính có thể cấp nguồn lên tới 500mA ở điện áp 5V một
chiều (DC).
• Những thiết bị tiêu thụ công suất thấp (ví dụ: chuột, bàn phím, loa máy tính
công suất thấp...) được cung cấp điện năng cho hoạt động trực tiếp từ các
cổng USB mà không cần có sự cung cấp nguồn riêng (thậm trí các thiết bị
giải trí số như SmartPhone, PocketPC ngày nay sử dụng các cổng USB để
xạc pin). Với các thiết bị cần sử dụng nguồn công suất lớn (như máy in, máy

70
quét...) không sử dụng nguồn điện từ đường truyền USB như nguồn chính
của chúng, lúc này đường truyền nguồn chỉ có tác dụng như một sự so sánh
mức điện thế của tín hiệu. Hub có thể có nguồn cấp điện riêng để cấp điện
thêm cho các thiết bị sử dụng giao tiếp USB cắm vào nó bởi mỗi cổng USB
chỉ cung cấp một công suất nhất định.
• Những thiết bị USB có đặc tính cắm nóng, điều này có nghĩa các thiết bị có
thể được kết nối (cắm vào) hoặc ngắt kết nối (rút ra) trong mọi thời điểm mà
người sử dụng cần mà không cần phải khởi động lại hệ thống.
• Nhiều thiết bị USB có thể được chuyển về trạng thái tạm ngừng hoạt động
khi máy tính chuyển sang chế độ tiết kiệm điện.

2.2.1.3 Chuẩn giao tiếp USB 2.0


Chuẩn giao tiếp USB 2.0 được đưa ra vào tháng tư năm 2000 và được xem như
là bản nâng cấp của USB1.1. USB 2.0 (USB với loại tốc độ cao) mở rộng băng
thông cho ứng dụng đa truyền thông và truyền với tốc độ nhanh hơn 40 lần so với
USB 1.1 . Để có sự chuyển tiếp các thiết bị mới và cũ, USB 2.0 có đầy đủ khả năng
tương thích ngược với những thiết bị USB trước đó và cũng hoạt động tốt với
những sợi cáp, đầu cắm dành cho cổng USB trước đó.

Hình 2.24 Đầu nối chuẩn giao tiếp USB2.0

Hỗ trợ ba chế độ tốc độ (1,5 Mbps; 12 Mbps và 480 Mbps), USB 2.0 hỗ trợ
những thiết bị chỉ cần băng thông thấp như bàn phím và chuột, cũng như thiết bị cần
băng thông lớn như Webcam, máy quét, máy in, máy quay và những hệ thống lưu
trữ lớn. Sự phát triển của chuẩn USB 2.0 đã cho phép những nhà phát triển phần
cứng phát triển các thiết bị giao tiếp nhanh hơn, thay thế các chuẩn giao tiếp song
song và tuần tự cổ điển trong công nghệ máy tính. USB 2.0 và các phiên bản kế tiếp
của nó trong tương lai sẽ giúp các máy tính có thể đồng thời làm việc với nhiều thiết
bị ngoại vi hơn.

2.2.1.4 Chuẩn giao tiếp USB 3.0


Ở đồ án này tôi không sử dụng chuẩn USB 3.0 mà sử dụng chuẩn USB 2.0 để
thực hiện giao tiếp giữa reader và máy tính. Tuy nhiên đây là một chuẩn mới ra đời
vào năm 2009 với nhiều ưu điểm nổi trội so với chuẩn 2.0. Nên tôi xin phép được
giới thiệu qua ở đây.

71
Được mệnh danh là USB “siêu tốc độ”, USB 3.0 là chuẩn mới nhất trong giao
tiếp giữa máy tính và các thiết bị ngoại vi (máy ảnh số, thiết bị nghe nhạc cầm tay,
điện thoại, ổ cứng di động...). Nó là sự thay thế cho chuẩn USB 2.0 vốn được mệnh
danh là “tốc độ cao”.
USB 2.0 có tốc độ truyền tải dữ liệu tối đa là 480 Mbps. Chuẩn giao tiếp mới có
tốc độ nhanh gấp 10 lần chuẩn cũ. Tức là tốc độ của USB 3.0 đạt gần 5 Gbps. Với
chuẩn giao tiếp mới này, thời gian để truyền đi 25 GB sẽ giảm xuống chỉ còn
khoảng 70 giây - một con số vô cùng ấn tượng. Và ta sẽ còn cảm thấy bất ngờ hơn,
khi cùng với tiến trình xử lý này, USB 2.0 mất khoảng 14 phút, trong khi đó chuẩn
USB 1.1 phải mất đến 9 giờ.
Không giống với USB 2.0 dữ liệu chỉ có thể truyền một hướng tại một thời điểm
xác định thì USB 3.0 lại có khả năng đọc ghi dữ liệu đồng thời. Để làm được kiểu
này, nhà sản xuất đã thêm 4 kết nối mới (2 để truyền và 2 để nhận dữ liệu) nâng
tổng số kết nối lên 8 (so với 4 của USB 2.0).

Hình 2.25 Đầu nối chuẩn giao tiếp USB3.0

USB 3.0 được thiết kế với hiệu suất cải thiện hơn so với người tiền nhiệm của
nó. Khi bắt đầu dòng điện chỉ tăng từ 500 tới 900 mA. Điều này giúp làm tăng tính
ổn định, cho phép máy tính và USB hub có thể kết nối tới nhiều thiết bị ngoại vi
hơn.

2.2.2 Lớp định nghĩa HID


Ở đây ta chỉ nói đến lớp HID được sử dụng với chuẩn giao tiếp USB 2.0. Lớp
HID bao gồm các thiết bị cơ bản được sử dụng bởi con người để điều khiển thao
tác của các hệ thống tính toán. Các ví dụ điển hình của lớp HID bao gồm:

• Các thiết bị bàn phím và con trỏ - ví dụ, các thiết bị chuột máy tính tiêu
chuẩn, các quả bóng xoay, và các cần điều khiển.
• Các bộ phận điều khiển tìm thấy trong các thiết bị chẳng hạn như điện thoại,
điều khiển từ xa, các thiết bị trò chơi hoặc mô phỏng.
• Các thiết bị không cần tới thao tác của con người nhưng cung cấp dữ liệu
theo định dạng giống như lớp thiết bị HID – ví dụ, các máy đọc mã vạch,
nhiệt kế đo nhiệt độ, hoặc vôn kế.

72
2.2.2.1Tổng quan về quản lý chung của lớp HID
Thông tin về bản thân một thiết bị USB được lưu trữ bên trong các segment của
bộ nhớ ROM của nó. Các segment này được gọi là các descriptor. Một giao diện
descriptor có thể nhận dạng một thiết bị như là thuộc về một trong số các lớp đã
được định nghĩa của nó.
Một thiết bị lớp HID sẽ sử dụng một tham chiếu tới trình điều khiển lớp HID
để lấy dữ liệu và định tuyến nó.Và công đoạn này được hoàn thành bằng việc kiểm
tra các descriptor của thiết bị và dữ liệu nó cung cấp.

Hình 2.26 Tham chiếu giữa trình điều khiển lớp HID và thiết bị HID

Descriptor của thiết bị lớp HID được sử dụng để nhận dạng các descriptor của
lớp HID khác tại thời điểm hiện tại và cho biết các kích thước của chúng. Ví dụ, các
descriptor Report và Physical như chỉ ra ở hình dưới đây:

Hình 2.27 Ví dụ về descriptor của thiết bị lớp HID

Một descriptor report mô tả mỗi phần dữ liệu mà thiết bị sinh ra và đo lường dữ


liệu trong thực tế là gì. Ví dụ, nó định nghĩa các mục để mô tả một vị trí hoặc trạng
thái nút bấm. Thông tin về các mục này sẽ được sử dụng để:
• Quyết định định tuyến đầu vào ở đâu .
• Cho phép phần mềm thao tác các chức năng đầu vào.

Bằng cách kiểm tra một mục (còn được gọi là descriptor report) trình điều
khiển của lớp HID có thể quyết định kích thước và bố cục dữ liệu được báo cáo từ
thiết bị lớp HID.
Descriptor physical thiết lập các descriptor tùy chọn để cung cấp thông tin các
phần hoặc các bộ phận trên cơ thể con người được sử dụng để kích hoạt bộ điều
khiển trên một thiết bị.
Tất cả những cái này có thể được kết hợp lại để minh họa cấu trúc descriptor
như dưới đây:

73
Hình 2.28 Cấu trúc các descriptor của thiết bị lớp HID

2.2.2.2 Mô hình hoạt động


Tại mức cao nhất, một descriptor bao gồm hai bảng thông tin được tham chiếu
tới là descriptor device và descriptor string. Với thiết bị theo chuẩn giao tiếp USB
thì descriptor device sẽ chịu trách nhiệm chỉ ra mã số sản phẩm ( product ID) và các
thông tin khác về thiết bị đó. Ví dụ, descriptor device có thể bao gồm các trường
thông tin cơ bản sau:
• Các thông tin về lớp (Class)
• Các thông tin về phân lớp (Subclass)
• Các thông tin về nhà sản xuất (Vendor)
• Các thông tin về sản phẩm (Product)
• Các thông tin về phiên bản của sản phẩm (Version)

Với các thiết bị lớp HID thì hơi có sự khác biệt ở chỗ :
• Kiểu lớp không được định nghĩa tại mức descriptor device của thiết bị. Mà
nó sẽ được định nghĩa bởi descriptor interface.
• Trường phân lớp được sử dụng để nhận dạng các thiết bị khởi động .

Trước đây các descriptor được minh họa bằng các sơ đồ các mục dữ liệu được
biểu diễn dưới dạng các bảng thông tin. Mỗi bảng thông tin có thể được sử dụng
như một khối dữ liệu.Tuy nhiên hiện tại thay vì làm theo cách đó, các descriptor
report sẽ bao gồm nhiều đoạn thông tin. Mỗi đoạn thông tin được gọi là một danh
mục (item) như hình minh họa dưới đây.

74
Hình 2.29 Các descriptor report bao gồm các đoạn thông tin là các danh mục

Một danh mục là một đoạn thông tin về thiết bị. Tất cả các danh mục đều có một
byte đầu tiên để chứa thẻ danh mục, kiểu danh mục, và kích thước danh mục.

Hình 2.30 Cấu trúc một danh mục

Một danh mục có thể bao gồm các dữ liệu tùy chọn của danh mục đó. Kích
thước của phần dữ liệu đó được quyết định bởi kiểu cơ sở của danh mục đó. Có hai
kiểu danh mục cơ sở là: các danh mục ngắn và các danh mục dài. Nếu là một danh
mục ngắn, thì kích thước phần dữ liệu của nó có thể là 0, 1, 2, hoặc 4 byte. Còn nếu
là kiểu danh mục dài, thì giá trị tham số bSize luôn luôn là 2. Dưới đây là ví dụ
minh họa các giá trị có thể ở bên trong một byte đầu tiên cho một danh mục dài.

Hình 2.31 Ví dụ về một danh mục dài

2.2.3 Vi điều khiển PIC18F2550 và sơ đồ khối mạch điều khiển


Vi điều khiển PIC18F2550 nằm trong họ PIC18 ,là dòng vi điều khiển PIC có
tính thực thi cao của hãng Microchip. Đây là dòng vi điều khiển được sử dụng nhiều
trong các ứng dụng hệ thống nhúng công nghiệp. Dưới đây ta sẽ tìm hiểu qua về vi
điều khiển PIC18F2550 ,một thành viên tiêu biểu của họ mà tôi đã lựa chọn để sử
dụng vì tính thân thiện với các ứng dụng nhỏ của sinh viên .
Thông qua công nghệ Nanowat, hãng Microchip đã đưa vào bên trong thiết bị
PIC18F2550 các chức năng đặc trưng mà khiến nó có thể giảm được đáng kể sự
tiêu thụ năng lượng trong suốt quá trình hoạt động.Bao gồm như:

75
• Các chế độ chạy xen kẽ: Bằng cách tạo xung nhịp cho khối điều khiển từ
nguồn Timer1 hoặc từ khối tạo dao động ở bên trong , năng lượng tiêu thụ
trong suốt quá trình thực thi mã có thể giảm được tới 90%.
• Các chế độ Idle: Khối điều khiển cũng có thể chạy với lõi CPU của nó không
hoạt động nhưng các thiết bị ngoại vi vẫn ở trạng thái hoạt động. Trong các
trạng thái này,năng lượng tiêu thụ có thể giảm tới mức thấp hơn nữa, ít nhất
là bằng 4% mức cần thiết trung bình để hoạt động.
• Chế độ chuyển mạch on-the-fly: Các chế độ quản lý năng lượng được gọi ra
bởi người dùng trong suốt quá trình thao tác mã, cho phép họ có thể đưa ra
các ý tưởng tiết kiệm năng lượng vào bên trong các thiết kế phần mềm của
ứng dụng.
• Các chế độ khóa tiêu thụ ít năng lượng: khiến cho năng lượng cần cho cả bộ
Timer1 và bộ Watchdog Timer là rất nhỏ.

Khi nói đến các dòng vi điều khiển hay vi xử lý nói chung, thì không thể không
nhắc tới bộ tạo xung dao động cho nó. Với thiết bị PIC18F2550 cùng các anh chị
trong họ của nó (như PIC18F2455,PIC18F4550,...) đã được Microchip hỗ trợ lên tới
mười hai lựa chọn chế độ dao động khác nhau,vì vậy người dùng sẽ tùy biến hơn rất
nhiều trong việc thiết kế phần cứng ứng dụng so với các loại vi điều khiển khác. Nó
bao gồm:
• Bốn chế độ dao động tinh thể bằng cách sử dụng các bộ cộng hưởng tinh thể
hoặc ceramic.
• Bốn chế độ dao động xung ở bên ngoài.
• Một khối tạo dao động ở bên trong cung cấp một xung tín hiệu có tần số 8
MHz (với độ chính xác là ±2%) và một nguồn INTRC (khoảng 31 kHz),cũng
như là một phạm vi sáu tần số xung người dùng có thể lữa chọn,nằm giữa
125 kHz và 4 MHz, trong tổng số tám kiểu tần số xung.
• Một bộ nhân tần số PLL ,có thể bao gồm cả chế độ dao động tinh thể tốc độ
cao và các chế độ dao động ở bên ngoài, cho phép tốc độ xung có một phạm
vi rộng từ 4 MHz tới 48 MHz.
• Hai xung hoạt động không đồng bộ với nhau, cho phép module USB có thể
chạy được với bộ tạo dao động tần số cao trong khi phần còn lại của vi điều
khiển thì được tạo xung dao động từ một bộ tạo dao động công suất thấp ở
bên trong.

Ngoài ra thiết bị PIC18F2550 còn được đưa vào một mô đun truyền thông USB
đầy đủ phù hợp với các đặc điểm kỹ thuật của chuẩn USB 2.0. Mô đun hỗ trợ cả hai
kiểu truyền thông low-speed và full-speed cho tất cả các kiểu dữ liệu mà nó hỗ trợ.
Nó cũng được tích hợp thêm một bộ thu-phát và bộ điều chỉnh điện áp 3.3V trên
chip của nó và hỗ trợ sử dụng với các bộ thu- phát và bộ điều chỉnh điện áp ở bên
ngoài.
Dưới đây là hình dạng đóng gói của thiết bị PIC18F2550 trong thực tế cùng tên
các chân của chúng:

76
Hình 2.32 Hình dạng đóng gói vi điều khiển PIC18F2550

Trong đồ án này , thì vi điều khiển PIC18F2550 có thể nói là thành phần quan
trọng nhất. Nó thực hiện hai nhiệm vụ chính là:
• Kết nối với chip RFID EM4095 để nhận kết quả mã số thẻ trả về và lưu trữ
trong bộ nhớ ROM ,đồng thời đưa ra các cảnh báo LED để giúp người dùng
biết được trạng thái hiện tại của hệ thống.
• Kết nối với máy tính cá nhân qua chuẩn giao tiếp USB2.0 , để thực hiện
truyền dữ liệu mã số thẻ lưu trữ trong bộ nhớ ROM về máy tính, để cho phần
mềm quản lý trên máy tính thực hiện khâu tiếp theo.

Dưới đây là sơ đồ khối mạch này:

77
Hình 2.33 Sơ đồ khối mạch điều khiển chính

2.3 Thiết kế phần mềm quản lý


Như đã nói trong phần giới thiệu chung về một hệ thống RFID ,hệ thống RFID
có thể hoạt động mà không cần tới thành phần này.Tuy nhiên, nếu như không sử
dụng thành phần này thì hệ thống RFID sẽ trở nên vô giá trị.Vì vậy vẫn có thể nói
rằng, thành phần này đóng góp phần quan trọng làm nên thành công của một hệ
thống RFID được triển khai. Ở đây ta xây dựng không phải là một hệ thống phần
mềm mà chỉ là phần mềm quản lý đơn giản để thử nghiệm. Nó có khả năng quản lý
kết nối giữa máy tính và reader thông qua giao tiếp USB, và quản lý cở sở dữ liệu
trên máy tính. Dưới đây là chi tiết về phần mềm quản lý tôi đã xây dựng cho đồ án
này.

2.3.1 Xây dựng giao diện


Visual Csharp hiện là ngôn ngữ lập trình được sử dụng rộng rãi nhất để viết các
ứng dụng chạy trên hệ điều hành windows. Visual Csharp cho phép phát triển nhanh
chóng các ứng dụng truyền thống được thiết kế theo mô hình đặc trưng của
windows. Với Csharp người thiết kế có thể rất nhanh chóng và dễ dàng tạo ra được
một giao diện trực quan thân thiện với người sử dụng. Ngoài ra các cú pháp trong
Csharp cũng khá giống với ngôn ngữ hướng đối tượng C++. Nên khi sử dụng qua
ngôn ngữ này người lập trình sẽ có cái nhìn tổng quan hơn về lập trình hướng đối
tượng, một xu hướng trong nghành công nghệ thông tin.
Visual Csharp có khá nhiều ưu điểm khiến tôi phải lựa chọn sử dụng nó trong
đồ án này . Các ưu điểm của nó có thể kể đến như:

78
• Visual Csharp là một ngôn ngữ lập trình có cấu trúc tương đối đơn giản
• Ngôn ngữ này là lý tưởng để phát triển các giao diện đồ họa người dùng
(GUI).
• Các thư viện MSDN trực tuyến cung cấp một tương tác toàn diện và hệ
thống trợ giúp trực tuyến.
• Dễ dàng xây dựng các phần mềm quản lý giao tiếp giữa máy tính và thiết bị
ngoại vi thông qua các chuẩn như RS232, USB 2.0 chỉ đơn giản bằng cách
gọi các hàm WIN API đã có sẵn trong hệ điều hành windows.

Bây giờ ta sẽ bắt tay đi vào xây dựng giao diện cho phần mềm quản lý của ta.
Giao diện của nó chỉ đơn giản gồm bốn Form. Trong đó Form đầu tiên chủ yếu thực
hiện nhiệm vụ gọi các hàm WIN API để giao tiếp với reader qua chuẩn giao tiếp
USB 2.0 và nhận kết quả trả về là mã số thẻ (32 bit) ,rồi hiển thị mã số đó dưới
dạng mã hexa. Lúc đầu , khi thiết bị chưa kết nối tới máy tính qua cổng USB thì
giao diện chương trình như dưới đây:

Hình 2.34 Giao diện ứng dụng khi chưa có thiết bị kết nối vào

Khi thiết bị đã được kết nối tới cổng USB thì giao diện của chương trình sẽ có
thêm thông tin cấu hình USB trên vi điều khiển PIC18F2550 .Sau đó người dùng
thực hiện nhấn lên nút “Đọc thẻ” thì sẽ nhận được kết quả mã thẻ trả về trong một ô
text:

79
Hình 2.35 Giao diện ứng dụng khi thiết bị đã kết nối vào cổng USB

Trên đây là các hình ảnh về Form đầu tiên chỉ thực hiện nhiệm vụ kết nối USB
giữa thiết bị và máy tính. Các Form sau đều là các Form thực hiện truy nhập tới cơ
sở dữ liệu và thực hiện các tác vụ tới các cơ sở dữ liệu đó. Dưới đây là hình ảnh về
Form thực hiện tác vụ cập nhật mới cơ sở dữ liệu bệnh nhân trong ứng dụng:

Hình 2.36 Form thực hiện tác vụ cập nhật cơ sở dữ liệu

80
Còn tiếp theo đây là hình ảnh về Form thực hiện tác vụ lấy thông tin từ cơ sở dữ
liệu và hiển thị nó:

Hình 2.37 Form thực hiện tác vụ lấy thông tin từ cơ sở dữ liệu

Bên cạnh sử dụng các Form trong C sharp , tôi cũng sử dụng cả ngôn ngữ lập
trình web php để dễ dàng hơn trong việc giao tiếp với cơ sở dữ liệu mysql. Các
trang php sẽ được nhúng vào bên trong các Form tương ứng. Dưới đây là hình ảnh
trang giới thiệu về hệ thống RFID được nhúng vào Form đầu tiên:

Hình 2.38 Trang php giới thiệu hệ thống

81
Để cập nhật thông tin về một bệnh nhân thì ta phải tạo ra các trang php với các
form cho người dùng điền vào. Các trang này sẽ được nhúng vào các Form thực
hiện tác vụ cập nhật cơ sở dữ liệu bệnh nhân ở trên. Dưới đây là giao diện các trang
php để thực hiện các nhiệm vụ là cập nhật thông tin cá nhân và thông tin bệnh án:

Hình 2.39 Trang php thực hiện tác vụ cập nhật thông tin cá nhân

Hình 2.40 Trang php thực hiện tác vụ cập nhật thông tin bệnh án

Thông tin về người dùng bao gồm các thông tin về cá nhân người đó và thông
tin về bệnh điều trị của người đó. Các thông tin này sẽ được hiển thị thông qua các
trang php. Các trang php này sẽ được nhúng vào bên trong các Form thực hiện tác
vụ lấy thông tin từ cơ sở dữ liệu mà ta đã trình bày ở trên.Dưới đây là các hình ảnh
về giao diện của các trang php này:

82
Hình 2.41 Trang php thực hiện hiển thị thông tin cá nhân

Hình 2.42 Trang php thực hiện hiển thị thông tin bệnh án

2.3.2 Xây dựng cơ sở dữ liệu


Cơ sở dữ liệu mà ta sẽ lựa chọn sử dụng ở đây là MySQL. MySQL là giải pháp
nhanh nhất để sử dụng hệ thống quản lý dữ liệu quan hệ RDMS. MySQL là một
phần mềm mã nguồn mở mạnh mẽ được cấp phép của tổ chức GPU,nên người dùng
không phải trả phí.Ngoài ra nó khá dễ dàng trong việc cài đặt và sử dụng nên rất
phù hợp với các ứng dụng không đòi hỏi tính chuyên nghiệp cao. MySQL bao gồm
một MySQL server, và một số chương trình tiện ích giúp quản lý cơ sở dữ liệu

83
MySQL như workbench giúp người dùng tạo cơ sở dữ liệu với giao diện sử dụng rất
thân thiện.
Ta sẽ thiết kế một cơ sở dữ liệu nhỏ có tên là “rfid” bao gồm hai bảng dữ liệu để
lưu trữ thông tin cá nhân và thông tin bệnh án ,đó là các bảng có tên là
“PersonalDetail” và “MedicalDetail”.Với bảng thông tin cá nhân ta cần phải đề cập
đến các mục :
• Tên bệnh nhân (‘firstname’)
• Họ bệnh nhân (‘lastname’)
• Địa chỉ (‘address’)
• Ngày sinh (‘dateofbirth’)
• Số điện thoại (‘phone’)
Còn với bảng thông tin bệnh án ta phải đề cập đến các mục như :
• Bệnh hiện đang điều trị (‘presentcomplaint’)
• Ngày nhập viện (‘date’)
• Tiền sử bệnh gia đình (‘fmhistory’)
• Dữ liệu ảnh trong quá trình điều trị (‘pictureurl’)
Bây giờ ta sẽ đi vào cụ thể ,xây dựng ra cơ sở dữ liệu chỉ ra ở trên bằng các lệnh
trong màn hình quản trị DOS:
Chúng ta sẽ bắt đầu MySQL bằng cách gõ vào dòng lệnh dưới đây:
Mysql – u root –p fake_password
Để tạo ra cơ sở dữ liệu có tên ‘rfid’ ta dung lệnh:
CREATE DATABASE RFID
Trước khi ta đi vào tạo một bảng dữ liệu, chúng ta phải lựa chọn cơ sở dữ liệu
sử dụng bằng lệnh sau:
USE RFID;
Bảng thông tin cá nhân và thông tin bệnh án sẽ được tạo ra thông qua các lệnh
dưới đây :
CREATE TABLE PERSONALDETAILS (
LASTNAME VARCHAR (50) NOT NULL,
FIRSTNAME VARCHAR(50) NOT NULL,
DATEOFBIRTH VARCHAR(20) NOT NULL,
ADDRESS VARCHAR(100) NOT NULL,
PHONE VARCHAR(15) NOT NULL,

84
PATIENTID VARCHAR(8) NOT NULL,
PRIMARY KEY(PATIENTID) );

CREATE TABLE MEDICALINFO (


PRESENTCOMPLAINT TEXT,
FMHISTORY TEXT NOT NULL,
PICTUREURL VARCHAR(100),
DATE VARCHAR(30) NOT NULL,
ID VARCHAR(8) NOT NULL,
PRIMARY KEY(ID) );

Như vậy cơ sở dữ liệu ‘rfid’ đã sẵn sàng cho chúng ta sử dụng trong ứng dụng .

2.3.3 Giao tiếp với cơ sở dữ liệu


Ta sẽ sử dụng ngôn ngữ PHP để tương tác với cơ sở dữ liệu MySQL và để tự
động sinh ra các trang web động phù hợp.Trong ứng dụng này, PHP được sử dụng
với các chức năng là:
• Cập nhật cơ sở dữ liệu bệnh nhân do bác sĩ gửi lên.
• Sinh ra các trang web động để hiển thị thông tin về một bệnh nhân.
Ở đây ta sẽ chỉ ra một số thao tác cơ bản với cơ sở dữ liệu trong php.Đó là các
thao tác lấy thông tin về từ cơ sở dữ liệu,và thao tác cập nhật mới lên cơ sở dữ
liệu.Có một điều cần chú ý ở đây là, số ID dùng để truy nhập vào cơ sở dữ liệu
chính là mã số thẻ mà ta có được ở các khâu trước trong giao diện C#. Sau đó ta có
thể thực hiện truyền biến chứa giá trị mã thẻ đó đến trang php hay trang html cần
thiết bằng lệnh đơn giản sau:

UrlString=http://localhost/updatepersonal_process.php + ”?” +
“number=” +TagNum
Khi đó trong trang updatepersonal_process.php ta có thể lấy giá trị biến chứa
giá trị mã thẻ như sau:
//Get the patient tag number from the URL
$id = $_GET['number'];

Để hiển thị ta phải thực hiện hai việc.Một là, thực thi câu lệnh sql để lấy về các
thông tin cần thiết của một bệnh nhân. Hai là, xây dựng một trang web động để hiển
thị kết quả như dưới đây:

85
//Display patient's lastname
$sql = "SELECT lastname FROM PersonalDetails where id = '$id'";
$result = mysql_query($sql) or die("Debug: Couldn't execute query");
$row = mysql_fetch_array($result);
echo "<h2>Lastname:</h2> <h3>{$row['lastname']}</h3><br>";
//Display patient's firstname
$sql = "SELECT firstname FROM PersonalDetails where id = '$id'";
$result = mysql_query($sql) or die("Debug: Couldn't execute query");
$row = mysql_fetch_array($result);
echo "<h2>Firstname:</h2> <h3>{$row['firstname']}</h3><br>";

//Display patient's address


$sql = "SELECT address FROM PersonalDetails where id = '$id'";
$result = mysql_query($sql) or die("Debug: Couldn't execute query");
$row = mysql_fetch_array($result);
echo "<h2>Address:</h2> <h3>{$row['address']}</h3><br>";

Còn để thực hiện thao tác cập nhật cơ sở dữ liệu ,đầu tiên ta phải lấy về giá trị
các biến từ các form nhập trong trang HTML gửi lên máy chủ.Ví dụ, ở đây ta sẽ lấy
giá trị các biến từ trang html nhập thông tin cá nhân do bác sĩ nhập vào và gửi lên
máy chủ như sau:

//The request function retrieves the variables posted from the previous
$firstname = $_REQUEST['firstname'];
$lastname = $_REQUEST['lastname'];
$address = $_REQUEST['address'];
$phone = $_REQUEST['phone'];
Sau đó là lệnh thực hiện cập nhật vào bảng dữ liệu ‘PersonalDetail’ của cơ sở
dữ liệu ‘rfid’:
$sql = "UPDATE PersonalDetails SET firstname= '$firstname', lastname =
'$lastname', address = '$address',phone = '$phone' WHERE id = '$id'";
$result=mysql_query($sql);

86
2.3.4 Quản lý kết nối USB giữa reader và máy tính
Phần quản lý kết nối USB giữa reader và máy tính, ta sẽ tích hợp nó vào bên
trong phần mềm quản lý của ta ở trên. Chỉ đơn giản là ta sẽ thực hiện gọi các hàm
giao tiếp với thiết bị ngoại vi , mà hãng Microsoft đã cung cấp sẵn trong các lớp thư
viện WINDOWS API của hệ điều hành windows. Bây giờ ta sẽ đi tìm hiểu qua về
chúng.
API bao gồm các hàm, các thông báo, các cấu trúc dữ liệu, các kiểu dữ liệu, mà
chúng ta có thể sử dụng để tạo ra các ứng dụng chạy trên hệ điều hành Windows.
Các phần của API mà ta hay sử dụng nhất , đó là các mã phục vụ cho việc gọi các
hàm API từ Windows. Cái này bao gồm, phần khai báo các thủ tục, phần định nghĩa
các kiểu dữ liệu của người dùng, và phần khai báo các hằng số.
Trước khi một ứng dụng có thể trao đổi dữ liệu với một HID, thì nó phải nhận
dạng được thiết bị và lấy được các thông tin về các report của thiết bị đó. Đầu tiên
ứng dụng sẽ tìm ra các HID được gắn vào hệ thống là gì. Sau đó, nó kiểm tra thông
tin về mỗi HID đó cho đến khi nó tìm thấy được một trong các thuộc tính mong
muốn. Với các thiết bị truyền thống, ứng dụng có thể tìm kiếm các thông tin về mã
số nhà phát hành và mã số sản phẩm. Hoặc ứng dụng có thể tìm ra thiết bị đó là
thuộc kiểu HID đặc biệt nào, chẳng hạn như HID mouse hay là HID joystick. Sau
khi đã tìm ra được thiết bị, ứng dụng có thể trao đổi thông tin với thiết bị đó bằng
cách gửi hoặc nhận các report.
Dưới đây là bảng danh sách các hàm API được sử dụng để thiết lập liên lạc
thông tin và trao đổi dữ liệu với một HID.

Bảng2.2 Danh sách các hàm API dùng cho kết nối usb trong windows

Các hàm API DLL Mục đích


HidD_GetHidGuid hid.dll Lấy GUID cho lớp HID

SetupDiGetClassDevs setupapi.dll Trả về thông tin của một thiết


bị từ một tập hợp chứa tất cả
các thiết bị trong một lớp đặc
biệt.
SetupDiEnumDeviceInterfaces setupapi.dll Trả về thông tin một thiết bị
trong tập hợp thông tin thiết
bị.
CreateFile kernel32.dll Mở một kết nối truyền thông
tới thiết bị.

HidD_GetAttributes hid.dll Trả về mã số nhà sản xuất, mã


số sản phẩm, và số phiên bản
của sản phẩm.
HidD_GetPreparsedData hid.dll
HidP_GetCaps hid.dll Trả về một cấu trúc mô tả các
khả năng của thiết bị.
WriteFile kernel32.dll Gửi một report ở đầu ra tới

87
thiết bị.
ReadFile kernel32.dll Đọc một report đầu vào từ
thiết bị.
HidD_SetFeature hid.dll Gửi một Feature report tới
thiết bị.
HidD_GetFeature hid.dll Đọc một Feature report từ
thiết bị.
CloseHandle kernel32.dll

2.4 Kết Luận

Như vậy ở chương này chúng ta đã đi thiết kế một hệ thống quản lý bệnh nhân bằng
công nghệ RFID hoàn chỉnh một cách chi tiết từ việc thiết kế reader đến thiết kế
phần mềm chạy trên máy tính. Ở đây tôi xin phép được lưu ý rằng, trong quá trình
thiết kế chúng ta cần đặc biệt chú ý tới anten cho reader. Tuy cách chế tạo nó khá
đơn giản, chỉ là quấn dây đông theo một hình tròn, hay hình vuông,...Nhưng nếu
tính toán sai dẫn đến sai số quá lớn , có thể khiến cho reader không thể đọc được
thẻ. Vì vậy khi chế tạo anten cần có các máy đó cần thiết để biết được một cách
chính nhất có thể giá trị độ tự cảm của cuộn dây anten.

88
TÀI LIỆU THAM KHẢO

[1] Sandip Lahiri, RFID Sourcebook. Upper Saddle River, NJ: Prentice Hall PTR,
2005.
[2] Himanshu Bhatt, Bill Glover, RFID Essentials. Sebastopol, CA: O'Reilly, 2006.
[3] Patrick J.Sweeney II, RFID For Dummies. Hoboken, NJ: Wiley, 2005.
[4] V.Daniel Hunt, Albert Puglia, Mike Puglia, RFID A Guide To Radio Frequence
Identification. Hoboken, NJ: Wiley, 2007.
[5] Frank Thornton, Brad Haines, Anand M Das, Hersh Bhargava, RFID Security.
Rockland, Massachusetts: Syngress Publishing, 2006.
[6] http://www.rfdesignline.com/howto/202101579 ,truy nhập cuối cùng ngày
10/5/2010.
[7] http://www.usb.org/ ,truy nhập cuối cùng ngày 10/5/2010.
[8] http://www.emmicroelectronic.com/Line.asp?IdLine=3/,truy nhập cuối cùng
ngày 1/5/2010.
[9] http://wikipedia.org/ ,truy nhập cuối cùng ngày 10/5/2010.
[10] http://www.microchip.com/ ,truy nhập cuối cùng ngày 10/5/2010.
[11] http://www.mysql.com/ ,truy nhập cuối cùng ngày 10/4/2010.
[12] http://php.net/index.php/ ,truy nhập cuối cùng ngày 12/4/2010.
[13] http://msdn.microsoft.com/en-us/vcsharp/default.aspx,truy nhập cuối cùng
ngày 12/4/2010.

89
BẢNG ĐỐI CHIẾU CÁC THUẬT NGỮ VIỆT- ANH

Khả năng đánh địa chỉ Addressability


Dòng điện xoay chiều Alternating Current
Điều chế biên độ Amplitude Modulation
Khóa dịch biên Amplitude Shift Key
Các tiêu chuẩn cỡ dây của Hoa Kỳ American Wire Gauge
Giao diện lập trình ứng dụng Application Programming Interface
Tán xạ ngược Backscatter
Mã vạch Bar Code
Hai pha Biphase
Thẻ chặn (được sử dụng các thẻ Blocker Tag
RFID khác)
Đốt cháy (để thao tác ghi lên chip) Burn
Phân cực tròn Circular Polarization
Khối tách xung Clock Extractor
Lớp Class
Một loại công nghệ để chế tạo vi Complementary Metal Oxide
mạch tích hợp Semiconductor
Sóng liên tục Continuous Wave
Kiểm tra độ dư vòng Cyclic Redundancy Check
Bộ mô tả Descriptor
Bộ mô tả thiết bị (usb) Descriptor Device
Bộ mô tả các báo cáo (usb) Descriptor Report
Bộ mô tả chuỗi (usb) Descriptor String
Bộ mô tả các giao diện (usb) Descriptor Interface
Bộ mô tả các đặc tính vật lý (usb) Descriptor physical
Lưỡng cực Dipole
Dòng điện một chiều Direct Current
Lưỡng cực đôi Dual Dipole
Công xuất bức xạ đẳng hướng Equivalent Isotropic Radiated
Power
Hiệu suất bức xạ Effective Radiated Power
Được lập trình sẵn bởi nhà sản xuất Factory Programmed

90
Phần mềm nhỏ được cài đặt trên vi Firmware
điều khiển để nó có thể chạy ngay
khi khởi động
Lưỡng cực gấp Folded Dipole
Điều chế tần số (hay Điều tần) Frequency Modulation
Khóa dịch tần Frequency Shift Key
Tốc độ đầy đủ (usb) Full Speed
Giao diện đồ họa người dùng Graphical User Interface
Tần số cao High Frequency
Thiết bị giao tiếp với con người Human Interface Device
Thiết bị chuột được hỗ trợ bởi lớp HID Mouse
HID
Thiết bị cần điều khiển được hỗ trợ HID HID Joystick
bởi lớp
Danh mục Item
Phân cực tuyến tính Linear Polarization
Mạng nội bộ Local Area Network
Tần số thấp Low Frequency
Tốc độ thấp (usb) Low Speed
Phần mềm chịu trách nhiệm kết nối Midleware
phần cứng RFID vào hệ thống
Điều biên Modulator
Khóa on – off On Off Keying
Mạng cá nhân Personal Area Network
Vòng khóa pha Phase Locked Loop
Điều chế pha Phase Modulation
Khóa dịch pha Phase Shift Key
Cắm là chạy (usb) Plug And Play
Phân cực Polarization
Điều khiển / chỉnh lưu nguồn Power control/rectifier
Bảng mạch in Printed circuit board
Mã số sản phẩm Product
Mã hóa khoảng xung Pulse Interval Encoding
Nhận dạng tần số vô tuyến Radio Frequency Identification
Thiết bị đọc thẻ Reader
Bộ nhớ chỉ đọc Read Only Memory
Chỉ đọc Read Only
Đọc – ghi Read -Write
Thiết bị đọc thẻ nhanh lẹ Reader Agile

91
Hệ thống quản lý dữ liệu cơ sở Relational Database Management
(trong hệ điều hành windows) System
Đoạn thông tin Segment
Giao thức quản lý mạng đơn giản Simple Network Management
Protocol
Phân lớp Subclass
Đa truy nhập phân chia theo thời Time Division Multiple Access
gian
Máy phát tín hiệu Transmitter
Bộ phát đáp Transponder
Tần số siêu cao Ultra High Frequency
Buýt nối tiếp đa năng Universal Serial Bus
Mã số thế hệ sản phẩm Version
Mã số nhà sản xuất Vendor
Bộ dao động được khống chế bằng Voltage Controlled Oscillator
điện áp
Mạng không dây Wireless
Ghi một lần – đọc nhiều lần Write Once - Read Many
Anten lưỡng cực gấp 2 dây 2-Wire Folded Dipole Antenna
Anten lưỡng cực gấp 3 dây 3-Wire Folded Dipole Antena

92
PHỤ LỤC A : MỘT SỐ MÃ NGUỒN

Trong phần phụ lục này tôi chỉ xin phép trích dẫn một số phần mã nguồn
chương trình quan trọng. Trong đó phải kể đến là phần mã điều khiển đọc thẻ
EM4100 và descriptor mô tả thiết bị trong kết nối USB. Đó là hai tệp em4100.c và
usb_descriptor.h

Em4100.c :

// Purpose: Reads the ID number and data number


// Inputs: A pointer to a 5 byte array to fill
// * The first byte will have the ID
// * The last 4 bytes will have the data
// Outputs: TRUE if read successful, FALSE if read failed
int1 read_em4100(int8* data)
{
int8 i;

RF_get(sizeof(RFbuffer)*8, TRUE); // Fill the buffer with data

for(i=0; i<2; ++i)


{
while(!END_OF_RFBUFFER)
{
if(header_search_em4100()) // Try to find 9 consecutive 1s
{
if(decode_data_em4100(data)) // Try to decode the data after the header
{
RFbuffer_fill(0xAA); // Prevents false detection
return TRUE; // Return sucessful read
}
}
}
RFbuffer_invert(); // Invert the buffer because the
} // Manchester encoded data could have
// been read starting at the wrong edge

RFbuffer_fill(0xAA); // Prevents false detection


return FALSE; // Return error
}

93
// Purpose: Search for the header consisting of 9 ones
// Inputs: None
// Outputs: TRUE if the header was found, FALSE if it was not found
int1 header_search_em4100()
{
int bitCounter = 0;

// Loops until 9 consecutive 1s are found


// or the end of the receive buffer is reached
while(!END_OF_RFBUFFER)
{
if(RFbuffer_getBit() == 1)
{
if(++bitCounter == 9)
{
return TRUE;
}
}
else
{
bitCounter = 0;
}
}

return FALSE;
}

// Purpose: Decodes the ID number and data number


// Inputs: A pointer to a 5 byte array to fill
// * The first byte will have the ID
// * The last 4 bytes will have the data
// Outputs: TRUE if read successful, FALSE if read failed
int1 decode_data_em4100(int8* data)
{
int1 bit = 0;
int8 count = 1;
int1 parity = 0;
int1 colParity1 = 0;
int1 colParity2 = 0;

94
int1 colParity3 = 0;
int1 colParity4 = 0;

// Loop until 40 bits of data and 10 bits of parity are received


for(count=1; count <= 50; ++count)
{
bit = RFbuffer_getBit();
if(END_OF_RFBUFFER)
{
return FALSE;
}

if(count % 5 == 0)
{
// Check for row parity
if(parity != bit)
{
return FALSE;
}
parity = 0;
}
else
{
// Store a bit of data
shift_right(data, 5, bit);

// Calculate row parity


parity ^= bit;

// Calculate column parity


switch (count % 5)
{
case 1: colParity1 ^= bit; break;
case 2: colParity2 ^= bit; break;
case 3: colParity3 ^= bit; break;
case 4: colParity4 ^= bit; break;
}
}
}

95
// Check for column parity
if(colParity1 != RFbuffer_getBit() || colParity2 != RFbuffer_getBit() ||
colParity3 != RFbuffer_getBit() || colParity4 != RFbuffer_getBit() )
{
return FALSE;
}

// Check for stop bit


if(RFbuffer_getBit() != 0)
{
return FALSE;
}

// Prevents reading all zeros for customer ID and tag ID


for(count=0; count<5 && data[count] == 0; ++count);
if(count == 5)
{
return FALSE;
}

// Return TRUE if no errors in decoding received transponder data


return TRUE;
}

Usb_descriptor.h :

//////////////////////////////////////////////////////////////////
///
/// start config descriptor
/// right now we only support one configuration descriptor.
/// the config, interface, class, and endpoint goes into this array.
///
//////////////////////////////////////////////////////////////////
#DEFINE USB_TOTAL_CONFIG_LEN 32 //config+interface+class+endpoint
//configuration descriptor
char const USB_CONFIG_DESC[] = {
//config_descriptor for config index 1
USB_DESC_CONFIG_LEN, //length of descriptor size
USB_DESC_CONFIG_TYPE, //constant CONFIGURATION (0x02)

96
USB_TOTAL_CONFIG_LEN,0, //size of all data returned for this config
1, //number of interfaces this device supports
0x01, //identifier for this configuration. (IF we had more than one
configurations)
0x00, //index of string descriptor for this configuration
0xC0, //bit 6=1 if self powered, bit 5=1 if supports remote wakeup (we
don't), bits 0-4 reserved and bit7=1
0x32, //maximum bus power required (maximum milliamperes/2) (0x32 =
100mA)
//interface descriptor 0 alt 0
USB_DESC_INTERFACE_LEN, //length of descriptor
USB_DESC_INTERFACE_TYPE, //constant INTERFACE (0x04)
0x00, //number defining this interface (IF we had more than one interface)
0x00, //alternate setting
2, //number of endpoints, not counting endpoint 0.
0xFF, //class code, FF = vendor defined
0xFF, //subclass code, FF = vendor
0xFF, //protocol code, FF = vendor
0x00, //index of string descriptor for interface
//endpoint descriptor
USB_DESC_ENDPOINT_LEN, //length of descriptor
USB_DESC_ENDPOINT_TYPE, //constant ENDPOINT (0x05)
0x81, //endpoint number and direction (0x81 = EP1 IN)
0x02, //transfer type supported (0 is control, 1 is iso, 2 is bulk, 3 is interrupt)
USB_EP1_TX_SIZE & 0xFF,USB_EP1_TX_SIZE >> 8, //maximum packet
size supported
0x01, //polling interval in ms. (for interrupt transfers ONLY)

//endpoint descriptor
USB_DESC_ENDPOINT_LEN, //length of descriptor
USB_DESC_ENDPOINT_TYPE, //constant ENDPOINT (0x05)
0x01, //endpoint number and direction (0x01 = EP1 OUT)
0x02, //transfer type supported (0 is control, 1 is iso, 2 is bulk, 3 is interrupt)
USB_EP1_RX_SIZE & 0xFF,USB_EP1_RX_SIZE >> 8, //maximum packet
size supported
0x01, //polling interval in ms. (for interrupt transfers ONLY)

};
//****** BEGIN CONFIG DESCRIPTOR LOOKUP TABLES ********
//since we can't make pointers to constants in certain pic16s, this is an offset table to find

97
// a specific descriptor in the above table.

//NOTE: DO TO A LIMITATION OF THE CCS CODE, ALL HID INTERFACES


MUST START AT 0 AND BE SEQUENTIAL
// FOR EXAMPLE, IF YOU HAVE 2 HID INTERFACES THEY MUST BE
INTERFACE 0 AND INTERFACE 1
#define USB_NUM_HID_INTERFACES 0
//the maximum number of interfaces seen on any config
//for example, if config 1 has 1 interface and config 2 has 2 interfaces you must define
this as 2
#define USB_MAX_NUM_INTERFACES 1

//define how many interfaces there are per config. [0] is the first config, etc.
const char USB_NUM_INTERFACES[USB_NUM_CONFIGURATIONS]={1};

#if (sizeof(USB_CONFIG_DESC) != USB_TOTAL_CONFIG_LEN)


#error USB_TOTAL_CONFIG_LEN not defined correctly
#endif
//////////////////////////////////////////////////////////////////
///
/// start device descriptors
///
//////////////////////////////////////////////////////////////////
//device descriptor
char const USB_DEVICE_DESC[] ={
USB_DESC_DEVICE_LEN, //the length of this report
0x01, //constant DEVICE (0x01)
0x10,0x01, //usb version in bcd
0x00, //class code (if 0, interface defines class. FF is vendor defined)
0x00, //subclass code
0x00, //protocol code
USB_MAX_EP0_PACKET_LENGTH, //max packet size for endpoint 0. (SLOW
SPEED SPECIFIES 8)
0xd8,0x04, //vendor id (0x04D8 is Microchip)
0x11,0x00, //product id
0x00,0x01, //device release number
0x01, //index of string description of manufacturer. therefore we point to
string_1 array (see below)
0x02, //index of string descriptor of the product
0x00, //index of string descriptor of serial number

98
USB_NUM_CONFIGURATIONS //number of possible configurations
};
//////////////////////////////////////////////////////////////////
///
/// start string descriptors
/// String 0 is a special language string, and must be defined. People in U.S.A. can leave
this alone.
///
/// You must define the length else get_next_string_character() will not see the string
/// Current code only supports 10 strings (0 thru 9)
///
//////////////////////////////////////////////////////////////////

//the offset of the starting location of each string.


//offset[0] is the start of string 0, offset[1] is the start of string 1, etc.
const char USB_STRING_DESC_OFFSET[]={0,4,12};

#define USB_STRING_DESC_COUNT sizeof(USB_STRING_DESC_OFFSET)

char const USB_STRING_DESC[]={


//string 0
4, //length of string index
USB_DESC_STRING_TYPE, //descriptor type 0x03 (STRING)
0x09,0x04, //Microsoft Defined for US-English
//string 1
8, //length of string index
USB_DESC_STRING_TYPE, //descriptor type 0x03 (STRING)
'B',0,
'M',0,
'E',0,
//string 2
46, //length of string index
USB_DESC_STRING_TYPE, //descriptor type 0x03 (STRING)
'D',0,
'a',0,
'T',0,
'a',0,
' ',0,
'T',0,
'r',0,

99
'a',0,
'n',0,
's',0,
'f',0,
'e',0,
'r',0,
' ',0,
'B',0,
'u',0,
'l',0,
'k',0,
' ',0,
'N',0,
'N',0,
'H',0,

};

100
PHỤ LỤC B: MỘT SỐ MẠCH HỮU ÍCH

Khi phát triển một ứng dụng trên bất cứ dòng vi điều khiển nào thì điều đầu tiên
là đều phải cần đến mạch nạp. Mạch nạp là một mạch thực hiện nhiệm vụ ghi
chương trình lên bộ nhớ của vi điều khiển. Nó thực hiện thao tác ghi thông qua tạo
ra các mức điện áp khác nhau. Với họ vi điều khiển PIC16 của hãng Microchip thì
mạch nạp được chế tạo khá đơn giản vì bộ nhớ cần ghi chương trình lên là bộ nhớ
flash . Vì vậy không cần dùng đến nguồn ở bên ngoài mà có thể sử dụng luôn mạch
nạp qua cổng COM (tức là dùng nguồn trực tiếp từ cổng COM máy tính). Các mạch
này khá đơn giản về mặt thiết kế , chế tạo. Nhưng với họ PIC18, bộ nhớ cần ghi
chương trình lên là bộ nhớ EEPROM nên phải cần mức điện áp khá cao mới có thể
ghi được. Vì vậy không thể dùng các mạch nạp qua cổng com. Mà phải dùng tới
mạch nạp có sử dụng nguồn từ bên ngoài , và truyền dữ liệu qua cổng máy in. Qua
quá trình tìm hiểu từ internet tôi đã quyết định sử dụng mạch nạp Schaer+ cho vi
điều khiển PIC18F2550 mà tôi đang sử dụng cho đò án này. Dưới đây tôi xin giới
thiệu qua về sơ đồ mạch nạp này:

101
Hình Mạch nạp Schaer+

Dưới đây là layout của sơ đồ mạch trên:

102
Còn dưới đây là Layout của mạch thiết bị đọc thẻ do tôi thiết kế:

Hình Layout mạch thiết bị đọc thẻ

PHỤ LỤC C : DOWNLOAD CÁC PHẦN MỀM CHO ỨNG DỤNG

103
Phần mềm quản lý được viết bằng Visual Csharp nên chỉ cần đóng gói lại thành
file tự chạy exe, khi đó chỉ cần môi trường windows là nó có thể chạy được dễ
dàng. Tuy nhiên cơ sở dữ liệu và các trang php không như vậy. Các trang php và cơ
sở dữ liệu được nhúng vào bên trong phần mềm quản lý .Muốn phần mềm làm việc
hiệu quả thì cần phải có một máy chủ được cài đặt webserver , php và cơ sở dữ liệu
Mysql. Hay nói một cách đơn giản hơn là , trên máy tính cài đặt phần mềm quản lý
đó , cần thiết phải cài đặt webserver, php và mysql. Dưới đây tôi xin chỉ ra địa chỉ
download các phần mềm đó.

Trước hết tần cần download về các phần mềm cần thiết :
• Webserver apache : download tại địa chỉ:
http://www.apache.org
• PHP : download tại địa chỉ :
http://www.php.net/
• MySQL : download tại địa chỉ :
http://dev.mysql.com/downloads/

Sau khi download ta được các file là : apache_2.0.50-win32-x86-no_ssl.msi ,


php-4.3.10-Win32.zip , mysql-4.0.18-win.zip.

104

You might also like