Các phƣơng thức truyền tin:

Một phần của tài liệu Thiết kế mạng thu thập dữ liệu sử dụng công nghệ Zigbee (Trang 36 - 38)

Có 3 nhóm phƣơng thức truyền tin: broadcast, multicast và unicast.

Phƣơng thức broadcast truyền các gói tin broadcast cho tất cả các thiết bị trong mạng. Phƣơng thức mutilcast dùng để truyền cho riêng một nhóm thiết bị nào đó trong mạng, còn phƣơng thức unicast dùng để truyền các bản tin dành cho riêng một thiết bị trong mạng. Các bản tin unicast chứa địa chỉ của thiết bị mà nó muốn gửi. Phƣơng thức unicast là chế độ truyền tin mặc định trong mạng. Broadcast và multicast đƣợc mô tả dƣới đây.

Hình 2.14. các kiểu phương thức truyền tin (a) Broadcast, (b) Multicast , và (c) Unicast.

Phương thức broadcast:

Với phƣơng thức này, bản tin sẽ đƣợc gửi tới tất cả các thiết bị đang lắng nghe dữ liệu đến nó ở một kênh tần số. Mỗi khi một thiết bị nhận đƣợc một gói tin, nó sẽ kiểm tra trƣờng địa chỉ trong gói để kiểm tra xem thiết bị có thuộc đối tƣợng nhận gói hay không. Phƣơng thức broadcast trong mạng IEEE 802.15.4 sử dụng chế độ địa chỉ ngắn và địa chỉ đích sẽ đƣợc thiết lập với giá trị là 0xffff. Địa chỉ này sẽ đƣợc mọi thiết bị nhận đƣợc gói coi nhƣ là địa chỉ của nó. PAN ID cũng có thể thiết lập bằng 0xffff. Các thiết bị nhận gói cũng sẽ coi nhƣ 0xffff là một PAN ID thỏa mãn. Địa chỉ MAC 0xffff đƣợc gọi là broadcast address. Địa chỉ PAN ID 0xffff đƣợc gọi là broadcast PAN ID. Mặc dù IEEE 802.15.4 hỗ trợ sử dụng một broadcast PAN ID (ví dụ 0xffff) để

broadcast một gói tin qua nhiều mạng, nhƣng chuẩn Zigbee không cho phép broadcast gói tin qua nhiều mạng, nên PAN ID luôn đƣợc thiết lập bằng PAN ID của mạng Zigbee thay vì bằng 0xffff. Lớp ứng dụng APL của bất cứ thiết bị nào trong mạng đều có thể khởi tạo thực hiện truyền broadcast sử dụng dịch vụ dữ liệu lớp NWK.

Với broadcast, thiết bị đầu cuối sẽ không xác nhận đã nhận gói tin thành công, thay vì vậy, bộ điều phối Zigbee và các router Zigbee sẽ thẩm tra xem các thiết bị hàng xóm chung quanh của nó đã chuyển tiếp thành công gói tin broadcast chƣa. Phƣơng thức này đƣợc gọi là xác nhận thụ động – passive acknowledgment. Trong phƣơng thức xác nhận thụ động, sau khi thiết bị broadcast một gói tin, nó sẽ đi vào chế độ thu và đợi cùng gói tin đƣợc broadcast lại bởi các hàng xóm chung quanh không.

Bộ điều phối Zigbee và các router Zigbee duy trì các bản ghi về tất cả các bản tin nó đã broadcast trong một bảng đƣợc gọi bảng giao dịch broadcast BTT(Broadcast Transaction Table). Các bản ghi trong BTT đƣợc gọi là các BTR(Broadcast Transaction Record) và chứa các trƣờng số hiệu chuỗi nối tiếp Sequence Number và trƣờng địa chỉ nguồn Source Address của các khung broadcast. Mỗi router Zigbee đƣợc yêu cầu phải có khả năng lƣu đệm ít nhất 1 khung ở lớp NWK. Khả năng lƣu đệm giúp truyền lại các bản tin broadcast. Mỗi BTR có giá trị chỉ trong một khoảng thời gian giới hạn, và nó sẽ hết hạn sau nwkNetworkBroadcastDeliveryTime giây sau

