• 沒有找到結果。

I-Shou University Institutional Repository:Item 987654321/18729

N/A
N/A
Protected

Academic year: 2021

Share "I-Shou University Institutional Repository:Item 987654321/18729"

Copied!
53
0
0

加載中.... (立即查看全文)

全文

(1)ZigBee 的交錯進接方式之模擬實作 The simulation implementation of the Interleaving Access Scheme (IAS) for ZigBee 研究生: 鐘振豪 撰 指導教授:黃蓮池 博士 義守大學電機工程學系 碩士論文. A Thesis Submitted to the Department of Electrical Engineering of I-Shou University In Partial Fulfillment of the Requirements for Master Degree with a Major in Electrical Engineering July 2015 Kaohsiung Taiwan. 中華民國 一百零四 年 七 月.

(2)

(3) 致謝 首先我想感謝的是我的指導老師黃蓮池教授,在求學的歷程中給予最大的幫 助以及教導人生的哲學。同時也感謝郭家旭教授及王三元教授在百忙之中前來擔 任口試委員,並於口試結束後給予寶貴的意見與指導,使得論文可以更加充實、 完整。 在研究所過程中,受到承安、奕學、明翰學長的照顧,雖然一進去的時候學 長就準備要畢業了,但受益良多。同時也感謝資工實驗室 3714 的朋友,在需要 幫忙的時候給予協助,使得論文可以順利完成。 最後將此論文成果獻給我的老婆、家人,感謝老婆、父母在生活援助上面大 力支持,並於最困苦的時候給予鼓勵,使得論文可以順利完成. i.

(4) 中文摘要 ZigBee 的交錯進接方式之模擬實作 研究生: 鐘振豪. 指導教授:黃蓮池. 義守大學電機工程學系. 摘要 IEEE 802.15.4 無線個人區域網路(Wireless Personal Networks, WPAN)標準 的重要特點就是低資料率、短的傳輸距離和功率消耗低。WPAN 包含了協調器和 節點,以週期性的方式來監控環境的資訊。IEEE 802.15.4 WPAN 最關鍵的問題 是處理即時或接近即時的服務,這需要較低的延遲和時閃之能力。兩個參數,訊 標級數(BO)和超訊框級數(SO)。它們控制超訊框的長度、活躍區間和非活躍區間。 然而,光使用 BO 和 SO 這兩個參數很難讓從協調器到節點的資料流變的流暢和 平穩。雖然在標準下是分配一部份的活躍區間來當作保證時槽供即時服務使用, 而即時訊框的進接間隔仍被分配後的超訊框長度所影響。取代使用低效率的保證 時槽方案,有學者提出了一個自適應交錯進接方案(Interleaving Access Scheme, IAS)演算法,這方案使用了一個新的變數叫作交錯級數(IO),用來調整超訊框的 架構,使得活躍區間散佈在整個超訊框中,進而控制進接的延遲和頻寬的浪費。 本論文以模擬實作此演算法,藉以證明 IAS 不只減少進接延遲,還增加了節點 的電池壽命。 ii.

(5) 英文摘要 The simulation implementation of the Interleaving Access Scheme (IAS) for ZigBee. Student:Chen-Hao Chung. Advisor:Lain-Chyr Hwang, Ph.D,. Department of Electrical Engineering I-Shou University. ABSTRACT The key features of IEEE 802.15.4 wireless personal area network (WPAN) standard are the low data rate, short transmission distance, and low power consumption. The WPAN periodically monitors environmental information by coordinator and device nodes. The most important issue of IEEE 802.15.4 WPAN is the handling of real-time or nearly real-time services, which needs lower latency and low delay jitter. There are two parameters, Beacon order(BO) and Superframe order(SO) that control superframe length, active periods, and inactive periods. However, only using BO and SO is hard to make stream transmission smooth and constant between the coordinator and nodes. The standard IEEE 802.15.4 allocates a portion of active period to be the guarantee time slots for real-time service. However, the real-time frame access intervals are still affected by the allocated superframe length. Instead of using low efficiency GTS scheme, some researchers proposed an adaptive interleaving access scheme (IAS). This scheme using a new parameter, called interleaving order (IO). The IAS used IO to adjust superframe structure, and to make the active period disperse in the superframe.It will control the iii.

(6) access latency and the bandwidth wastage. This thesis tries to implement the simulation of IAS to demonstrate that the IAS scheme not only decreases access latency but also increases nodes’ battery lifetimes.. iv.

(7) 目錄 致謝................................................................................................................................. i 中文摘要........................................................................................................................ii 英文摘要...................................................................................................................... iii 圖目錄..........................................................................................................................vii 表目錄........................................................................................................................ viii 第一章 緒論 ................................................................................................................. 1 1.1 研究背景........................................................................................................ 1 1.2 研究動機........................................................................................................ 1 1.3 論文架構........................................................................................................ 2 第二章 研究相關背景 ................................................................................................. 3 2.1 IEEE802.15.4/ZigBee 概述 ........................................................................... 3 實體層(PHY) ..................................................................................... 5 媒體進接控制層(MAC) .................................................................... 6 2.1.2.1 超級訊框(Superframe) .......................................................... 6 2.1.2.2 訊框格式.............................................................................. 11 2.1.2.3 資料傳輸模式...................................................................... 14 2.1.3 網路層與應用層.............................................................................. 18 2.1.1 2.1.2. 2.2 文獻探討....................................................................................................... 19 第三章 模擬工具 ....................................................................................................... 20 3.1 NS2 介紹與安裝 ......................................................................................... 20 3.1.1 NS2 模擬工具之介紹 ..................................................................... 20 3.1.2 Cygwin、NS2 之安裝 ..................................................................... 23 3.2 模擬結果格式及相關工具.......................................................................... 31 第四章 演算法模擬及數據分析 ............................................................................... 32 4.1 模擬相關過程.............................................................................................. 32 4.2 演算法添加.................................................................................................. 33 4.3 模擬參數設定.............................................................................................. 37 4.4 模擬結果探討.............................................................................................. 39 第五章 結論 ............................................................................................................... 42 v.

