ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
------o0o------
ĐỖ HỮU ĐĨNH
TIẾP CẬN CÁC ỨNG DỤNG
GIAO THỨC TRUYỀN THÔNG KHÔNG DÂY MIWI PRO
Ngành: Công nghệ Điện tử-Viễn Thông
Chuyên ngành: Kỹ thuật Điện Tử
Mã số: 60 52 02 03
LUẬN VĂN THẠC SỸ CÔNG NGHỆ ĐIỆN TỬ-VIỄN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGÔ DIÊN TẬP
Hà Nội – Năm 2014
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
của Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào
khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ trong việc thực hiện Luận văn này đã
được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.
Hà Nội, ngày 20 tháng 7 năm 2014
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)
Đỗ Hữu Đĩnh
LỜI CẢM ƠN
Trước hết em xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS. Ngô Diên Tập, người
Thầy đã tận tình giúp đỡ, chỉ bảo và có những ý kiến đóng góp quý báu giúp em hoàn
thành khóa luận này, đặc biệt là trong phương pháp và tác phong làm việc. Em cũng
xin được bày tỏ lòng biết ơn tới các Thầy, Cô trong Khoa Điển tử-Viễn thông, Trường
ĐH Công nghệ, ĐH Quốc Gia Hà Nội đã tạo điều kiện thuận lợi cả về kiến thức lẫn
trang thiết bị cần thiết để cho em có thể hoàn thành khóa luận của mình. Đồng thời
cảm ơn gia đình và bạn bè đã động viên và giúp đỡ em trong quá trình thực hiện công
việc.
Với sự hiểu biết và kinh nghiệm làm việc ít ỏi trong lĩnh vực mạng – truyền thông
nên bản luận văn này không thể tránh khỏi những thiếu sót. Em rất mong nhận được
sự đóng góp ý kiến quý báu từ Thầy, Cô và bạn bè.
Một lần nữa, em xin chân thành cảm ơn!
Hà Nội, ngày 20 tháng 7 năm 2014
Học viên
Đỗ Hữu Đĩnh
MỞ ĐẦU
Ngày nay, nhờ sự phát triển của khoa học công nghệ và cả các điều kiện về kinh
tế - xã hội đã thúc đẩy và thực sự làm bùng nổ nhu cầu sử dụng máy móc thay thế các
công việc của con người. Sẽ không quá nếu nói máy móc đang thay thế con người ở
khắp mọi nơi trên quả đất này, từ các nhà máy, công trường sản xuất đến các cửa hàng,
trung tâm mua sắm - vui chơi giải trí, từ các cơ quan công sở đến nhà riêng và thậm
chí cả trong phòng ngủ của bạn. Tuy nhiên, dường như đã trở thành quy luật, khả năng
đáp ứng luôn thấp hơn so với nhu cầu và tham vọng của con người, khi người ta có
một thì gần như ngay lập tức họ sẽ nghĩ đến hai hoặc nhiều hơn. Với các thiết bị máy
móc cũng không là ngoại lệ. Máy móc thiết bị làm việc thay con người là tốt rồi nhưng
dây rựa lằng nhằng, vướng và rối nhiều lúc làm người ta điên tiết lên và muốn vứt nó
đi. Thế nên người ta nghĩ nhiều hơn đến việc làm cho các máy móc đó vẫn làm việc
được mà không cần dây. Đó là một trong những nguyên nhân và động lực quan trọng
để các ứng dụng không dây ra đời và phát triển mạnh mẽ như những năm gần đây.
Việc triển khai các ứng dụng với mạng không dây đã trở nên thực sự phổ biến.
Từ các thiết bị gia dụng đến các ứng dụng công nghiệp. Đặc biệt là trong lĩnh vực thiết
bị gia dụng khi người ta đang ngày càng tỏ ra lười biếng hơn nhưng lại đòi hỏi tiện
dụng hơn, an toàn hơn khi ở nhà. Từ đó thuật ngữ “Nhà thông minh” hay “nhà tự
động” cũng ra đời để mô tả những ngôi nhà với các thiết bị được tự động hóa và thông
minh.
Tuy nhiên, ở thời điểm hiện tại thì các giải pháp và thiết bị cho nhà thông minh
đang là vấn đề kỹ thuật khá mới và khó, đặc biệt là ở Việt Nam. Thêm vào đó, các sản
phẩm thương mại đang có trên thị trường, bao gồm cả giải pháp mạng không dây và
các loại thiết bị không dây, đều rất đắt đỏ so với mặt bằng kinh tế của người Việt Nam.
Có thể lấy ví dụ ngay là các sản phẩm SmartHome của BKAV đang chào bán ở các
khu dành cho người giàu như Time City, Vincom, v.v. Sự ham thích được sử dụng các
thiết bị tự động và giá thị trường đắt đỏ đã khiến tôi bắt tay vào nghiên cứu và sau đó
quyết định thực hiện đề tài về ứng dụng không dây này, với một giải pháp mạng không
dây còn tương đối mới là MiWi PRO của Microchip. Mục tiêu của đề tài là tìm ra một
giải pháp mạng không dây dễ tiếp cận và dễ làm, giá rẻ, nhưng vẫn tốt và sau đó tiến
hành chế tạo, thực thi thành công một vài ý tưởng tự động hóa thiết bị gia đình dựa
trên giải pháp được chọn.
MỤC LỤC
LỜI CAM ĐOAN ..............................................................................................................
LỜI CẢM ƠN ....................................................................................................................
MỞ ĐẦU ...........................................................................................................................
MỤC LỤC .........................................................................................................................
DANH MỤC BẢNG BIỂU...............................................................................................
DANH MỤC HÌNH VẼ ...................................................................................................
Phần 1: CƠ SỞ LÝ THUYẾT ........................................................................................ 1
Chương 1 .....................................................................................................................1
GIỚI THIỆU CÔNG NGHỆ KHÔNG DÂY ZIGBEE ...............................................1
1.1.
Tổng quan về Zigbee ...................................................................................1
1.2.
Tìm hiểu giao thức Zigbee ..........................................................................2
1.3.
Ưu nhược điểm của công nghệ Zigbee ...................................................... 12
Chương 2 ...................................................................................................................15
CÔNG NGHỆ KHÔNG DÂY MIWI........................................................................15
2.1. Tổng quan về MIWI ....................................................................................... 15
2.2. Tìm hiểu về giao thức MiWi PRO .................................................................18
Chương 3 ...................................................................................................................37
GIAO DIỆN LẬP TRÌNH CHO GIAO THỨC MIWI PRO ....................................37
3.1. Tìm hiểu chung về cấu hình giải pháp không dây của Microchip .................37
3.2. Giới thiệu giao diện chuẩn hóa MiMAC ........................................................ 38
3.3. Giới thiệu giao diện chuẩn hóa MiApp .......................................................... 48
Phần 2: THỰC NGHIỆM ............................................................................................ 58
Chương 4 ...................................................................................................................58
TRIỂN KHAI THIẾT KẾ MẠNG KHÔNG DÂY MIWI PRO ............................... 58
4.1. Ý tưởng thiết kế mạng không dây MiWi PRO ...............................................58
4.2. Sơ đồ khối hệ thống mạng MiWi PRO thử nghiệm .......................................58
4.3. Sơ đồ giải thuật điều khiển và thông báo trạng thái trong mạng....................59
4.4. Sơ đồ chi tiết và hoạt động của các nút trong mạng .......................................60
4.5. Chương trình chi tiết trên các nút mạng MiWi PRO......................................71
Chương 5 ...................................................................................................................74
KẾT QUẢ VÀ MỞ RỘNG ĐỂ TÀI .........................................................................74
5.1. Kết quả thực hiện đề tài ..................................................................................74
5.2. Hướng phát triển đề tài ...................................................................................79
KẾT LUẬN........................................................................................................................
TÀI LIỆU THAM KHẢO .................................................................................................
PHỤ LỤC ..........................................................................................................................
DANH MỤC BẢNG BIỂU
Bảng 1.1: Loại thiết bị chuẩn IEEE 802.15.4-2003
Bảng 1.2: Loại thiết bị giao thức Zigbee
Bảng 1.3: So sánh giữa các công nghệ không dây.
Bảng 2.1: Định dạng bit của trường điều khiển khung.
Bảng 2.2: Định dạng trường địa chỉ rút gọn.
Bảng 2.3: Địa chỉ truyền đa hướng, quảng bá.
Bảng 2.4: Bảng cây gia phả trong giao thức MiWi PRO.
Bảng 2.5: Các dịch vụ giao thức mới của giao thức MiWi PRO.
Bảng 2.6: Các dịch vụ giao thức mới cho tần số linh hoạt của MiWi PRO.
Bảng 2.7: Định dạng dịch vụ báo cáo điều phối.
Bảng 2.8: Định dạng dịch vụ giao thức đáp ứng điều phối.
Bảng 2.9: Định dạng của dịch vụ giao thức báo cáo cây gia phả.
Bảng 2.10: Định dạng dịch vụ giao thức Yêu cầu cây gia phả.
Bảng 2.11: Định dạng của dịch vụ giao thức Báo cáo bảng định tuyến.
Bảng 2.12: Định dạng dịch vụ giao thức Yêu cầu linh hoạt tần số.
Bảng 2.13: Định dạng dịch vụ giao thức Yêu cầu quét năng lượng.
Bảng 2.14: Định dạng dịch vụ giao thức Đề xuất kênh linh hoạt tần số.
Bảng 2.15: Định dạng dịch vụ giao thức Bác bỏ kênh linh hoạt tần số.
Bảng 2.16: Định dạng dịch vụ giao thức Thay đổi kênh linh hoạt tần số.
Bảng 2.17: Yêu cầu ROM và RAM cho thiết bị điều hành mạng MiWi PRO.
Bảng 2.18: Yêu cầu ROM và RAM cho thiết bị cuối trong mạng MiWi PRO.
Bảng 4.1: Bảng thông số của vi xử lý PIC18F46J50.
DANH MỤC HÌNH VẼ
Hình 1-1: Cấu hình mạng hình sao.
Hình 1-2: Cấu hình mạng hình khóm cây.
Hình 1-3: Mạng hình lưới.
Hình 1-4: Ví dụ 1 dòng trong bảng liên kết.
Hình 1-5: Ví dụ 1 dòng của bảng liên kết nhóm.
Hình 1-6: Cấu trúc ngăn xếp của giao thức Zigbee.
Hình 2-1: Sơ đồ phát triển ứng dụng MiWi.
Hình 2-2: Topo mạng hình sao của giao thức MiWi P2P.
Hình 2-3: Topo mạng dạng lưới của giao thức MiWi.
Hình 2-4: Topo mạng dạng lưới của giao thức MiWi PRO.
Hình 2-5: Định dạng khung của giao thức MiWi PRO.
Hình 2-6: Cơ chế định tuyến của giao thức MiWi PRO.
Hình 2-7: Quy trình gia nhập mạng MiWi PRO.
Hình 2-8: Sơ đồ quy trình thực hiện linh hoạt tần số.
Hình 3-1: Sơ đồ khối giải pháp không dây của Microchip.
Hình 4-1: Sơ đồ khối hệ thống mạng MiWi PRO
Hình 4-2: Sơ đồ giải thuật trong mạng MiWi PRO
Hình 4-3: Sơ đồ khối nút mạng chủ Miwi PRO
Hình 4-4: Sơ đồ nguyền lý nguồn nuôi và ổn áp cho nút mạng Miwi PRO
Hình 4-5: Sơ đồ nguyên lý nút mạng chủ Miwi PRO.
Hình 4-6: Sơ đồ nguyên lý nút mạng chủ Miwi PRO (tiếp).
Hình 4-7: Sơ đồ mạch in 4 lớp nút mạng chủ (lớp #1).
Hình 4-8: Sơ đồ mạch in 4 lớp nút mạng chủ (lớp #2).
Hình 4-9: Sơ đồ mạch in 4 lớp nút mạng chủ (lớp #3).
Hình 4-10: Sơ đồ mạch in 4 lớp nút mạng chủ (lớp #4).
Hình 4-11: Sơ đồ khối nút chấp hành
Hình 4-12: Sơ đồ nguyên lý nút chấp hành Miwi PRO.
Hình 4-13: Sơ đồ mạch in nút mạng Miwi PRO.
Hình 4-14: Sơ đồ khố module điều khiển tải và đo dòng.
Hình 4-15: Sơ đồ nguyên lý mạch đóng mở tải xoay chiều.
Hình 4-16: Sơ đồ nguyên lý module đọc phím cảm ứng điện dung.
Hình 4-17: Mạch PCB module phím bấm cảm ứng sử dụng IC TTP229.
Hình 4-18: Chương trình cho nút chủ mạng MiWi PRO.
Hình 4-19: Chương trình cho nút con.
Hình 4-20: Chương trình cho nút đọc phím bấm cảm ứng.
Hình 5-1: Hệ thống mạng và thiết bị chấp hành khi chưa hoạt động
Hình 5-2: Điều khiển bật đèn số 1 qua mạng không dây MiWi PRO
Hình 5-3: Điều khiển bật đèn số 2 qua mạng không dây MiWi PRO
Hình 5-4: Điều khiển bật đèn cả 2 đèn qua mạng không dây MiWi PRO
---------------------------------
Phần 1: CƠ SỞ LÝ THUYẾT
Chương 1
GIỚI THIỆU CÔNG NGHỆ KHÔNG DÂY ZIGBEE
1.1.
Tổng quan về Zigbee
Zigbee là một quy chuẩn cho các giao thức truyền thông cấp cao sử dụng các
thiết bị thu phát nhỏ, công suất thấp dựa trên chuẩn IEEE 802.15.4 dành cho các mạng
cá nhân (Personal Area Network - PAN). Các thiết bị Zigbee thường được sử trong các
mạng dạng lưới (mesh network) cho phép truyền dữ liệu xa hơn và trực tiếp giữa các
thiết bị trong mạng. Nó cho phép các mạng Zigbee được tạo lập theo kiểu Ad-hoc, một
dạng mạng không dây phi tập trung hóa điều khiển, không một thiết bị truyền nhận
nào có khả năng tương tác với tất cả các thiết bị trong mạng và bất cứ thiết bị nào cũng
có thể được sử dụng để vận hành mạng.
Zigbee được nhắm đến dành cho các ứng dụng yêu cầu tốc độ dữ liệu thấp, công
suất nhỏ và mạng được bảo mật. Zigbee có một tốc độ định nghĩa 250 kbit/s, phù hợp
nhất cho việc truyền nhận tín hiệu cả định kỳ lẫn đứt đoạn, hoặc một tín hiệu đơn
hướng từ các cảm biến hoặc thiết bị đầu vào. Các ứng dụng này có thể bao gồm các
công tắc đèn không dây, các đồng hồ điện tử hiển thị trong nhà, các hệ thống quản lý
giao thông và cả các ứng dụng công nghiệp yêu cầu việc truyền phát dữ liệu không dây
trong phạm vi nhỏ và ở tốc độ tương đối thấp.
Zigbee cung cấp cho các nhà phát triển một cách tổ chức mạng không dây đơn
giản hơn và rẻ tiền hơn so với các loại mạng không dây cá nhân (Wireless Personal
Area Network – WPAN) trước nó như Blue-tooth và Wi-Fi. Nó hoạt động trong các
băng tần ISM (Industrial, Scientific and Medical) bao gồm 868MHz ở Châu Âu,
915MHz ở Mỹ và 2.4GHz hầu như trên toàn thế giới. Tốc độ truyền dữ liệu trong
mạng Zigbee thay đổi từ 20kbit/s ở tần số 868MHz đến 250kbit/s ở tần số 2.4GHz.
Nói tóm lại, Giao thức ZigBee là một giao thức mạng không dây được phát triển
đặc biệt cho các mạng cảm biến và điều khiển dữ liệu tốc độ thấp, giá thành rẻ và công
suất tiêu thụ thấp. Rất nhiều các ứng dụng không dây được hưởng lợi từ ZigBee có thể
kể đến như điều khiển công nghiệp, ưng dụng tự động trong các gia đình và tòa nhà,
ngoại vi máy tính, các ứng dụng cảm biến y tế, các mạng bảo mật và không chỉ dừng
lại ở đó. Để tìm kiếm một giải pháp thay thế cho các công nghệ điều khiển mạng hiện
có như RS-422, RS-485 hoặc các giao thức không dây trả phí, ZigBee có lẽ sẽ là giải
pháp chúng ta cần đến.
1
1.2.
Tìm hiểu giao thức Zigbee
Như đã nói ở trên, Zigbee là một giao thức mạng không dây tiêu chuẩn dành cho
các mạng điều khiển dữ liệu tốc độ thấp. Zigbee được phân lớp ở trên đỉnh của bộ tiêu
chuẩn IEEE 802.15.4 và cung cấp phương pháp học tiêu chuẩn cho việc thực thi các
chức năng trong mạng như thiết lập mạng, cấp phát địa chỉ cho các thiết bị, định tuyến,
truyền tải bản tin và dò tìm thiết bị trong mạng.
1.2.1. Tiêu chuẩn IEEE 802.15.4-2003
Giao thức Zigbee sử dụng đặc tả của chuẩn IEEE 802.15.4-2003 như lớp điều
khiển truy cập (Medium Access Layer – MAC) và lớp vật lý (Physical Layer – PHY)
của nó. Tiêu chuẩn IEEE 802.15.4-2003 định nghĩa 3 dải tần hoạt động là 2.4GHz, 915
MHZ và 868 MHz. Mỗi dải tần chứa một số lượng kênh nhất định, ví dụ dải tần 2.4
GHz có 16 kênh (từ kênh 11-26), dải tần 915 MHz có 10 kênh (từ 1-10) và dải tần 868
MHz có duy nhất 1 kênh (kênh 0). Tốc độ bit (bit rate) của giao thức phụ thuộc vào tần
số hoạt động của nó. Ở tần số 2.4 GHz, tốc độ bit có thể lên tới 240 kbps, tần số 915
MHz cho tốc độ 40 kbps và tần số 868 MHz cho tốc độ dữ liệu 20 kbps. Tuy nhiên, tốc
độ dữ liệu thực sẽ nhỏ hơn tốc độ bit tối đa quy định do thất thoát gói tin và trễ xử lý.
Độ dài tối đa của 1 gói MAC chuẩn IEEE 802.15.4-2003 là 127 bytes, trong đó
có 16 bit mã dư thừa CRC. Giá trị của 16 bit mã CRC sẽ kiểm tra tính toàn vẹn của
khung dữ liệu. Thêm vào đó, IEEE 802.15.4-2003 có thể sử dụng một cơ chế truyền
dữ liệu có nhận biết. Có nghĩa là tất cả các khung dữ liệu có gắn một cờ đặc biệt yêu
cầu xác nhận được xác nhận bởi bên nhận của khung dữ liệu đó. Nó đảm bảo là khung
dữ liệu đã thực sự được truyền đến bên nhận. Nếu một khung dữ liệu được truyền đi có
gắn cờ yêu cầu xác nhận mà không nhận được xác nhận trong một khoảng thời gian
nhất định thì bên phát sẽ thử truyền lại một số lần nhất định trước khi đưa ra bản tin
lỗi. Cũng cần phải chú ý là việc nhận được tín hiệu xác nhận chỉ đơn giản nói lên là
khung dữ liệu đã được nhận đúng cách bởi lớp MAC. Tuy nhiên nó không đảm bảo là
khung dữ liệu được xử lý đúng. Có thể lớp MAC của nút nhận nhận và xác nhận
khung dữ liệu đúng nhưng do thiếu tài nguyên để xử lý nên khung dữ liệu đó có thể bị
hủy bỏ ở các lớp cao hơn. Như thế, các lớp cao hơn sẽ yêu cầu có thêm trả lời xác
nhận từ bên nhận.
1.2.2. Loại thiết bị
Về loại thiết bị, chuẩn IEEE 802.15.4-2003 quy định 2 loại thiết bị chính đó là
thiết bị tính năng đầy đủ (Full Function Device – FFD) và thiết bị tính năng rút gọn
(Reduced Function Device – RFD). Các tính năng của 2 loại thiết bị này như sau:
2
Bảng 1.1: Loại thiết bị chuẩn IEEE 802.15.4-2003
Loại Thiết bị
Tính năng cung cấp
Nguồn điện
Cấu hình bộ thu
điển hình
điển hinh
FFD
Đầy đủ
Nguồn điện chính
Bật khi rảnh
RFD
Giới hạn
Pin
Tắt khi rảnh
Với Giao thức Zigbee thì có 3 loại thiết bị điển hình bắt nguồn từ các kiểu thiết bị của
chuẩn IEEE 802.15.4-2003, 3 loại thiết bị và tính năng của chúng như sau:
Bảng 1.2: Loại thiết bị giao thức Zigbee
Thiết bị Zigbee
Loại thiết bị IEEE
Tính năng điển hình
Coordinator (điều phối)
FFD
Mỗi mạng chỉ có 1. Tạo lập mạng, cấp phát địa
chỉ, cho phép thiết bị khác gia nhập mạng
Router (định tuyến)
FFD
Tùy chọn. Mở rộng phạm vi vật lý của mạng.
Cho phép thêm nhiều nút gia nhập mạng. Cũng
có thể thực hiện các chức năng kiểm soát và
điều phối.
End (thiết bị cuối)
FFD hoặc RFD
Thực hiện các tính năng điều phối và/hoặc kiểm
soát.
1.2.3. Cấu hình mạng
Mạng không dây giao thức Zigbee có thể chấp nhận nhiều kiểu cấu hình mạng
khác nhau. Trong tất cả các cấu hình mạng thì đều bao gồm tối thiểu 2 bộ phận chính
là:
-
Một nút điều phối
-
Một thiết bị cuối
Nút điều phối giao thức Zigbee là một dạng biến đổi đặc biệt của thiết bị tính
năng đầy đủ (FFD) mà nó triển khai một tập lớn hơn các dịch vụ của giao thức Zigbee.
Một thiết bị cuối có thể là một thiết bị tính năng đầy đủ (FFD), như 1 Router, hoặc một
thiết bị tính năng rút gọn (RFD). Thiết bị RFD là nút nhỏ nhất và đơn giản nhất trong
giao thức Zigbee. Nó thực thi chỉ 1 lượng tối thiểu các dịch vụ của giao thức Zigbee.
Một bộ phận thứ 3 (không bắt buộc) đó là bộ định tuyến giao thức Zigbee, có mặt
trong một số cấu hình mạng.
3
1.2.3.1.
Mạng hình sao
Mạng hình sao (Star Network) bao gồm một nút điều phối giao thức Zigbee và
một hoặc nhiều thiết bị cuối. Trong mạng hình sao, tất cả các thiết bị cuối chỉ giao tiếp
với nút điều phối. Nếu một thiết bị cuối cần truyền dữ liệu tới một thiết bị cuối khác
thì nó phải gửi dữ liệu tới nút điều phối. Nút điều phối sau đó sẽ chuyển tiếp dữ liệu
tới thiết bị cuối mong muốn.
Hình 1-1: Cấu hình mạng hình sao.
1.2.3.2.
Mạng hình khóm cây
Một cấu hình mạng khác là mạng hình khóm cây (Cluster Tree Topology, hình 12). Trong cấu hình này, các thiết bị cuối tham gia hoặc cùng với nút điều phối giao
thức Zigbee hoặc cùng với bộ định tuyến giao thức Zigbee. Bộ định tuyến thực hiện 2
chức năng. Một là tăng số lượng nút có thể tham gia vào mạng. Hai là mở rộng phạm
vi vật lý của mạng. Với một bộ định tuyến được them vào, thiết bị cuối không cần nằm
trong vùng phủ sóng của nút điều phối mạng. Tất cả các bản tin trong mạng hình khóm
cây được định tuyến dọc theo cây.
Hình 1-2: Cấu hình mạng hình khóm cây.
4
1.2.3.3.
Mạng hình lưới
Một mạng hình lưới (Mesh network, hình 1-3) tương tự như mạng hình khóm
cây, ngoại trừ việc các thiết bị FFD có thể định tuyến bản tin trực tiếp đến các thiết bị
FFD khác thay vì theo cấu trúc của cây. Tuy nhiên các bản tin tới các thiết bị cuối
RFD vẫn phải đi qua thiết bị cha của nó. Ưu điểm của kiểu bố trí mạng này là trễ bản
tin có thể giảm bớt và độ tin cậy cao.
Hình 1-3: Mạng hình lưới.
Mạng hình lưới và mạng hình khóm cây đều được biết đến là các mạng đa bước nhảy
vì chúng có khả năng định tuyến các gói tin qua nhiều thiết bị. Trong khi mạng hình
sao là mạng đơn bước. Một mạng theo giao thức Zigbee là mạng đa truy cập, có nghĩa
là tất cả các nút trong mạng đều có quyền truy cập ngang nhau tới kênh giao tiếp.
1.2.4. Cơ chế truy cập
Có 2 kiểu cơ chế đa truy cập: định hướng và không định hướng. Trong một mạng
không định hướng, tất cả các nút được phép truyền tải dữ liệu ở bất kỳ thời điểm nào
kênh rỗi. Trong khi đó ở một mạng định hướng, các nút được phép truyền chỉ trong
một khoảng thời gian định trước. Nút điều phối sẽ truyền định kỳ một siêu khung
(superframe) được xác định như một khung định hướng và tất cả các nút trong mạng
được yêu cầu đồng bộ với khung này. Mỗi nút được cung cấp một khe thời gian nhất
định trong superframe mà trong khoảng thời gian đó cho phép nó truyền và nhận tín
hiệu của nó. Một superframe có thể bao gồm một khe thời gian chung trong đó tất cả
các nút cạnh tranh để truy cập kênh. Tuy nhiên phiên bản hiện tại của Microchip
Zigbee stack chỉ hỗ trợ các mạng không định hướng.
5
1.2.4.1.
Cơ chế giao tiếp bằng bản tin
Các thiết bị trong mạng giao tiếp với nhau sử dụng các bản tin. Nếu một thiết bị
biết địa chỉ mạng của một thiết bị khác mà nó muốn giao tiếp, nó sẽ gửi đi một bản tin
sử dụng địa chỉ mạng của thiết bị đích. Kiểu giao tiếp qua bản tin này được gọi là định
địa chỉ trực tiếp. Mặc dù kiểu định địa chỉ trực tiếp này dễ hiểu và dễ sử dụng nhưng
nó cũng đi cùng với một số những phát sinh. Đầu tiên mỗi thiết bị được yêu cầu dò tìm
và lưu trữ thông tin về địa chỉ của các thiết bị đích nó quan tâm.
Giao thức Zigbee cũng cung cấp một cách nữa để gửi bản tin thông qua một cơ
chế gọi là liên kết. Khi một thiết bị hỗ trợ việc liên kết, nó nắm giữ một bảng liên kết
mà trong đó mỗi một dòng sẽ chứa địa chỉ đích và điểm cuối ứng dụng đích của một
thiết khác mà thiết bị nguồn được kết nối tới. Hình 1-4 mô tả các loại thông tin được
lưu giữ trong bảng liên kết.
Hình 1-4: Ví dụ 1 dòng trong bảng liên kết. [5]
Bất cứ khi nào một thiết bị nguồn muốn giao tiếp với một thiết bị mà nó liên kết,
đơn giản nó chỉ cần tạo ra các bản tin mà không cần chỉ định địa chỉ đích nữa. Trong
nội bộ của ngăn xếp (Stack) và là rõ ràng với ứng dụng, bảng liên kết được tìm kiếm
và nếu một kết quả trùng khớp được tìm thấy chứa địa chỉ đích và điểm cuối ứng dụng
thì sau đó địa chỉ đích sẽ được trích xuất từ bảng này và ghi thêm vào cuối của bản tin
trước khi bản tin được truyền đi.
1.2.4.2.
Định dạng bản tin của giao thức Zigbee
Bản tin của giao thức Zigbee có thể lên tới 127 bytes bao gồm các trường sau:
-
Tiêu đề MAC (MAC Header): Tiêu đề MAC chứa các trường điều khiển khung
MAC, số chuỗi định hướng và thông tin định địa chỉ bản tin khi nó được truyền đi.
Chú ý là nó không cho biết địa chỉ nguồn thực và đích đến cuối cùng của bản tin
nếu bản tin đang được định tuyến. Việc tạo lập và sử dụng tiêu đề này là rõ ràng
với ứng dụng.
-
Tiêu đề lớp mạng (Network Layer (NWK) Header): Tiêu đề này chứa thông tin
về địa chỉ nguồn và đích thực sự của bản tin cùng với 1 số thông tin khác. Việc tạo
lập và sử dụng tiêu đề này là rõ ràng với ứng dụng.
-
Tiêu đề lớp phụ hỗ trợ ứng dụng ( Application Support (APS) sub-layer
Header): Tiêu đề này chứa đựng mã căn cước của đặc tả ứng dụng, mã khóm
6
thuộc tính và điểm cuối ứng dụng đích của bản tin hiện tại. Việc tạo lập và sử dụng
tiêu đề này là rõ ràng với ứng dụng.
-
Tải của lớp hỗ trợ ứng dụng (APS Payload): Trường này chứa khung giao thức
Zigbee để ứng dụng xử lý. Chương trình của ứng dụng chịu trách nhiệm điền các
giá trị vào trường tải APS này.
1.2.4.3.
Định dạng khung giao thức Zigbee
Mỗi đặc tả ứng dụng chịu trách nhiệm định nghĩa định dạng khung cho mỗi loại
bản tin nó hỗ trợ.
1.2.4.4.
Đánh địa chỉ
Mỗi nút trên mạng giao thức Zigbee sẽ có 2 địa chỉ: một địa chỉ MAC 64 bit và
một địa chỉ mạng 16 bit. Tương ứng cũng tồn tại 2 dạng đánh địa chỉ bản tin.
Địa chỉ MAC 64 bit của mỗi thiết bị là duy nhất trên toàn thế giới. Địa chỉ này
được tạo thành bởi 24 bit mã duy nhất xác định tổ chức (Organizationally Unique
Identifier - OUI) và 40 bit mã duy nhất xác định thiết bị được gán bởi nhà sản xuất. Do
đó 64 bit địa chỉ này là duy nhất với mỗi thiết bị trên thế giới.
Địa chỉ mạng là địa chỉ mở rộng để thiết bị giao tiếp trong quá trình tham gia vào
một mạng nào đó. Sau khi thiết bị gia nhập thành công một mạng Zigbee, nó được cấp
một địa chỉ mạng 16 bit bởi nút cha của nó từ kho các địa chỉ có sẵn. Từ đó trở đi, thiết
bị sẽ sử dụng địa chỉ này để giao tiếp với các thiết bị khác trong mạng.
1.2.4.5.
Phương thức truyền tin
Có 3 phương thức truyền có thể được sử dụng trong mạng Zigbee là truyền đơn
hướng, truyền đa hướng và truyền quảng bá.
-
Truyền đơn hướng (Unicast): Trong một bản tin truyền đơn hướng, địa chỉ đích
được cung cấp trong tiêu đề lớp MAC của gói tin. Chỉ thiết bị có địa chỉ đích đó
mới nhận bản tin. Các thiết bị khác sẽ lọc bỏ những bản tin không dành cho chúng.
-
Truyền đa hướng (Multicast): Một ứng dụng có thể chọn cách thiết kế một tập
các thiết bị và các điểm cuối ứng dụng trên các thiết bị đó để tạo thành một nhóm.
Sau đó thì tập các thiết bị này có thể được định địa chỉ đồng thời bằng một địa chỉ
nhóm hoặc mã nhóm như ví dụ trong Hình 1-5 dưới đây:
Hình 1-5: Ví dụ 1 dòng của bảng liên kết nhóm. [5]
7
Khi một thiết bị hỗ trợ truyền đa hướng, nó lưu giữ một bảng liên kết nhóm trong
đó mỗi dòng chứa địa chỉ nhóm và danh sách các ứng dụng cuối nhận bản tin được
chuyển hướng nếu địa chỉ nhóm trùng khớp với địa chỉ đích của bản tin.
Được thực hiện trong nội bộ ngăn xếp và rõ ràng với ứng dụng, bảng liên kết nhóm
được tìm kiếm bất cứ khi nào một bản tin đa hướng được nhận, và nếu địa chỉ
nhóm được tìm thấy trùng khớp trong bảng thì sau đó bản tin sẽ được chuyển
hướng tới tất cả các ứng dụng cuối được liệt kê trong bảng liên kết của nhóm đó.
-
Truyền quảng bá (Broadcast): Trong một gói tin quảng bá, địa chỉ đích lớp MAC
là 0xFFFF, khi đó tất cả các bộ nhận đang hoạt động sẽ thu nhận bản tin. Kiểu đánh
địa chỉ này được sử dụng khi thiết bị đang cố tham gia vào mạng, dò tìm kết nối
trong mạng và thực hiện các dò tìm khác của giao thức Zigbee. Giao thức Zigbee
triển khai một cơ chế chủ động nhận biết một gói tin quảng bá. Chủ động nhận biết
có nghĩa là khi một thiết bị phát đi hoặc gửi lại một gói tin quảng bá, nó sẽ lắng
nghe xem tất cả các nút lân cận của nó đã gửi lại gói tin chưa. Nếu sau một khoảng
thời gian nhất định (nwkPassiveAckTimeout) mà tất cả các nút lân cận chưa tái tạo
được bản tin, nó sẽ gửi lại gói tin cho đến khi nghe thấy tất cả các nút lân cận gửi
lại hoặc hết thời gian nhận bản tin quảng bá (nwkBroadcastDeliveryTime).
1.2.4.6.
Cơ chế truyền dữ liệu
Trong một mạng không định hướng, khi một thiết bị muốn gửi một khung dữ
liệu, nó chỉ đơn giản là chờ cho đến khi kênh rỗi. Khi phát hiện kênh rỗi, nó sẽ gửi đi
khung dữ liệu muốn gửi.
Nếu thiết bị đích là một thiết bị đầy đủ tính năng (FFD), bộ thu phát của nó luôn
bật và các thiết bị khác có thể truyền tới nó ở bất kỳ thời điểm nào. Khả năng này cho
phép với mạng hình lưới. Tuy nhiên nếu thiết bị đích là một thiết bị tính năng rút gọn
(RFD), bộ thu phát bị tắt khi rỗi để tiết kiệm năng lượng. Thiết bị đích RFD khi đó sẽ
không thể nhận bản tin ở trạng thái này. Tình huống này được xử lý bằng việc yêu cầu
tất cả các bản tin tới thiết bị RFD phải đi qua thiết bị cha của nó. Khi thiết bị RFD bật
bộ thu phát của nó lên, nó yêu cầu các bản tin từ nút cha. Nếu nút cha đã lưu giữ một
bản tin cho thiết bị RFD, nó sẽ chuyển tiếp lại cho nút con RFD đó. Cơ chế này cho
phép nút con RFD tiết kiệm năng lượng nhưng yêu cầu nút cha cần phải có đủ RAM
để lưu trữ các bản tin cho nút con. Nếu nút con RFD không yêu cầu bản tin trong một
khoảng thời gian (macTransactionPersistenceTime), bản tin sẽ bị quá hạn và bị hủy bỏ
ở nút cha.
8
1.2.4.7.
Định tuyến
Ngăn xếp Microchip Zigbee có khả năng định tuyến cho các bản tin. Việc định
tuyến được thực hiện tự động bởi ngăn xếp mà không cần có sự can thiệp của ứng
dụng cuối. Việc định tuyến này cho phép mở rộng phạm vi của mạng bằng cách cho
phép một thiết bị cuối ở ngoài vùng phủ sóng của nút điều phối mạng được gia nhập
mạng thông qua một bộ định tuyến giao thức Zigbee.
Khi một bản tin được gửi đi, nó sẽ chỉ định loại định tuyến mong muốn. Có 3 kiểu
định tuyến có thể lựa chọn là:
-
Ngăn chặn: Nếu kết nối mạng hình lưới được tìm thấy, bản tin sẽ được định tuyến
theo kết nối mạng lưới đó. Ngược lại, bản tin sẽ được định tuyến dọc theo cấu trúc
của cây.
-
Cho phép: Nếu kết nối mạng hình lưới được tìm thấy, bản tin sẽ được định tuyến
theo kết nối mạng lưới đó. Nếu kết nối mạng hình lưới không được xác định, bộ
định tuyến sẽ bắt đầu dò tìm kết nối. Khi việc dò tìm kết thúc thì bản tin sẽ được
gửi đi theo các kết nối đã được tính toán. Nếu bộ định tuyến không định tuyến
được, nó sẽ gửi bản tin đi theo cấu trúc của cây.
-
Bắt buộc: Nếu bộ định tuyến có khả năng định tuyến, bộ định tuyến sẽ bắt đầu dò
tìm kết nối, ngay cả khi kết nối đã tồn tại. Khi việc dò tìm kết thúc thì bản tin sẽ
được gửi đi theo các kết nối đã được tính toán. Nếu bộ định tuyến không định
tuyến được, nó sẽ gửi bản tin đi theo cấu trúc của cây. Lựa chọn định tuyến này
nên được sử dụng có chừng mực, bởi nó tạo ra một lưu lượng lớn trên mạng. Nó
được sử dụng chủ yếu cho việc sửa chữa các kết nối bị hư hỏng.
1.2.5. Thiết lập và gia nhập mạng
1.2.5.1.
Thiết lập mạng
Một mạng giao thức Zigbee mới đầu tiên phải được thành lập bởi nút điều phối
mạng. Ở bước khởi đầu, nút điều phối mạng Zigbee tìm xem có nút điều phối nào khác
đang hoạt động trên các kênh được phép của nó hay không. Dựa trên năng lượng kênh
và số mạng tìm thấy trên mỗi kênh được phép, nó thành lập mạng riêng của mình và
chọn một địa chỉ mạng (Personal Area Network – PAN ID) 16 bit duy nhất. Khi mạng
mới đã được thiết lập, các bộ định tuyến Zigbee và thiết bị cuối được phép gia nhập
mạng mới này.
Khi một mạng được thành lập, có thể xảy ra tình trạng có nhiều hơn một mạng
chồng lấn lên nhau hay có xung đột địa chỉ mạng (PAN ID). Trong trường hợp này,
9
một nút điều phối mạng sẽ khởi chạy chương trình giải quyết xung đột địa chỉ mạng và
một trong số các nút điều phối sẽ thay đổi địa chỉ mạng của nó hoặc thay đổi kênh hoạt
động. Nút điều phối bị ảnh hưởng sẽ hướng dẫn tất cả các thiết bị con của nó thực hiện
những thay đổi cần thiết. Tuy nhiên, phiên bản hiện tại của Microchip Stack vẫn chưa
hỗ trợ chương trình giải quyết xung đột địa chỉ mạng này.
1.2.5.2.
Liên kết mạng
Quan hệ nút cha – nút con được thành lập khi một thiết bị đã là thành viên của
mạng cho phép một thiết bị mới gia nhập mạng. Trong trường hợp này, thiết bị mới trở
thành nút con và thiết bị cũ đầu tiên trở thành nút cha. Một cách để thiết bị mới liên
kết với thiết bị đầu tiên là sử dụng chu trình liên kết của giao thức Zigbee.
Thiết bị con khởi chạy chu trình liên kết bằng việc thực hiện một lượt quét chủ
động trên các kênh nó được phép. Thời gian thiết bị dành cho việc xác định năng
lượng kênh và các mạng đang tồn tại trên mỗi kênh được biểu diễn bởi tham số “thời
lượng quét (ScanDuration)”. Ở băng tần 2.4 GHz và với Microchip Stack thì
ScanDuration thường nằm trong khoảng từ 1 đến 14 và như thế thời gian quét thường
từ 0.031 giây đến 4.2 phút. Như vậy nếu thiết bị quét tất cả 16 kênh và ScanDuration
là 8 thì sẽ mất hơn 1 phút để thực hiện một lần quét. Trong khi các bộ định tuyến và
thiết bị cuối của giao thức Zigbee thực hiện một lần quét để xác định các mạng đang
tồn tại, thì nút điều phối mạng phải mất 2 lần quét, một lần để lấy mẫu năng lượng
kênh, một lần để dò tìm các mạng sẵn có. Giá trị ScanDuration được cho cần cân đối
thời gian cần thiết để thực hiện quét đầy đủ trên kênh được chỉ định với số lần khởi
động hệ thống được cho phép.
Các nút cha tiềm năng sẽ lắng nghe trên kênh đang được quét bởi nút con, sau đó
đáp ứng lại với một khung định hướng. Khung định hướng bao gồm thông tin nếu thiết
bị đang trả lời có thể tiếp nhận liên kết thiết bị mới hay không. Tập hợp các thông tin
của khung định hướng mà thiết bị mới nhận được sẽ được lưu trữ tại bảng các nút lân
cận của chính nó. Vào cuối chu trình quét, bảng các nút lân cận được kiểm tra và nút
cha tiềm năng tốt nhất sẽ được chọn. Sau đó thiết bị mới sẽ gửi một yêu cầu gia nhập
tới nút cha tiềm năng. Nếu nhận được xác nhận yêu cầu gia nhập thành công từ nút
cha, thiết bị mới sẽ trở thành liên kết với thiết bị đầu tiên theo kiểu quan hệ nút cha –
nút con. Nút cha khi đó chịu trách nhiệm cấp phát cho nút con 1 địa chỉ mạng 16 bit
duy nhất. Các thông tin liên quan đến địa chỉ mạng nút cha, địa chỉ mạng nút con, độ
sâu mạng mà thiết bị vừa gia nhập đều được lưu lại ở bảng các nút lân cận của cả nút
cha và nút con. Bảng các nút lân cận này là không bay hơi.
10
1.2.5.3.
Rời bỏ mạng
Các thiết bị Zigbee lưu trữ thông tin về các nút khác trong mạng, bao gồm nút
cha và nút con, ở một vùng bộ nhớ không bay hơi gọi là bảng các nút lân cận.
Khi
khởi động, nếu một thiết bị con xác định được qua bảng các nút lân cận của nó rằng nó
đã từng là một phần của một mạng nào đó, nó sẽ chạy một chương trình thông báo
“mồ côi” để xác định lại mạng liên kết trước đó của nó. Các thiết bị nhận được thông
báo sẽ kiểm tra trong bảng các nút lân cận của nó xem thiết bị đó có phải là một trong
các thiết bị con của nó hay không. Nếu đúng, thiết bị cha sẽ thông báo cho thiết bị con
vị trí của nó trong mạng. Còn ngược lại, tức không có nút cha nào thì thiết bị đó sẽ cố
gắng gia nhập mạng như một thiết bị mới. Nó sẽ ghi nhận một danh sách các nút cha
tiềm năng và sau đó chọn gia nhập một mạng đang tồn tại ở một độ sâu tối ưu.
1.2.5.4.
Quay trở lại mạng
Khi một thiết bị cuối mất liên lạc với thiết bị cha của nó, hoặc nó bị buộc phải rời
mạng với bit “gia nhập lại” được set, nó sẽ tự động khởi chạy lại chương trình gia
nhập lại mạng. Không giống như trường hợp “mồ côi”, khi thiết bị con cố gắng liên
kết với nút cha cũ của nó, chương trình gia nhập lại bắt đầu bằng một lượt quét chủ
động và nút cha tiềm năng được lấy từ danh sách các định hướng mà nút con nhận
được. Sau khi chọn được nút cha tiềm năng, một yêu cầu gia nhập lại được gửi đơn
hướng ở mức mạng tới nút cha tiềm năng được chọn. Sau khi nhận được đáp ứng gia
nhập lại thành công, nút con bây giờ đã quay trở lại mạng với một nút cha mới và một
địa chỉ mạng mới. Đây là cách hiệu quả để sắp xếp lại vị trí cho thiết bị chỉ đơn giản
với yêu cầu rời mạng và sau đó gia nhập lại. Thêm vào đó, việc gia nhập lại được khởi
tạo và thực hiện dễ dàng với ứng dụng. Đây là một cách hiệu quả để các thiết bị cuối
có thể quay trở lại mạng khi nó mất kết nối với nút cha của nó vì bất cứ lý do gì.
1.2.6. Cấu trúc ngăn xếp
Ngăn xếp của Microchip được viết bằng ngôn ngữ lập trình C và được thiết kế để
chạy trên dòng vi điều khiển PIC của Microchip. Ngăn xếp Microchip có thể được sử
dụng hoặc ở bộ nhớ trong hoặc ở bộ nhớ ngoài không bay hơi (Non-volatile Memory NVM) để lưu trữ một lượng các tham số ngăn xếp thường trực qua các lần khởi động
lại của một thiết bị. Các nhà thiết kế có thể lựa chọn loại bộ nhớ không bay hơi để sử
dụng, bộ nhớ trong hay bộ nhớ ngoài tùy họ.
Ngăn xếp Microchip được thiết kế theo giao thức Zigbee và bộ tiêu chuẩn IEEE
802.15.4-2003, với mỗi lớp nằm ở trong chính source file của nó. Hình 1-6 dưới đây
minh họa cho ngăn xếp của giao thức Zigbee.
11
Hình 1-6: Cấu trúc ngăn xếp của giao thức Zigbee [5]
1.3.
Ưu nhược điểm của công nghệ Zigbee
1.3.1. Ưu điểm của Zigbee
Như đã tìm hiểu ở trên, công nghệ không dây Zigbee được thiết kế cho các ứng
dụng tiêu thụ điện năng thấp, giá thành rẻ và bảo mật. Mang Zigbee có khả năng mở
rộng, tự tổ chức và tự sửa chữa mà vẫn có thể quản lý nhiều kiểu truyền dữ liệu khác
nhau. Nói chung, so với các công nghệ không dây đang tồn tại hiện nay như Bluetooth
hay wifi, tuy được thiết kế cho những mục đích sử dụng khác nhau và những lĩnh vực
khác nhau, nhưng Zigbee vẫn chứng tỏ được những ưu thế của mình về nhiều mặt.
Bảng 1.3 dưới đây minh họa so sánh giữa Zigbee và các công nghệ không dây phổ
biến hiện nay dựa trên một vài tiêu chí cơ bản nhất.
Bảng 1.3: So sánh giữa các công nghệ không dây.
Bluetooth
UWB
Zigbee
Wifi
Tần số hoạt động
2.4 GHz
3.1-10.6 GHz
868/915 MHz;
2.4 GHz
2.4 GHz; 5 GHz
Tốc độ tối đa
1 Mb/s
110 Mb/s
250 Kb/s
54 Mb/s
Vùng phủ sóng
10 m
10 m
10 – 100 m
100 m
Công suất phát
0 – 20 dBm
-41.3 dBm/MHz
(-25) – 0 dBm
15 – 24 dBm
12
- Xem thêm -