Chia sẻ kiến thức trong lĩnh vực embedded system

Thứ Ba, 16 tháng 7, 2013

Change MAC or Radio Duty Cycling Protocol

        Trong  mạng lưới năng lượng thấp, thu phát vô tuyến điện phải được tắt càng nhiều càng tốt để tiết kiệm năng lượng.Trong Contiki, điều này được thực hiện bởi Radio Duty Cycling (RDC) layer.Contiki cung cấp một tập hợp các cơ chế RDC với các thuộc tính khác nhau, cơ chế mặc định là ContikiMAC

        Lớp MAC(Medium Access Control) nằm ở phía trên của lớp RDC,Lớp MAC có trách nhiệm để tránh va chạm ở các trạm phát và phát lại các gói tin nếu có sự va chạm.Contiki cung cấp hai cơ chế ở lớp MAC:CSMA(Carrier Sense Multiple Access) và cơ chế NullMAC.
        Hướng dẫn sau cho ta biết làm cách nào để thay đổi RDC và lớp MAC trong Contiki.Giả sử Contiki của bạn đã được cài đặt.
       1. Thông tin về MAC drivers:
Contiki cung cấp hai trình điều khiển là CSMA và NullMAC, trong đấy CSMA là cơ chế mặc định.Lớp MAC nhận được các gói tin đến từ lớp RDC và sử dụng các lớp RDC để truyền tải các gói tin.Nếu RDC layer hoặc radio layer phát hiện một sự va chạm, lớp MAC có thể sẽ truyền lại các gói dữ   liệu tại một khoảng thời gian sau này.Cơ chế CSMA giúp cho MAC layer chỉ truyền lại các gói tin nếu phát hiện va chạm.
       2. Giới thiệu về trình điều khiển RDC:
        Contiki có một số trình điều khiển RDC, cái phổ biến thường sử dụng là ContikiMAC, X-MAC, CX-MAC, LPP, và NullRDC.ContikiMAC là cơ chế mặc định qui hoạch cách sử dụng năng lượng hiệu quả nhất nhưng lại chỉ được thiết kế dành riêng cho phát sóng vô tuyến CC2420 hoặc IEEE 802.15.4.
        X-MAC là một cơ chế cũ, không cung cấp năng lượng hiệu quả như ContikiMAC nhưng lại không yêu cầu thời gian nghiêm ngặt như ContikiMAC.
        CX-MAC phát triển lên từ X-MAC nhưng qui định về thời gian thỏa mái hơn X-MAC và do đó làm việc trên một tập hợp rộng lớn hơn của radio
       LPP(Low Power -Probing) là một máy thu bắt đầu với giao thức RDC
       NullRDC là "null" RDC layer mà không bao giờ switch radio off và do đấy có thể sử dụng để test hoặc so sánh với các RDC driver khác.
       RDC driver giữ cho radio off càng nhiều càng tốt và định kì kiểm tra radio medium để active radio.Khi hoạt động được phát hiện , radio được đánh thức để nhận các gói tin, tỷ lệ kiểm tra được đưa ra trong Hz, quy định cụ thể số lần kiểm tra trong một giây và tốc độ kiểm tra mặc định là 8lần/giây. Tốc độ kiểm tra của kênh truyền có thể là 2, 4, 8 hoặc 16Hz.
       Các gói tin truyền nói chung phải được lặp đi lặp lại hoặc "strobed" cho đến khi receiver turn on để phát hiện nó.Trong lúc này nó cần sử dụng nhiều công suất hơn để truyền và tăng lưu lượng truyền tải trên kênh truyền.
      Các bước tiến hành đối với contikiMAC:
Step1: Add a project-conf.h file to the Makefile:to enable it, we need to add the following line to the project's Makefile:
                   CFLACS += -DPROJECT_CONF_H=\"project-conf.h\"
The full MAkefile may now look something like this:
                  CONTIKI = /home/user/contiki-2.x
                  CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\"
                  include $(CONTIKI)/Makefile.include
Step2: Create the project-conf.h file:
We now need to creat the project-conf.h file.This file should be call project-conf.h and reside in the project's directory.
The project-conf.h file may override a number of Contiki configure options.In this example, we will override thae radio duty cycle layer driver.
Step 3a:Specify a new RDC channel check rate.
We firt change the RDC channel check rate.This is done by adding a #define to the project-conf.h file that specifies the channel check rate,in Hz:
               #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 16
Step3b: Specify a new MAC driver
To specify what MAC driver contiki should use, add another #define to the project-conf.h file:
               #define NETSTACK_CONF_MAC nullmac_driver
Step 4: Recompile
After having specified the project-conf.h file in Makefile, it is necessary to clean up existing dependencies with the make clean command:
                 make TARGET=sky clean
Then
                 make TARGET = sky



Không có nhận xét nào:

Đăng nhận xét