(8) 参考文獻 ..................................................................................................................... 43. vi.

(9) 圖目錄 Fig. 2-1 星狀拓樸與點對點拓樸 ........................................................................................ 4 Fig. 2-2 Superframe 架構圖 ................................................................................................ 7 Fig. 2-3 inter-frame space 說明圖 ....................................................................................... 9 Fig. 2-4 訊標訊框格式 ...................................................................................................... 12 Fig. 2-5 媒體進接控制命令訊框格式 .............................................................................. 12 Fig. 2-6 資料訊框格式 ...................................................................................................... 13 Fig. 2-7 Acknowledgement 訊框格式 ............................................................................... 13 Fig. 2-8 Beacon-enabled network 中 coordinator 傳資料給 device 的傳輸模式 ............ 15 Fig. 2-9 Nonbeacon-enabled network 中 coordinator 傳資料給 device 的傳輸模式 ...... 15 Fig. 2-10 Beacon-enabled network 中 device 要傳資料給 coordinator 的傳輸模式 ...... 16 Fig. 2-11 Nonbeacon-enabled network 中 device 要傳資料給 coordinator 的傳輸模式 .................................................................................................................................... 17 Fig. 3-1 OTcl 與 C++之比較 ............................................................................................. 21 Fig. 3-2 NS2 架構 .............................................................................................................. 22 Fig. 4-1 模擬相關過程 ...................................................................................................... 32 Fig. 4-2 IEEE802.15.4 superframe 架構 ........................................................................... 33 Fig. 4-3 演算法所提出的 superframe 架構 ...................................................................... 34 Fig. 4-4 Coordinator 演算法.............................................................................................. 35 Fig. 4-5 Node 演算法 ....................................................................................................... 36 Fig. 4-6 平均延遲比較圖 .................................................................................................. 39 Fig. 4-7 能量剩餘圖(IO=0) ............................................................................................... 39 Fig. 4-8 能量剩餘圖(IO=1) ............................................................................................... 40 Fig. 4-9 能量剩餘圖(比較) ............................................................................................... 40 vii.

(10) 表目錄 Table 2-1 ZigBee 工作頻帶與調變技術 ............................................................................ 5 Table 4-1 參數設定 .......................................................................................................... 37 Table 4-2 能量部分的參數設定 ...................................................................................... 38. viii.

(11) 第一章. 緒論. 1.1 研究背景 近年,無線相關產品蓬勃發展,就連家庭的設備也趨近於無線化的趨勢。無 線感測網路(Wireless Sensor Network, WSN)是一種結合感測、運算及網路能力的 技術,由一到多數個無線資料接收器所構成的網路,將每個感測器串聯成感測網 路,利用感測器的感應範圍,偵測週遭環境及特定目標,將一些的簡易資料做運 算的動作之後,回傳到資料接收器,進而讓我們方便擷取資料,並進一步透過所 獲得資料來瞭解環境的狀況,透過這些資料來做調整、維護或提供更好的服務。 為了達到接收器大量的佈置,必須具備低成本、低功耗、體積小、容易佈建,並 具有感測環境裝置、可程式化控制、可動態組成的特性。 無線感測網路的技術非常多,其中,ZigBee 是當前熱門低功率無線傳輸標 準之一。ZigBee 是一種無線個人區域網路(Wireless Personal Network, WPAN)標 準,主要由 IEEE802.15.4 和 ZigBee Alliance 所主導。IEEE802.15.4 標準協定, 主要負責媒體進接控制層(MAC)與實體層(PHY)。ZigBee Alliance 主要負責網路 層、安全控制、應用介面。. 1.2 研究動機 由於競爭進接週期(Contention Access Period, CAP)受到超訊框長度 (superframe length)的影響,導致效率不佳,若直接縮小超訊框長度,則會因為每 個超訊框皆帶有訊標(Beacon),而造成多餘頻寬與電量方面的消耗。因此透過 IAS(Interleaving Access Scheme)方法,設計一個參數IO(Interleaving order)來調整 超訊框架構,將一個活躍週期分成2IO個子週期(subperiod),讓原本超訊框的活躍 週期(Active period)與非活躍週期(Inactive period)均勻分佈在超訊框中,用來控制 進接潛伏及頻寬浪費,進而減少裝置節點的電量消耗,使該設備的電池壽命更持 久。 1.

(12) 1.3 論文架構 本論文想探討無線感測網路及 ZigBee,並以模擬去研究能量消耗,以下共 分成五個章節: 第一章:介紹本論文的研究動機、背景、研究方法、步驟,以及預期的結果。 第二章:介紹 IEEE 802.15.4 及 ZigBee 的運作方式,,接下來探討實體層、媒體 進接層以及 Superframe 架構。 第三章:介紹網路模擬軟體(Network Simulator version 2,NS2)以及其安裝方法, 還有 AWK 語言說明[5]。 第四章:模擬的相關流程及演算法介紹,接著加入環境參數,並觀察其能量消耗。 第五章:探討實際模擬後的數據及未來研究。. 2.

