PHẦN MỀM TRUYỀN THÔNG KHÔNG DÂY

Một phần của tài liệu nghiên cứu xây dựng hệ thốngtiết kiệm điện năng chiếu sáng ứng dụng mạng sensor không dây (Trang 48 - 52)

CHƯƠNG 3: THIẾT KẾ PHẦN MỀM CHO HỆ ĐIỀU KHIỂN CHIẾU SÁNG

3.3 PHẦN MỀM TRUYỀN THÔNG KHÔNG DÂY

Phần mềm truyền thông không dây là phần mềm xuyên suốt toàn bộ hệ thống, tất cả các nút trong hệ đều sử dụng phần mềm này. Mỗi một nút tùy theo từng vai trò, tính chất cũng như năng lực tính toán mà chọn các tham số phù hợp. Nhóm thực hiện đề tài xây dựng phần mềm dựa trên hai nền tảng cơ bản là stack truyền thông Zigbee và sử dụng hệ điều hành hướng sự kiện.

3.3.1 Stack Zigbee

Phần mềm truyền thông không dây của toàn bộ hệ thống được dựa trên nền tảng Zigbee. Zigbee stack được Zigbee alliance, một tổ chức chuẩn hóa và phi lợi nhuận định nghĩa và phát triển. Stack này được thiết kế ứng dụng rất nhiều công nghệ trong các lĩnh vực khác nhau.

Trong mô hình truyền thông ISO-OSI ta có thể thấy, các ứng dụng Zigbee bao gồm 5 lớp

7Layer

ISO-OSI Model

Simplified 5Layer

ISO-OSI Model IEEE 802 Model 7 Application User Application

6 Presentation 5 Session 4 Transport

Application Profile 3 Network Network

Upper Layers

Logical Link Control(LLC) 2 Data Link Data Link

Media Access Control(MAC)

1 Physical Physical Physical

Hình 27: Mô hình phân lớp ISO-OSI

Hình 28: Một nút zigbee bao gồm phần cứng và phần mềm các phần mềm được phân theo từng lớp khác nhau

Tất cả các nút trong hệ thống của đề tài đều sử dụng một nền tảng chung và đều sử dụng thư viện Stack Zigbee. Zigbee phân chia vai trò của các nút trong hệ thống theo chức năng Coordinator, Router và End Device. Dưới đây là bảng phân hoạch chức năng của các nút.

Các chức năng trong lớp mạng Zigbee Coordinator Router End Device

Thiết lập một mạng Zigbee ã

Cho phép các thiết bị khác tham gia vào

mạng hoặc tỏch khỏi mạng ã ã

Đăng ký cỏc địa chỉ mạng 16 bit ã ã Phát hiện và ghi lại các đường dẫn cho

việc truyền tin. ã ã

Phát hiện và ghi lại danh sách các nút

lõn cận trực tiếp ã ã

Định tuyến cho cỏc gúi tin ã ã

Nhận hoặc gửi cỏc gúi tin ã ã ã

Tham gia vào mạng hoặc tách khỏi

mạng ã ã ã

Vào chế độ nghỉ  ã

Hình 29: Chức năng các nút trong mạng Zigbee

Căn cứ vào bảng trên đề tài đã phân chia chức năng các nút trong hệ thống chiếu sáng như sau:

ã DTC: vai trũ Coordinator

ã mLCP: vai trũ Router

ã Cỏc nỳt sensor khỏc: vai trũ End Device

Hình 30: Phân vai trò cho các nút trong mạng

Một mạng Zigbee có khả năng quản trị tới 65536 nút, song trên thực tế việc tận dụng hết dải địa chỉ đòi hỏi cấu hình nút mạng tương đối cao. Do việc sử dụng các nút truyền thông chỉ sử dụng duy nhất một IC atmega1281 nên khi kỹ thuật hóa bài toán sẽ gặp hạn chế bộ nhớ RAM để chứa các bảng liên kết nút, bảng trạng thái các nút con và nút bố mẹ, bộ đệm các bản tin của các trung chuyển,…Vì vậy, tương ứng với phần cứng được xây dựng, chúng tôi giới hạn hệ thống như sau:

ã Coordinator: Quản lý được 32 nỳt Router và/hoặc End Device

ã Router: 64 nỳt End Device

Với qui mô các nút như vậy, có thể thấy mạng xây dựng được có quy mô tương đối lớn (ví dụ: lớn hơn nhiều so với mạng dùng hữu tuyến Modbus).

3.3.2 Hệ điều hành hướng sự kiện (event driven scheduler)

Hệ điều hành hướng sự kiện (event driven scheduler) là hệ điều hành thường được sử dụng trong các hệ thống nhúng. Hệ điều hành dạng này dễ dàng áp dụng vào các hệ có tài nguyên hạn chế. Cấu trúc của chương trình theo đó sẽ bao gồm các cặp liên kết gọi hàm API và các thông báo (notification) thực hiện. Về mặt lập trình thực chất đó là các hàm callback (hàm gọi ngược) và con trỏ hàm.

Như vậy khác với cách lập trình gọi hàm đồng bộ, toàn bộ chương trình trong điều hành hướng sự kiện sẽ được thực hiện một cách dị bộ.

APL ZDO

ZDO_GetLqiRssi

APL ZDO

ZDO_StartNetworkReq()

ZDO_StartNetworkConf

Hình 31: Gọi hàm đồng bộ và gọi hàm dị bộ

APL ZDO NWK MAC TaskManage

r “hardware”

MAC_TaskHandler()

ZDO_Confirm()

ISR_Handler()

Hình 32: Chu trình thực hiện của chương trình

Trong lập trình cho các mạng sensor không dây, hệ điều hành TinyOS của đại học Berkeley là “chuẩn mực” nhất và được chọn làm nền tảng phát triển của đề tài.

Ưu điểm của TinyOS là:

- Mô hình hướng sự kiện-> sử dụng CPU một cách có hiệu quả - Hệ bao gồm các máy trạng thái

Trên cơ sở phát triển ứng dụng có tham khảo TinyOS, các lớp ứng dụng của chương trình hệ thống được lập trình với các quy tắc sau:

ã Toàn bộ chương trỡnh ứng dụng được viết thành cỏc tập hàm callback thực hiện các yêu cầu từ lớp dưới

ã Mỗi một hàm callback trờn lớp ứng dụng phải thực thi <10ms

ã Lớp ứng dụng cú mức ưu tiờn thấp nhất so với mức dưới

ã Hàm callback cú mức ưu tiờn của lớp gọi nú

Hình 33: Các thành phần của TinyOS

Một phần của tài liệu nghiên cứu xây dựng hệ thốngtiết kiệm điện năng chiếu sáng ứng dụng mạng sensor không dây (Trang 48 - 52)

Tải bản đầy đủ (PDF)

(104 trang)