Chapter 6 ZigBee/IEEE 802.15.4 簡介 1
6.1 概述 WMAN 無線都會網路 : 802.16 WLAN 無線區域網路 : 802.11 WPAN 無線個人網路 : 802.15 2
802.15 Working Group 1. 802.15.1: 藍芽 (Bluetooth) 通訊標準 2. 802.15.2: 定義 802.15 在 2.4G 公用頻帶的互通性 3. 802.15.3: WiMedia 定義短距離高頻寬的通訊標準 (110~200Mbps, 個人多媒體傳送 ) UWB (Ultra Wide Band) 4. 802.15.4: ZigBee 定義短距離低速率的通訊標準 3
802.15 Working Group 4
802.15 Working Group 802.11b vs Bluetooth vs ZigBee SHORT < RANGE > LONG TEXT INTERNET/AUDIO COMPRESSED VIDEO ZigBee Bluetooth 1 802.11b Bluetooth 2 802.11a & 802.11g MULTI-CHANNEL DIGITAL VIDEO 802.15.3/WIMEDIA LOW < ACTUAL THROUGHPUT > HIGH 5
ZigBee Overview (4/7) The IEEE 802 Wireless Space WWAN 802.22 Range WMAN WLAN WPAN ZigBee 802.15.4 Bluetooth 802.15.1 802.20 WiMax 802.16 WiFi 802.11 802.15.3 0.01 0.1 1 10 100 1000 ZigBee standard uniquely fills a Bandwidth (Mbps) gap for low data rate applications 6
802.15.4 7
6.2 802.15.4 概述 LR-WPAN Star topology or Peer-to-Peer topology Two Types of devices 1. Full Function Device, FFD 可與任何裝置通訊 可成為網路協調者 (PAN coordinator) 2. Reduce Function Device, RFD 只可與網路協調者通訊 價格便宜 8
6.2.1 802.15.4 PHY ZigBee 所使用的頻段 ( 共 27 頻道 ): 1. 全球通用頻段 2.4GHz ISM 分成 16 個頻道, channel 的編號為 11~26 2. 美國使用 915MHz 分成 10 個頻道,channel 的編號為 1~10 3. 歐洲使用 868MHz 只用 1 個頻道,channel 的編號為 0 9
6.2.1 802.15.4 PHY ZigBee 所使用的頻段 : Area Frequency Band Channel Numbering Europe 868-870 MHz 0 America 902-928 MHz 1 to 10 Global 2.4-2.4835 GHz 11 to 26 10
6.2.1 802.15.4 PHY DSSS ( 直接序列展頻技術 ) 1. 使用一個展頻碼將每個位元以多個位元表示 2. 展頻碼延展訊號直接讓多個位元使用 3.DSSS 用 互斥或 結合數位資訊流與展頻碼位元流 ( 如下頁的例子 ) 11
DSSS ( 直接序列展頻技術 ) DSSS Example 12
ZigBee Radio ZigBee 所使用的頻段不同, 其展頻所使用的參數也就不同 在 2.4GHz 頻帶下所使用的 modulation type 是 32 個 PN-code 長度的 O-QPSK, Chip Rate 為 2Mchip/s 868/915MHz 則使用 15PN-code 的 BPSK, Chip Rate 分別為 300/600kchip/s PHY 868/915 MHz 2.4 GHz Spreading Parameters Chip Rate 300 kchip/s 600 kchip/s 2.0 Mchip/s Modulati on Bit Rate Data Parameters Symbol Rate Modulati on BPSK 20 kb/s 20 kbaud BPSK BPSK 40 kb/s 40 kbaud BPSK O-QPSK 250 kb/s 62.5 kbaud 16-ary Othogona l 13
ZigBee Radio BPSK (1/2) DSSS IF 14
ZigBee Radio - BPSK (2/2) 15
ZigBee Radio O-QPSK (1/3) QPSK (Quadrature Phase-Shift Keying) 16
ZigBee Radio O-QPSK (2/3) The problem of QPSK 17
ZigBee Radio O-QPSK (3/3) OQPSK (Offset QPSK) 18
6.2.2 802.15.4 MAC ZigBee 的 frame 種類有四種 : 1. Data frame 是用來傳輸資料 2. Beacon 是用來做同步化 3. Acknowledgment frame 4. Mac command frame 則是用來下些指令, 例如 data request 19
6.2.2 802.15.4 MAC ZigBee 的傳輸模式有兩種, 一種是 Slotted 另一種是 unslotted 1. Slotted 是指 coordinator 會定時發出 beacon 來做同步化的動作, 適合用來傳輸定時性的資料和需要低延遲的資料 2. Unslotted 則是指裝置要傳輸資料的話都靠 CSMA/CA 來搶頻寬傳輸資料, 適合用來傳不定時的資料 20
ZigBee 的傳輸程序 (1/3) Overview of 802.15.4 Data transfer coordinator 傳輸給 device Slotted Un-Slotted coordinator Beacon Data request Acknowledgment Data Acknowledgment Network Device Slotted CSMA/CA coordinator Data request Acknowledgment Data Acknowledgment Network Device Un-Slotted CSMA/CA Reference: ZigBee/IEEE 802.15.4 Summary http://pages.cs.wisc.edu/~suman/courses/838/papers/ 21
ZigBee 的傳輸程序 (2/3) Overview of 802.15.4 Data transfer device 要傳資料給 coordinator Slotted Un-Slotted Network coordinator Device Beacon coordinator Network Device Data Slotted CSMA/CA Data Un-Slotted CSMA/CA Acknowledgment Acknowledgment Reference: ZigBee/IEEE 802.15.4 Summary http://pages.cs.wisc.edu/~suman/courses/838/papers/ 22
ZigBee 的傳輸程序 (3/3) Overview of 802.15.4 Data transfer device 要傳資料給 device Only Un-Slotted Network Device Network Device Data Un-Slotted CSMA/CA Acknowledgment Reference: ZigBee/IEEE 802.15.4 Summary http://pages.cs.wisc.edu/~suman/courses/838/papers/ 23
Superframe 架構 (1/5) Using slotted CSMA/CA Coordinator allocate Super Frame (Slotted Mode) Reference: ZigBee/IEEE 802.15.4 Summary http://pages.cs.wisc.edu/~suman/courses/838/papers/ 24
Superframe 架構 (2/5) Super Frame (Slotted Mode) Active 可以分為 16 個時區 (first slot is beacon slot), 這 16 個時區又可分為競爭存取階段 (CAP) 和非競爭存取階段 (CFP) CAP (Contention Access Period)-CSMA/CA CFP (Contention Free Period)( 7slots) 指派保證時區 (GTS) 給要求頻寬的網路裝置 Inactive 是指不可以傳輸資料的時區 25
Superframe 架構 (3/5) Beacon 的功能是 啟動 superframe 將其他裝置同步 告訴不在這個網路裏的裝置這個有我這個 coordinator 形成的 PAN coordinator 告訴裝置有資料要傳輸給他 26
Superframe 架構 (4/5) 在 beacon enable 的模式下, 要傳輸資料有兩種方式來搶頻寬 1. 網路裝置依在 CAP 下, 要靠 CSMA/CA 來搶頻寬, 搶到頻寬才能傳輸資料 2. 當網路裝置想到傳輸資料時, 跟 coordinator 要求時區, 如果 coordinator 允許這個要求的話, 會指派保證時區 (GTS) 給要求頻寬的網路裝置 27
Superframe 架構 (5/5) Superframe 的長度取決於兩個包含在 Beacon 訊框的資訊 BO 和 SO BO 決定 superframe 的長度 SO 決定 superframe 中,active 時區的長度 0 SO BO 14 28
Association Procedure (1/2) 當一個裝置要加入由一個 coordinator 形成的 PAN 時, 會先掃描周遭有哪些 PAN, 決定其中一個加入, 並且向 PAN 的 coordinator association 的要求 當 coordinator 收到裝置傳來的要求時, 會決定要不要讓這個 device 加入, 當決定好了後,coordiantor 傳 beacon 告知 device 來拿要求加入的結果, 裝置向 coordinator 提出 data request, coordinator 就將結果傳給裝置 Make decision coordinator Association req. ACK Beacon Data req. ACK Association req. ACK Network Device Scan channel Wait for response Reference: ZigBee/IEEE 802.15.4 Summary http://pages.cs.wisc.edu/~suman/courses/838/papers/ 29
Association Procedure (2/2) Device 提出 association 的結果,coordinator 是以間接傳輸的方式告訴裝置 Device 需要向 coordinator 提出 data request 以取得 association 的結果 當裝置加入 PAN 後,coordinator 會向裝置指派一個 16 位元的位址 30
Slotted CSMA/CA 31
6.3 ZigBee 網路層 ZigBee 網路在各裝置間提供了一個可靠 安全的傳輸 在 ZigBee 網路層中, 有三種拓墣, 分別是星狀拓樸 樹狀拓樸 網狀拓樸 32
ZigBee 網路拓樸 (1/3) Star Topology 星狀拓樸 優點 容易同步化 有 superframe 低延遲 (one-hop) 缺點是難以擴充 End device Coordinator Reference: ZigBee Alliance http://www.zigbee.org/en/index.asp 33
ZigBee 網路拓樸 (2/3) Tree Topology 樹狀拓樸 優點 低路由成本 可以有 superframe 允許多點跳曜 (multi-hop) 缺點 是路由重建是成本大 延遲較長 (multi-hop) Coordinator End device Router Reference: ZigBee Alliance http://www.zigbee.org/en/index.asp 34
ZigBee 網路拓樸 (3/3) Mesh Topology 網狀拓樸 優點 允許多點跳曜 (multi-hop) 網路形成較具彈性 低延遲 缺點 不具有 superframe route discovery 成本過大 須儲存空間儲存路由表 Router End device Coordinator Reference: ZigBee Alliance http://www.zigbee.org/en/index.asp 35
ZigBee Network Layer 在 ZigBee 網路中, 裝置有三種角色可以扮演 : 1. Coordinator: 可以建立網路 管理網路 維護和控制網路 2. ZigBee 路由器 : 負責轉傳資料 3. 終端裝置 在星狀和樹狀網路中,coordinator 會定時地發出 beacon 來同步化網路中其他裝置 36
ZigBee 網路路由 ZigBee 路由 在樹狀網路中, 會利用指派位址的方式還找路徑 網狀網路中, 則會利用一個類似 AODV 的方法來找路徑 37
ZigBee 樹狀網路路由 (1/4) 在樹狀網路中, 各個 device 的位址是利用分散式位址指派的方法 在建立樹狀網路時,coordinator 在一開始就會建立三個參數, Cm: 一個 router 可以有最大的子數 Rm: 一個 parent 可以也最大的 Router 數 Im: 這個樹狀網路的 depth 所以可以透過下面的公式來算出 Cskip Cskip 是指 parent 的一個 subtree 最大的 node 數 38
ZigBee 樹狀網路路由 (2/4) Address assignment in a ZigBee tree network Which is used to compute the size of its children s address pools (each child router) Cskip 1 Cm ( Lm d 1), 1 Cm Rm Cm Rm 1 Rm Lm d 1 ( ) d, if Rm 1 Otherwise (a) (b) 39
ZigBee 樹狀網路路由 (3/4) If a parent node at depth d has an address Aparent the nth child router is assigned to address Aparent+(n- 1) Cskip(d)+1 nth child end device is assigned to address Aparent+Rm Cskip(d) +n For node C 0 + 4 * 31 + 1 = 125 Total:127 0 1 32 63 0 + (2-1) * 31 + 1 = 32 94 node A 32 125,126 40
ZigBee 樹狀網路路由 (4/4) ZigBee 樹狀網路路由 樹狀網路程序 當一個裝置 X 收到封包後, 裝置會先檢查封包的位址是不是和自己或自己的子孫一樣 如果是的話 ; A x <A dest <A x +Cskip(d-1)» 就會接收封包或者是傳到指定的子孫端點 如果不是的話» 就會轉送此封包給父節點 按照先前樹狀網路中裝置位址的算法, 祖先和子孫的關係可以靠位址就看得出來 41
ZigBee 網狀網路路由 (1/2) 在網狀網路中,route discovery 的機制類似於 AODV routing protocol, 都會選擇通訊成本較低的路線來送封包 Route discovery 過程 : 1. 起始點將路由請求封包廣播出去 2. 當一個 node 收到封包後, 考慮本身具不具路由能力, 有的話就將封包廣播出去, 沒有的話 (RFD) 就丟棄這個封包 3. 當目的節點收到封包後, 會選擇一條通訊成本較低的路線來回傳 route reply 42
ZigBee 網狀網路路由 (2/2) ZigBee 網狀網路路由 B S Route req. A D Route req. Route req. Route req. Route req. C Route reply T Unicast Broadcast Reference: ZigBee/IEEE 802.15.4 Overview www.csie.nctu.edu.tw/~yctseng/wirelessnet05-02/ Without Routing Capacity 43