(13) 第二章. 研究相關背景. 2.1 IEEE802.15.4/ZigBee 概述[2][6] ZigBee 是根據 IEEE 802.15.4 與 ZigBee Alliance 兩個組織所定的標準規範。 IEEE 802.15.4 制訂了實體層(Physical layer, PHY)及媒體進接控制層(Media Access Control layer, MAC)標準;ZigBee 規範了網路層(Network layer)與應用層 (Application layer)。 IEEE 802.15.4 定義了低速率無線個人區域網路(Low-rate wireless personal area network, LR-WPAN)。優點為安裝簡易、提供可靠的資料傳輸、低消耗功率、 低耗損和適當的電池壽命,然而卻維持簡單且彈性的協定堆疊(Protocol stack)。 網路型態如 Fig. 2-1 分成星狀拓樸(Star topology)和點對點拓樸(Peer-to-peer topology),網路裝置這部分又分成全功能裝置(Full function device, FFD)及簡易功 能裝置(Reduced function devices, RFD),全功能裝置支援全部網路拓樸架構,並 當 作 個 人 區 域 網 路 中 的 協 調 器 (Personal area network coordinator, PAN Coordinator),提供更完整的協定,並與其他裝置進行通訊的動作;簡易功能裝 置只用於星狀拓樸或是點對點的網路終端設備,也不能變成 PAN coordinator,而 且可實現的協定較少。在無線個人區域網路,須同時包含兩個以上的裝置,其中 需要一個 FFD 擔任網路協調器才可以使網路正常運作。. 3.

(14) Fig. 2-1 星狀拓樸與點對點拓樸 在星狀拓樸中,以一個 FFD 當作 PAN 協調器的角色,周圍的節點可以是 RFDs 或 FFDs。在無線訊號的覆蓋範圍內,FFD 可以與其他 FFDs 進行傳送與接 受訊息,而在覆蓋範圍外的裝置則要透過中間的 FFD 當跳板,形成一個多躍程 網路(Multihop network)。 在點對點拓樸中也有一個協調器;然而,它不同於星狀拓樸的是在覆蓋範圍 內的節點可以相互溝通。可以應用在工業控制和監控,而在無線感測網路,則可 應用在監控資產與貨品庫存、智能農業和保全。一個點對點的網路,它可以是臨 時性、自我組織及自行修復。它也允許在同個網路下,節點可以用 mutihop 的方 式從其他任意節點得到訊息。. 4.

(15) 2.1.1 實體層(PHY)[3][9][10] 實體層:啟動或停止無線電傳收器(Transceiver)、通道選擇、偵測能量以及 傳送和接收封包等功能。如 Table 2-1 所示 IEEE 802.15.4 規範了三個頻段:2.4GHz band、915 MHz band 及 868 MHz band,各個頻段使用直接序列展頻(Direct sequence spread spectrum, DSSS)進接方式,且使用相同的實體層資料格式,不同 的地方在於工作的頻率、調變技術、和傳輸速率。. Table 2-1 ZigBee 工作頻帶與調變技術. 868MHz 和 915 MHz 使用二元相移鍵制(Binary phase shift keying, BPSK),而 2.4GHz 則利用四元相移鍵制(Quadrature phase shift keying, QPSK)以達到 250 kbps 之速率,降低責率(Duty cycle)及減少消耗功率。除了啟動和關閉無線電, 實體層還提供了實用的頻道選擇、連線品質評估和空閒頻道估計等。IEEE 802.15.4 設計了四種傳輸資料的封包結構,稱之為實體層協定資料單元(PHY protocol data unit, PPDU),分別為訊標訊框(Beacon frame)、資料訊框(Data frame)、 確認訊框(Acknowledgement frame)、媒體進接控制指令訊框(MAC command frame),訊框架構基本上相似。. 5.

(16) 2.1.2 媒體進接控制(MAC)層 MAC層主要功能:產生網路協調器的訊標、同步訊標、支持PAN關聯和解 關聯、CSMA/CA通道進接機制、處理和維護保證時槽(Guarantee time slot, GTS) 機制、在兩個對等MAC實體間提供可靠鏈路,下面會介紹MAC層的運作及功能 的說明。. 2.1.2.1. 超級訊框(Superframe). 在 IEEE 802.15.4 中使用一種稱為 superframe 的架構,採用的網路稱之為 Beacon-enabled network,反之則為 Non-beacon-enabled network。Superframe 的邊 界是由 beacon 所決定的,而這段時間長度我們稱為 beacon 間隔(Beacon interval), 一個 superframe 可以再細分成活躍區(Active portion)跟非活躍區(Inactive portion), 活躍區可再細分成 16 個相同大小的時槽(slot),而這 16 個時槽中,又可劃分為 競爭期(Contention access period, CAP)及免競爭期(Contention free period, CFP), 協調者只在活躍區這段時間與涵蓋範圍內的裝置相互接收傳遞資料,而在非活躍 區時進入睡眠狀態以減少能量消耗。對於協調者以外的裝置來說,它們在沒有資 料要傳送時便可以進入省電模式。Superframe 示意圖如 Fig. 2-2 所示。 一些保障較低延遲時間的應用或是要求固定傳輸速率的應用,協調者可以給 定一個保證時槽(GTS)供其使用。免競爭期是由數個 GTSs 所組成,協調者最多 可分派 7 個保證時槽。. 6.