khi đƣợc tạo ra. Mỗi BTR hết hạn sẽ bị ghi đè bởi một BTR mới đƣợc tạo nếu BTT đã đầy.

Nếu một thiết bị đầu cuối Zigbee không duy trì chế độ thu của nó ở chế độ ON trong khi thiết bị ở chế độ idle(với macRxOnWhenIdle = FALSE), thiết bị sẽ không chuyển tiếp gói tin broadcast cũng nhƣ không duy trì một BTT. Nếu một router Zigbee với

macRxOnWhenIdle = FALSE nhận đƣợc một bản tin broadcast, nó sẽ không sử dụng

phƣơng thức broadcast. Thay vì vậy, nó sẽ sử dụng phƣơng thức truyền unicast để chuyển tiếp gói tin tới từng hàng xóm của nó. Trƣờng địa chỉ sẽ chứa địa chỉ của thiết bị nó muốn gửi chứ không chứa địa chỉ broadcast.

Trong quá trình broadcast, bản tin đƣợc chuyển tiếp bởi nhiều thiết bị và có thể có xung đột do vấn đề nút ẩn – khi hai thiết bị muốn cùng truyền một lúc cho 2 thiết bị khác, song hai thiết bị muốn truyền này nằm trong phạm vi truyền trực tiếp của nhau khiến cho các thủ tục đánh giá kênh rỗi báo trạng thái kênh bận. Để giảm thiểu xung

Đồ án tốt nghiệp Chương 2: Chồng giao thức Zigbee/IEEE 802.15.4

đột này, NWK yêu cầu trƣớc mỗi lần truyền lại các bản tin broadcast, thiết bị sẽ phải đợi trong một thời gian ngẫu nhiên – broadcast jitter. Độ dài của broadcast jitter sẽ nhỏ hơn giá trị của nwkcMaxBroadcastJitter theo đơn vị mili giây.

Phương thức multicast:

Trong multicast, bản tin đƣợc gửi đến một nhóm các thiết bị trong cùng mạng thay vì trong toàn mạng. Ví dụ, trong một ứng dụng điều khiển đèn, một khung đơn đƣợc truyền bởi một thiết bị có chức năng nhƣ một công tắc có thể bật/tắt một nhóm các đèn trong một ngôi nhà.

Mặc dù có thể thực hiện cùng kết quả bằng cách sử dụng phƣơng thức unicast để truyền cho từng đèn một, song sử dụng multicast sẽ hiệu quả hơn.

Mỗi một nhóm đƣợc nhận diện bởi một giá trị nhận diện nhóm 16-bit là multicast Group ID. Các thiết bị trong cùng nhóm đƣợc gọi là các thành viên của nhóm – group member. Một thiết bị có thể là thành viên của nhiều hơn một nhóm multicast. Mỗi thiết

bị sẽ chứa danh sách mutilcast Groupt ID của các nhóm multicast mà nó là thành viên trong một bảng gọi là multicast table(nwkGroupIDTable).

Hình 2.15. Multicast được khởi tạo bởi một thiết bị không phải là thành viên của nhóm cần được gửi.

Một thiết bị không phải là thành viên của một nhóm multicast có thể sử dụng phƣơng thức multicast để truyền tin cho các thành viên của nhóm đó. Có hai chế độ hoạt động của multicast : chế độ thành viên và chế độ không thành viên. Trong chế độ thành viên, multicast đƣợc khởi tạo bởi một thành viên của nhóm để gửi tới tất cả các thành viên trong nhóm của nó. Trong chế không thành viên, một thiết bị không phải là thành viên của một nhóm multicast định tuyến bản tin tới các thành viên của nhóm, từ đó bản tin sẽ đƣợc gửi tới tất cả các thành viên của nhóm.

Một phần của tài liệu Thiết kế mạng thu thập dữ liệu sử dụng công nghệ Zigbee (Trang 36 - 38)