第二章 實驗平台與模擬環境
2.2 Zigbee 網路協定
IEEE 802.15.4/ZigBee 的命名,源自於蜜蜂在發現花粉時,展現如同 Zigzag (Z 字形)形狀的舞蹈,並與 Bee (蜜蜂),合成為 ZigBee,形象地表述了 ZigBee 產品 是像蜜蜂一樣小而敏捷;是一種相當先進新穎的短距離傳輸技術標準,由家用無 線通訊規格 HomeRF 聯盟中所分出來的技術,IEEE 802.15.4 所定義的低傳輸速 率之無線個人區域網路,是一種網路結構簡單且低價格的通訊網路,適合在電力 供應有限且只需簡單運算之應用的裝置中實現,其主要的特色在於低傳輸速率 (250 Kbps)、短距離傳輸(一般約為 50-100m,依耗電量的不同,可提升至 300m)、
可靠的資料傳輸、低耗電量、價格低廉及容易安裝。
IEEE 802.15.4 實體層(PHY)採用 Direct Sequence Spread Spectrum(DSSS)
技術,這 DSSS 技術主要的優點在於可以降低類比電路在開發上的複雜度與成本,
其傳輸速率介於 250kbps 至 20kbps 之間,看所用頻段而決定,頻段的使用分別 是 2.4GHz 的 ISM 頻段、美國開放的 915MHz 頻段,以及歐洲開放的 868MHz 頻段,而不同頻段可使用的通道分別是 16、10、1 個。圖 2-1 為 IEEE 802.15.4 操作頻帶示意圖。
圖 2-1 IEEE 802.15.4 操作頻帶示意圖
8
IEEE 802.15.4 的媒體存取層(MAC),定義了兩種傳輸協定,一種是同步模 式(Beacon Mode),另外一種則是非同步模式(Non-Beacon Mode)。
同步模式則是 IEEE 802.15.4 比較特別的規格,圖 2-2 為同步模式(Beacon Mode)資料傳送行為,利用信標的星型拓撲網路中,為於中心的父節點可以和 其從屬的多個子節點間進行資料交換,但是子節點和子節點間不能進行資料交 換。
圖 2-2 同步模式(Beacon Mode)資料傳送行為
非同步模式簡單來說就是直接使用 Unslotted CSMA-CA 協定,避免傳輸碰 撞。圖 2-3 為非同步模式(Non-Beacon Mode)資料傳送行為,本論文所使用的 資料傳輸方式為非同步模式。
圖 2-3 非同步模式(Non-Beacon Mode)資料傳送行為
9
基於 IEEE 802.15.4 的規格,ZigBee Alliance 定義了網路層(NWK)、應用層
(AP)與安全層(security)。網路層最重要的工作,在於負責網路機制的建立與 管理,同時具有自我組態路由路徑(self configure),以及自我修復路由路徑(self healing)的功能。在網路層中,ZigBee 定義了三種角色,第一個是網路協調者 (WPAN coordinator),負責網路的建立以及網路位置的分配;第二個是路由器 (router),主要負責找尋、建立、以及修復資料封包路由路徑,並負責轉送資料封 包,同時也具有網路位置的分配的能力;最後一個是末端裝置,只能選擇加入別 人已經形成的網路,可以收送資料,但不能幫忙轉送封包。網路功能是 ZigBee 最重要的一個特點,也是與其他 WPAN 標準最不一樣的地方;以規格來說,網 路層以 16bits 的資料長度來管理網路位置,理想上在同一個 WPAN,可以存在 65536 個 ZigBee 裝置,彼此透過多重跳點(multi hop)的方式,傳遞資訊,圖 2-4 為 ZigBee 網路拓撲架構。為了在省電、複雜度、穩定性與實現難易度等因素取 得一個平衡點,網路層的路由演算法,使用了下列三種方式:
1. AODV 演算法:建立隨易網路的拓樸架構,在 ZigBee 規格中稱為 Table Routing。
2. Motorola Cluster-tree 演算法:建立樹狀的拓樸架構,在 ZigBee 規格中 稱為 Tree Routing。
3. 利用廣播的方式傳遞資料
10
PAN coordinator Full Function Device Reduced Function Device
Star
Mesh
Cluster Tree
圖 2-4 ZigBee 網路拓撲架構
本論文採用英商 Jennic 公司所研發的 JN5121 wireless microcontroller 做為控 制介面,是世界上第一顆整合 RF 與 MCU 之 SOC 架構的低功耗 802.15.4 / ZigBee 晶片,如圖 2-5 所示。以下分別針對微控制器的周邊介面與 ZigBee 無線通訊作 介紹。
圖 2-5 Jennic JN5121 微控制器
JN5121 微控制器擁有 16 MHz 的處理能力,其核心採用 32 位元定點運算,
記憶體容量方面,JN5121 擁有 64K ROM 與 96K RAM,且提供豐富的周邊擴充 介面(圖 2-6),如下所示:
兩組 UARTs
11
兩組可程式化 Timer/Counters
兩組可程式化 Sleep Timers 與一組 Tick Timer
兩組串列介面 (與 SMBus 及 I2C 相容)
Slave SPI port (與 digital I/O 共用)
21 個數位 I/O lines (與 UARTs, timers 以及 SPI 共用)
四組 12-bit, 100Kbps 類比/數位轉換器
兩組 11-bit 數位/類比轉換器
可程式化比較器
圖 2-6 JN5121 周邊介面