(17) Fig. 2-2 Superframe 架構圖[1] Superframe參數包括:Beacon order (BO)、Superframe order (SO),這兩個參 數決定superframe的長度。superframe的參數都以symbol為單位,因為調變技術使 用O-QPSK,所以1 Symbol = 4bits。 . BI (Beacon interval) = aBaseSuperframeDuration  2BO symbols. . SI (Superframe interval) 或稱SD (Superframe duration) =aBaseSuperframeDuration  2SO symbols, (0 ≦ SO ≦ BO ≦ 14). 當SO = BO = 15表示未使用超訊框,也就沒有beacon及GTS。 . aNumSuperframeSlots = 16 (固定). . aBaseSlotDuration = 60 symbols (固定). . aBaseSuperframeDuration = aNumSuperframeSlotsaBaseSlotDuration = 16  60 =960 symbols (固定). 當 SO = 0 時,time slot = aBaseSlotDuration = 60 symbols。 Active portion = aBaseSuperframeDuration = 960 symbols。 SO > 0 時,time slot 及 active portion 會放大 2SO 倍。 aUnitBackoffPeriod (UBP) = 20 symbols。 7.

(18) SO = 0 時,1 time slot = 3 UBPs。 SO > 0 時,time slot 放大 2SO 倍,UBP 不變,故 1 time slot = 3  2SO UBPs。 在 2.4 GHz 的頻帶,1 symbol = 4 bits,速率為 250 kbps 即 62.5 ksymbol/s,所以 1 個 symbol 的時間為 0.016 ms 即 16 s。. (1) IFS MAC sublayer在收到訊框時,需要時間處理資料。所以訊框傳送出去時,需 要多等待一個訊框間隔(Inter-frame space,IFS)時間,來讓MAC層進行資料處理。 IFS長度跟發送訊框有關,發送訊框長度小於等於aMaxIFSFrameSize時,使用長 度最少要是aMinSIFSPeriod個symbol的短訊框間隔(SIFS) 。發送訊框長度大於 aMaxIFSFrameSize時,使用長度最少為aMaxLIFSPeriod個symbol的長訊框間隔 (LIFS) 。在CAP內採用CSMA/CA演算法傳輸資料時,要考慮訊框間隔的這些要 求。若所傳送的訊框需要回應確認訊框,則將在收到確認訊框後等待IFS間隔。 而這間隔是根據(MAC protocol data unit,MPDU)長度而定的。如Fig. 2-3所示。 Frames (i.e., MPDUs) size  aMaxSIFSFrameSize,則 IFS = SIFS Frames (i.e., MPDUs) size > aMaxSIFSFrameSize,則 IFS = LIFS 相同封包間隔存在的時間長度是一致的,和傳輸速率無關,可以在不同實體 層對各個封包間隔做時間長度的設定。. 8.

(19) Fig. 2-3 inter-frame space 說明圖[1]. (2) CSMA/CA 機制 載波偵測多重進接/避免碰撞(Carrier Sense Multiple Access with Collision Avoidance, CSMA/CA),此演算法採用主動避免碰撞的方法來解決碰撞問題,在 競爭期內傳送MAC命令及資料訊框前,都需用CSMA/CA演算法來進接通道,而 訊標、確認訊框和免競爭期內傳送的資料訊框不需要使用CSMA/CA。在使用訊 標的PAN中,競爭期內傳輸資料是使用slotted CSMA/CA,反之則MAC層採用 unslotted CSMA/CA演算法,兩種形式CSMA/CA的差別在於需不需要“對齊", slotted的會對齊訊標且所有PAN內的裝置都會對齊,unslotted則不用。但兩者皆 以“aUnitBackoffPeriod"為退避的基本單位時間。 三個變數:NB, CW, BE,這是CSMA/CA機制在每次嘗試傳送時都會記錄的 參數。 Number of backoff (NB):退避的次數,當新的資料要傳送之前,NB值應初 始化為0,爾後的每次失敗會加1,直到值為macMaxCSMABackoffs。如果NB的 9.

(20) 值大於macMaxCSMABackoffs時,則放棄傳送這個訊框。換句話說,嘗試傳送的 次數最多只有macMaxCSMABackoffs + 1次。 Backoff exponent(BE):退避指數,退避時間會隨著碰撞次數呈指數形式增長, 退避值會隨機在[0, 2BE  1]選一個數,退避時間就以這個數乘以UBP。BE的初始 值為macMinBE,但在省電模式下,則會設定為min(2, macMinBE)。每次傳送失 敗時就會加1,當其值等於macMaxBE後便不會再往上升。如果macMinBE = 0, 表示BE = 0,則2BE  1 = 0。這意味著第一次疊代不使用CA,而第一次疊代中衝 突將不可避免。 Contention window (CW):競爭視窗,只用在slotted,unslotted則無需此參數。 與IEEE 802.11的CW不同的地方在於IEEE 802.11的CW就是上述的2BE  1,而在 Zigbee中是用來判斷通道是否“真的"閒置。訊框傳送前,一開始CW值設為2, 偵測到閒置狀態則該值減1,但是偵測到忙碌狀態的話,則重設為2。直到CW值 為0時才可以傳送訊框,所以在傳送訊框的過程中至少要執行2次CCA (每次8個 symbol的時間)。. 10.

(21) 2.1.2.2. 訊框格式. IEEE802.15.4 包含了四種訊框的格式:Beacon frame、Data frame、MAC command frame 及 Acknowledgement (ACK) frame 四種訊框格式。MAC sublayer 產生了訊標訊框,提供 coordinator 可以在有訊標的網路中,能夠和 PAN 中的其 它裝置做同步和溝通等動作。 MAC sublayer 的訊框又可再分成三部份:MAC header (MHR)、MAC service data unit (MSDU)和 MAC footer (MFR)。 . MHR 裡有訊框控制欄位(Frame control field)、訊標序號欄位(Beacon sequence number field)、來源位址欄位(Source address information field)。. . MSDU 裡有超級訊框規格欄位(Superframe specification field)、保證時槽 欄位(GTS filed)、等候的位址清單欄位(Pending address list filed)及訊標 酬載欄位(Beacon payload filed)。. . MFR 裡有 16 位元的 FCS (Frame check sequence)。. 在實體層的訊框部份也分成三塊: SHR (Synchronization header)、PHR (PHY header)和 PSDU (PHY service data unit)。 . SHR 裡有前置序列欄位(Preamble sequence field)和訊框起始界定符欄位 (Star of frame delimiter field)。. . PHR 只有訊框長度欄位,說明 PSDU 位元組的長度。. . MPDU 是 MAC sublayer 送給實體層的訊框,也就是實體訊框的 PSDU, 而整體實體訊框稱為 PPDU,格式如 Fig. 2-4 所示。. 11.

(22) Fig. 2-4 訊標訊框格式[1] MAC 命令訊框用來傳送媒體進接控制層相關的控制指令,一開始是 MAC header 的部份,header 裡有 frame control 欄位用來辨別封包種類、所用的定址模 式等、一個 sequence number 欄位及一些 addressing field 的定址資訊。header 之 後是 MAC service data unit,包含著 MSDU command Type 和 Command payload, 最後是 MAC footer,一個 16 位元的 FCS 欄位,訊框格式如 Fig. 2-5 所示。. Fig. 2-5 媒體進接控制命令訊框格式[1] Data frame 和 MAC 命令訊框的差別在於 MSDU 的部分為單純的 Command payload,訊框格式如 Fig. 2-6 所示。. 12.

(23) Fig. 2-6 資料訊框格式[1] Acknowledgement frame 用來判斷傳送的資料或命令封包是否成功接收到, 訊框格式如 Fig. 2-7 所示。. Fig. 2-7 Acknowledgement 訊框格式[1]. 13.

(24) 2.1.2.3. 資料傳輸模式. 在 LR-WPAN 中共有三種資料傳輸的模式:從 coordinator 傳資料給 device; 從 device 傳資料給 coordinator;裝置間相互傳送資料(peer-to-peer)。 星狀拓撲網路的傳送模式只有“從 coordinator 傳資料給 device"和“device 傳資料給 coordinator";點對點拓撲網路的傳送方式則三種都有可能。在 LR-WPAN 用 slotted/unslotted CSMA/CA 通訊協定來做溝通,星狀拓撲網路中如 果協調器有傳送訊標訊框,則用 slotted CSMA/CA 通訊協定來收送資料,反之若 無傳送訊標則用 unslotted CSMA/CA 通訊協定;點對點拓撲網路通常用 unslotted CSMA/CA 通訊協定,如果想使用 slotted CSMA/CA 通訊協定,則須先將收送兩 端達到同步才行。以下開始對三種傳輸模式做介紹。. 1. Coordinator 傳資料給 device 在 Beacon-enabled network 架構下,當協調器要傳送資料給 device,它會在 訊標中添加 Data pending 的訊息。此時網路裝置會週期性偵聽網路訊標,且當收 到一個等候訊息時,會以 slotted CSMA-CA 來發送 Data request 指令。協調器接 收後會回傳一個 acknowledgment 訊息,接著再回傳所要求的 Data frame,然後網 路裝置收到後回傳 acknowledgment 訊息。如 Fig. 2-8 所示。. 14.

(25) Fig. 2-8 Beacon-enabled network 中 coordinator 傳資料給 device 的傳輸模式 在 Nonbeacon-enabled network 中是不使用 superframe 架構,採用的 unslotted CSMA/CA 的運作方式與 slotted CSMA/CA 相似,差別在於一開始少了訊標,如 Fig. 2-9 所示。. 15.

(26) Fig. 2-9 Nonbeacon-enabled network 中 coordinator 傳資料 給 device 的傳輸模式 2. Device 傳資料給 coordinator Device 要傳送資料給協調器前需要先跟 superframe 做同步,接著再用 slotted CSMA/CA 傳資料給協調器,當協調器接收後會回傳一個 acknowledgment,如 Fig. 2-10 所示。. Fig. 2-10 Beacon-enabled network 中 device 要傳資料給 coordinator 的傳輸模 式 而在 Nonbeacon-enabled network 中,Device 直接使用 unslotted CSMA/CA 將 資料傳送給協調器,收到後回傳 acknowledgment,如 Fig. 2-11 所示。. 16.

(27) Fig. 2-11 Nonbeacon-enabled network 中 device 要傳資料給 coordinator 的傳輸 模式 3. 裝置間相互傳送資料(peer-to-peer) 在點對點的 WPAN 中,Device 可以與傳送範圍內的其它 device 直接進行通 訊。為了要有效率的傳送資料,要接收的 device 需要一直保持活躍狀態來等待 資料,或是彼此先做同步的動作。. 17.

(28) 2.1.3 網路層與應用層 ZigBee 網路層包含加入和離開機制、訊框安全、可靠傳輸機制及傳送路由 的尋找與維護。網路結構可支援:星狀、樹狀、網狀三種拓樸。在星狀拓撲中, 由一個 ZigBee 協調器來控制網路,並負責裝置的初始化和維護,而其他裝置直 接和協調器通訊。在網狀和樹狀拓撲中,ZigBee 協調器負責建立網路並選定網 路重要參數,但可以透過路由器來擴充網路的涵蓋範圍。在樹狀拓撲中,路由器 在網路中用分層路由方式傳送資料和控制資訊,採用 IEEE802.15.4 所定義的訊 標通訊方式。網狀網路則允許點對點通訊,ZigBee 路由器不得發送規則的訊標。 ZigBee 應用層包含應用支援子層(Application support, APS)、應用框架 (Application framework, AF)、ZigBee 裝置物件(ZigBee device object, ZDO)和製造 商所定義的應用物件。APS 層提供網路層與應用層之間的溝通介面,維持物件之 間的聯結表(Binding table),並在聯結的裝置之間做傳送,也維持了一個 APS 資 料庫(APS information base, AIB)。ZDO 的功能包括起始應用支援子層、網路層以 及安全服務等。. 18.

(29) 2.2 文獻探討[4] An Adaptive Interleaving Access Scheme (IAS) for IEEE 802.15.4 WPANs IEEE 802.15.4 標準中,Superframe 分配一部份的活躍區間來當作一個 GTS 供即時服務使用,但原先的 GTS 會受到超訊框長度的影響,而顯得效能不佳, 如果直接縮短超訊框長度,則會因為每個超訊框都帶著一個訊標而導致頻寬的浪 費。此篇論文提出 IAS,此演算法做法是新增一個新的參數 IO (Interleaving order, 交錯級數),利用新參數 IO 來調整超訊框架構,將超訊框中的活躍期分成 2IO 子 期(subperiod),讓超訊框的活躍區(active part)和非活躍區(inactive part)可以均勻分 散於整個超訊框中,但整體超訊框長度不變。由於切成 2IO 塊,所以活躍區長度 從原來的 48×2SO UBPs 變成數個長度為 48×(2SO-IO) UBPs 活躍區。. 19.

(30) 第三章. 模擬工具. 3.1 NS2 介紹與安裝 3.1.1 NS2 模擬工具之介紹[5][7] 在實際網路系統中進行研究或學習,有一定程度的難度和限制。利用個人電 腦做一些網路模擬,其優點有:模擬時間短、低成本及操作容易等優點,能讓研 究學者嘗試自己所提出的方法是否可行,也可以提供一些數據讓初學者驗證結果 是否與理論相同,因此,網路模擬是研究及學習網路技術的最佳選擇。 本論文是以 NS2 (Network Simulator, version 2)作為網路模擬工具,雖然目前 有 Network Simulator version 3 版本,但在程式資源的考量上,還是選擇 NS2 做 為研究的模擬軟體。模擬器可以擺設一些路由器(router)、鏈路(link)、網路端點 (end point)等,用來模擬真實網路系統;也提供一些網路特性:封包的延遲(packet delay)、封包的丟棄(packet drop)、CBR 及 FTP 等傳送方式的模擬。 NS2 裡面有許多模組,使用者可依自己需求來添加。如果自己研究的模組不 在 NS2 提供的範圍內,使用者可自己設計所需要的模組。NS2 是一個屬於原始 碼公開的軟體,因為原始碼的公開使得 NS2 具有無窮的擴充性,使用者可以自 行將撰寫的協定加入 NS2 的核心程式中,這樣從事網路研究就不會侷限在單一 軟體環境之中,遇到該軟體環境沒有提供的功能時,亦可以自行開發,以免發生 研究工作不能繼續進行的窘境,設計模組的工作雖然困難,至少在 NS2 的幫助 下,還是可以讓整體研究的開發節省很多時間。 NS2 是一套物件導向的網路模擬軟體,由 UC Berkeley 所開發完成,使用 C++與 OTcl 作為開發的程式語言,C++優點是運算速度較快,但是需要花較多的 時間在修改、除錯和重新編譯。像是底層架構的程式、封包傳送或是路由方法等, 這類比較需要顧慮到時間、速度的部分,用 C++來處理會有較好的表現。通常底 層的程式不常更動,利用編譯式的語言也比較恰當,只需編譯過就可以持續使用, 當有新增或修改底層的架構時,才需要再做一次編譯的動作。OTcl 運算速度較 20.

(31) 慢,但是在程式做修改後不必再編譯,且不太會出錯,主要用來撰寫網路環境模 擬的部分,雖然 OTcl 腳本每次需要多花點時間去執行,但是因為環境模擬的腳 本會常變動,若使用 C++這種在變動後需要重新編譯的語言可能會比較不適合。 比較圖如 Fig. 3-1 所示。. Fig. 3-1 OTcl 與 C++之比較. 一般 NS2 使用者都用 OTcl 的程式語言來撰寫模擬網路的腳本,而 OTcl 架 構在 Tcl 之上,使用 Object-Oriented 所延伸出來的。在 Event Scheduler 和 Network Component 這兩個部分,主要是用 C++來撰寫,NS2 是以 Event-driven 的概念在 做模擬。C++置於圖 3-2 最底層,用以表示 NS2 的主要核心。Tclcl 就是 OTcl 及 C++間溝通的橋樑。最後搭配一個 User Interface,這樣就構成了 NS2。整個架構 如 Fig. 3-2 所示。. 21.

(32) Fig. 3-2. NS2 架構. 總而言之,NS2 就是一個 OTcl 的腳本解譯器(script interpreter),它把使用者 所寫好的腳本進行解讀後,產生出模擬的結果,使用者再對數據進行分析,或者 是透過 NAM 工具程式把模擬的過程用動畫的方式呈現出來,這可以令使用者對 模擬有更清楚的瞭解。. 22.

(33) 3.1.2 Cygwin、NS2 之安裝[5][7][8] 在安裝 NS2 之前,需先安裝 Cygwin。 以下在 WIN7 下安裝 Cygwin 之步驟: (1) 在cygwin官網下載cygwin (https://www.cygwin.com/)。 (2) 下載後執行。. 23.

(34) (3) 選擇從網路下載. (4) 選擇要安裝的目錄,建議使用預設路徑 C:\cygwin。. 24.

(35) (5) 選擇自己要下載的網址,如果發生錯誤,請另行選擇其他網址下載。. (6) 選擇下載後檔案的放置處. 25.

(36) (7) 選擇 OK. (8) 右上角 View 點選到右邊出現 Full,左下角不要打勾。接著選以下的名稱來 安裝(安裝方式為點選 Skip,變成不是 Skip 字樣即可)。 diffutils,gcc4,gcc4-g++,gawk,gnuplot,gzip,libX11-devel,libXmu-devel,make,patch,pe rl,tar,w32api,X-startup-scripts,xinit,X11 全裝. 26.

(37) NS2之安裝方法: (1) 執行Cygwin,第一次執行時程式會在C:\Cygwin\home目錄下產生一個使用者 本身(username)的資料夾,並放入環境變數設定如:.bashrc、.bashrc_profile 和.inputrc。(注意:系統會自動使用該電腦的使用者名稱及電腦名稱,例如: cygwin/home/ABC,ABC為使用者的電腦名稱。使用者名稱/電腦名稱請勿使用 中文命名,其名稱也不能存在著空格符號)。 (2) 把網路下載的模組複製到使用者名稱資料夾底下進行解壓縮,以ns-2.35模組 為例,壓縮的方法:執行Cygwin後輸入指令tar -xvfz ns-allinone-2.35.tar.gz按下 Enter開始自動解壓縮;若無法以輸入指令方式解壓縮檔案,則可直接對該壓縮 檔點右鍵進行解壓縮。. 27.

(38) (3) 解壓縮完後,輸入指令 cd ns-allinone-2.35 將工作目錄移到此資料夾,再輸入 指令./install,就開始安裝 ns2.35 模組。. (4) 重新編譯模組之操作,輸入指令 cd ns-allinone-2.35/ns-2.35 將工作目錄移到 此資料夾,再輸入指令 make,就開始編譯 ns2.35 模組(注意:若有修改或新增程 式到原來模組時,就得再經過重新編譯才能完成修改或新增)。. 28.

(39) (5) 如果要安裝其它版本的NS2模組,也是使用上述四個步驟(ex:ns-2.34、 ns-2.36 …)來進行安裝。 (6) 設定程式路徑 開啟home/username/底下的.bashrc檔案,並將下述指令加到最下方,username為 個人電腦的名稱並重新make。. 檢測安裝成功與否: (1) 執行Cygwin,輸入指令startxwin,進入圖形化介面視窗。. 29.

(40) (2) 在 新 視 窗 輸 入 指 令 cd ns-allinone-2.35/ns-2.35/tcl/ex , 再 輸 入 指 令 ns example.tcl 及 ns nam-example.tcl,測試 NS2 是否已經安裝成功。. (3) 若安裝成功,執行結果會如下所示,而NAM會以動畫呈現,並產生.tr的紀錄 檔。. 30.

(41) 3.2 模擬結果格式及相關工具[5][7] 模擬結束後,會在同一個目錄下產生out.tr與out.nam,其中out.tr的格式如下 event. time. from. to. pkt. pkt. flags. node. node. type. size. fid. src. dst. seq. Pkt. addr. addr. num. id. (程式中開啟記錄檔的方法是set nd [open out.tr w] ) 例如:模擬結果產生出out.tr的資料流中有一筆為 +. 0.1. 1. 2. cbr. 1000 ---. 2. 1.0. 3.1. 0. 0. 此筆資料表示在0.1秒的時候,從節點1送到節點2的資料形態為cbr,長度為1000 bytes,資料流id為2,從來源端(1,0)到目的端(3,1),序號為0,packet id為0。. AWK 語言 AWK有一般程式語言常見的功能,另外AWK內建一些功能,使得AWK擅 長處理資料列、欄位型態的資料。AWK還具有某些特點,例如:不需編譯即可 使用;變數無型別之分;可用文字當陣列之註標等,因此,使用AWK撰寫程式 較為簡單、便利、省時間。AWK內建pipe功能,可將處理中的資料傳給外部的 Shell命令加以處理,再將Shell命令處理後的資料回傳到AWK程式。 運作流程:執行AWK時,程式會自行反覆執行下面四個步驟,所以使用者 不用特地在程式中寫迴圈。 . 自動從指令的資料檔中讀取一筆資料列。. . 自動更新相關的內建變數之值。. . 逐次執行程式中所有指令。. . 當執行完程式中所有指令後,若資料檔中有未讀取到的資料,則反覆執行以 上步驟。. 31.

(42) 第四章. 演算法模擬及數據分析. 4.1 模擬相關過程 模擬相關過程,主要是修改 NS2 底層的 C++ code,添加論文中所需要的新 參數及演算法,再不斷的除錯和重新編譯來使 NS2 可以正常運作,接著執行一 些網路模擬的例子,再從模擬的結果去分析。如果數據不符合理論結果,我們可 以回到程式的底層再修改,來達到我們的理想結果,並把結果利用 Excel 繪圖呈 現,藉此能夠清楚的判斷數據的優劣點。過程如圖 Fig. 4-1 所示。. Fig. 4-1 模擬相關過程 32.

(43) 4.2 演算法添加 IAS 調整了原本 IEEE 802.15.4 所制訂的超訊框架構(圖 Fig. 4-2),使得活躍 區間散佈在整個超訊框中,希望藉此改善原本 CAP 因為超訊框長度所導致的傳 送效率不好。改變後的超訊框架構(圖 Fig. 4-3),能大大減少發送或接受過多的 beacon,進而節省能量的消耗。. Fig. 4-2 IEEE802.15.4 superframe架構. 33.

(44) Fig. 4-3 演算法所提出的 superframe 架構[4] 主要修改了 p802_15_4csmaca.cc、p802_15_4sscs.cc、p802_15_4mac.cc,而 底下 Fig. 4-4 及 Fig. 4-5 分別是 Coordinator 和 Node 演算法的大概方法。. 34.

(45) Fig. 4-4 Coordinator 演算法. 35.

(46) Fig. 4-5 Node 演算法. 36.

(47) 4.3 模擬參數設定 此模擬為求簡易,所以只探討在星狀拓樸下的架構,並在模擬的設定參數方 面開啟了 Energy model 模式,藉此觀察 coordinator 及 device node 的能量消耗。 執行模擬後所產生.tr 檔再透過 AWK 程式取出我們所需要的數據,接著再用 Excel 繪成一張能量的曲線圖,這樣我們就能清楚的比對 IAS 及原本的 superframe 架 構之間的差異。 模擬的主要架構是由一個 coordinator 和 node1、node2、node3 組成,其中 coordinator 不斷傳送封包給 device,採用的傳輸模式為 ftp,如表 Table 4-1 所示, 而能量消耗的參數設定如表 Table 4-2 所示。. Table 4-1 參數設定. 37.

(48) Table 4-2 能量部分的參數設定. 38.

(49) 4.4 模擬結果探討. Fig. 4-6 平均延遲比較圖 IAS架構下的延遲 0.007598  100%   100%  66% 原始架構下的延遲 0.011371. Fig. 4-7 能量剩餘圖(IO=0). 39.

(50) Fig. 4-8 能量剩餘圖(IO=1). Fig. 4-9 能量剩餘圖(比較) 由於修改過的 IO=0 與未改過無 IO 所呈現的數據一模一樣,所以這邊只比 較 IO=0 與 IO=1 的結果。從圖 4-7、4-9 可得知 IO=1 時所呈現的平均延遲與剩餘 總能量比 IO=0 時來的好,適時的調整超訊框架構能夠為節能方面帶來更好的結 40.

(51) 果。但在模擬過程中發現,IO=2 的時候會出現錯誤,故這邊暫時先用 IO=0 與 IO=1 來比較。而且在 IO=1 時又發現執行某些模擬時間會造成負的 delay 而導致程式 停止執行,所以在程式方面還有地方需要修改來讓模擬能夠更完整的呈現。. 41.

(52) 第五章. 結論. 本論文中的 IAS 演算法,利用 IO 來調整超訊框的架構,使得活躍期及非活 躍期平均地分散在超訊框中,大大減少傳送及接收時所產生的 beacon,beacon 減少就能換來更多的頻寬及節省更多的資源,進而使得電池消耗變得更少。 在未來模擬這方面,使用者可以透過前面一些簡單的介紹及錯誤的地方著手, 能夠較快掌握到演算法整體的架構及解決問題,並且可以透過 AWK、Excel、產 生的 trace 去分析,找到更合適的 BO、SO、IO 值,而讓 IAS 演算法所呈現出來 的效果更加完美。. 42.

(53) 参考文獻. [1] IEEE802.15.4 Task Group , “IEEE802.15.4-2006 standard”, IEEE,2006 [2] ZigBee Allince.Available at http://www.zigbee.org [3] IEEE802 working Group, “Standard for Part 15.4 : Wireless Medium Access Control (MAC) and Physical(PHY) Specifications for Low Rate Wireless Personal Area Network(LR-WPANs), ” ANSI/IEEE 802.15.4 Sept. 2006. [4] S. T. Sheu, Y. Y. Shih, and L. W. Chen, “An Adaptive Interleaving Access Scheme(IAS) for IEEE 802.15.4 WPANs”, in Proceeding of Vehicular Technology Conference, pp. 1523-1527, Jun. 2005. [5] 計算機網路實驗-使用 ns2 模擬多媒體通訊與無線網路, 柯志亨團隊著, 學 貫出版。 [6] ZigBee 開發手冊鄭立原著, 孫棣編譯, 全華出版。 [7] NS2 使用說明手冊。http://csie.nqu.edu.tw/smallko/ns2_old/ns2.htm [8] Windows 7 安裝 cygwin & NS2-v2.35。 http://monsterridesdog.blogspot.tw/2012/10/ns2-v235-cygwin-on-win7.html [9] 蔡承安,” ZigBee 節能之模擬探討”碩士論文,電機工程研究所,義守大學, 2012。 [10] 陳奕學,” ZigBee 之 CAP 的效能模擬探討”碩士論文,電機工程研究所,義 守大學,2012。. 43.

(54)

數據

Table 2-1 ZigBee 工作頻帶與調變技術 ...........................................................................
Table 2-1 ZigBee 工作頻帶與調變技術
Fig. 2-2 Superframe 架構圖[1]
Fig. 2-4 訊標訊框格式[1]
+7

參考文獻

相關文件

(三) 使用 Visual Studio 之 C# 程式語言(.Net framework 架構) ,設計 各項系統程式、使用者操作介面,以及報表。. (四) 使用 MS

1.提高接收資料的速度 2.降低資料傳輸速度 接收端RX接收資料的速度低於發.

Caption 出現的文字 Enabled 是否有致能 Value

a 顧客使用信用卡在線上付款時,只要輸入其卡號及有效期

ƒ 提供 Connection Oriented (連結導向) 並達成End-to- End (兩端通訊端點對端點) Process-to-Process (程序對 程序)、Reliable Data Delivery

• 參考「香港學生資訊素養架構」 參考「香港學生資訊素養 架構」 參考「香港學生資訊素養架構」 *,推行全校參與方 式 推行全校參與方式 的校本資訊素養 課程 ,例如 ,例. 如

在軟體的使用方面,使用 Simulink 來進行。Simulink 是一種分析與模擬動態

類神經網路 ( Artificial Neural Network ),根據 DARPA Neural Network