zigbee and z-stack advanced developmentftp.syris.com/syris_zigbee_2530_sdk_dvd/powerpoint...zigbee...

63
ZIGBEE And Z-Stack Advanced Development Company : SYRIS

Upload: others

Post on 10-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

ZIGBEE And Z-Stack Advanced Development Company : SYRIS

Outline 前言(無線感測網路簡介)

IEEE 802.15規範

ZIGBEE

Z-Stack

Z-Stack Firmware

Wireless Sensor Network

前言 無線感測網路簡稱 “WSN (Wireless Sensor Network)” 另外也稱為“Wireless Sensor & Actuator Networks”

-Sensor

-Control

無線感測網路

與傳統有線網路或無線網路進行感測與控制有什不同?

前言(續)

無線感測網路

傳統有線與無線網路

無線感測網路 有線網路 無線網路 連接方式 無線 有線 無線 電源 可使用電池供應

(耗電量極低) 必須連接電源線

(耗電量高) 必須連接電源線

(耗電量高) 設備成本 低 高 極高 佈置設備 簡單 極複雜 複雜 傳輸距離 短 長 長 傳輸速度 慢 快 快 用途 感測與簡易控制 大量傳輸 大量傳輸

各種網路規格比較

前言(續)

優先級

無線感測網路技術需求 前言(續)

以往傳統無線感測網路的問題: 欠缺標準化通訊協定

由於沒有標準規範,各製造廠商制定自己獨有的協定。

智慧財產權 由於取得各家通訊協定財產權需要費用,當取得多家通訊協定財產權時,費用則不容小覷。

相互連結性 非標準化的無線感測網路通訊協定各式各樣,各製造廠商之間產品無法相互連結。

零件的穩定供應 非標準化的RF控制產品,大多從指定製造商排程,因此零件的穩定供應得不到保證。

前言(續)

IEEE 802.15

IEEE 802.15 1998年: IEEE設立IEEE 802.15 Working Group for

Wireless Personal Area Networks(WPAN)進行標準化作業。

From - www.ieee802.org/15/

甚麼是IEEE 802.15? 任務主要是發展短距離無線通訊標準,

也稱為“無線個人區域網路 (WPANs) ” 。

IEEE 802.15 任務分組: Bluetooth WPANs組

訂定Bluetooth標準協定,使各家廠商發展產品具有相容性。

共存組 為所有工作在2.4GHz頻帶上的無線應用建立標準規範。

高資料傳輸組 此為802.15.3,主要提供短距離高資料傳輸的應用領域。

802.15.4組 發展低功耗、低成本、低數據傳輸、低複雜度、可相互連結的設備。

IEEE 802.15(續)

IEEE 802.15(續) 通訊 距離

1000m

100m

10m

100k bps

1M bps

10M bps

傳輸 速度

Zigbee IEEE 802.15.4

Bluetooth IEEE 802.15.1 UWB

IEEE 802.15.3a

Wi-Fi IEEE 802.11b IEEE 802.11a

IEEE 802.11g

2G PDC/GSM

3G CDMA

WiMAX IEEE 802.16a

無線PAN 短距離

無線LAN

無線WAN 無線MAN

各類無線網路

IEEE 802.15(續)

ZIGBEE網路使用範圍

802.15.4標準架構

IEEE 802.15(續)

PHY: 檢測頻道電場強度 設置通信頻道頻率 啟動停止發送接收訊號 評估該頻道有無電波干擾 發送接收基本通訊框 檢測通訊路徑的鏈結品質

MAC: CSMA/CA方式頻道存取 可靠的資料通訊鏈結 網路的存取與切斷 超框同步訊號的信標發送(FFD) 透過信標接收來實現與父節點同步 檢測通訊路徑的鏈結品質 保證時間槽的管理 加密安全功能

CSMA/CA Carrier Sense Multiple Access with Collision Avoidance

( 載波偵測多次存取 / 避免衝突 )

防止多部電腦同時往A電腦傳送資料

導致碰撞。

IEEE 802.15(續)

工作頻道 空閒中

產生隨機 延遲時間

延遲時間內,頻道是否忙碌

凍結時間, 直到該頻道忙碌結束

將資料送出

無 忙碌結束

時間到,且該頻道空閒中

繼續倒數剩餘時間

檢查至

時間到

CSMA/CA運作流程

有線CSMA/CA碰撞

CSMA在發送訊號時, 通常會先檢查線路是否有空閒。

IEEE 802.15(續)

無線CSMA/CA隱藏終端問題 但表現在無線網路時,

會因右圖A與B在無線訊號檢測之間

被一面牆擋住或者因為距離過遠

而導致CSMA/CA無法檢測到對方電波 是否要發送訊號,此時A、B便同時

將資料往C端送,導致產生碰撞。

解決方式:使用“超框”

IEEE 802.15(續)

同步模式(Beacon Mode) 競爭存取時段(CAP) 採用CSMA-CA的協定來避免傳輸碰撞

非競爭存取時段(CFP)

0

1

2

3

4

5

6

7

8

9

GTS GTS

10 11

12

13

14 15

超框(16個時間槽)

時間槽

信標 CAP(競爭週期) CFP(非競爭週期)

CAP 沒有預定的行程,可自由使用任意時間槽,使用CSMA/CA方式則必

須與其他設備競爭取得傳輸時間。

CFP 有預定好的行程,有保證時間槽,沒預定就不可使用。因此能透

過協調器供被指定的節點使用,可防止衝突發生,確保資料傳輸。

IEEE 802.15(續)

ZIGBEE

2001年8月: ZIGBEE聯盟成立

2002年下半年: 英國Invensys、日本三菱、美國摩托羅拉、荷蘭飛利浦四大巨頭共同宣布加入“ZIGBEE聯盟”

直到至今,擁有兩百多家企業加入聯盟

ZIGBEE

低耗電量

低費用

大網路節點 容量

相互連結性

符合IEEE 802.15.4國際標準規範

ZIGBEE(續)

802.15.4 802.11b

名稱 ZIGBEE Wi-Fi

頻率 2.4GHz 2.4GHz

調變方式 O-QPSK

CCK,PBCC

展頻方式 DSSS DSSS

通訊距離 30m 100m

通訊速度 250Kbps 11Mbps

網路容量 65536節點 32節點

堆疊區容量 16KB~128KB 1MB以上

電池壽命 幾個月 幾小時

應用 測量控制 無線LAN

ZIGBEE(續) ZIGBEE標準規格

ZIGBEE(續)

IEEE802.15.4名稱 PAN網路協調器 網路協調器 網路設備 ZIGBEE名稱 ZIGBEE 網路協調器 ZIGBEE路由器 ZIGBEE終端設備 網路的啟用功能

路由功能 無線信標發行 管理範圍 所有節點 本身的子節點 僅本身 允許節點數 1個 多個 多個 耗電量 大 大 小

所需微處理器資源 大 中 小 設備型態 FFD FFD RFD 費用 高 高 低

ZIGBEE各設備說明

ZIGBEE能做甚麼事?

ZIGBEE(續)

Z-Stack

Z-Stack 2007年4月: 德州儀器(TI)推出業界領先的ZIGBEE協議軟體: Z-Stack

符合ZIGBEE聯盟規範 支援多種硬體平台 擁有自組網特點

ZIGBEE Alliance規範 Z-Stack以802.15.4為基礎,訂定了網路層(NWK) 、應用支持層(APS) 、ZIGBEE設備物件(ZDO) 。

Z-Stack (續)

IEEE

80

2.15

.4

ZIG

BEE

Alli

ance

Z-Stack (續) 網路層(NWK)的功能

加入與離開某個網路 將封包做安全性處理 傳送封包到目標節點 找尋並維護節點的繞徑路線 搜尋鄰節點 儲存相關鄰節點資訊

ZIGBEE 協調器例外工作 發起一個網路 設定各項網路參數 分派網路位址並規範網路位址分發原則

應用支援子層(APS)的功能

負責上層應用程式與下層網路層的協調

維護綁定表,用來配對兩網路節點間所需服務的對應表

轉發已配對裝置間的訊息

處理64位元與16位元

IEEE位址間的對應

Z-Stack (續)

ZIGBEE設備對象(ZDO)功能

發現網路中的裝置 選擇所提供的服務 定義裝置在網路中的角色(ZC、ZR、ZED) 發起和響應綁定請求

Z-Stack (續)

From Newnes.ZigBee.Wireless.Networks.and.Transceivers.Sep.2008

Z-Stack (續) IEEE 802.15.4傳輸結構

Z-Stack是以IEEE 802.15.4為基礎,發展星狀、網狀、樹狀等多種網路拓撲

End device

Coordinator

Router

Mesh Topology

Coordinator

Router

End device Tree Topology

Coordinator

Star Topology

End device

Z-Stack (續)

星型 網狀 樹狀 消耗電量 小 大 中 安裝費用 低 高 中 通訊距離 短 長 長

1個網路最大節點數 少 多 多 連結可信度 低 高 低

多路由路徑資訊 少 多 多 延遲時間 短 難預測 能預測

Z-Stack (續) 星狀、網狀、樹狀網路拓撲比較

優勢

Star Mesh Tree

Z-Stack (續) 綁定是什麼? 兩個應用設備之間訊息交換的控制機制,另外也稱為資源綁定。 綁定允許應用程序發先送一組數據,不需要知道目標位址。 APS層會從綁定表中查詢確定目標位址,然後將數據繼續 往目標傳送。

End-Device Coordinator

發送數據給任一裝置

Parent

開始發送數據給目標位址

裝置回應位址

APS綁定表 比對位址

比對成功

廣播是什麼? 可將資料傳輸到網路上的所有節點,而非特定的節點。

廣播三種類型 NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF) |=將數據傳送到網路上所有設備,包括睡眠中的設備。 NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD) |=將數據傳送到網路上所有空閒的設備,不包括睡眠中的設備。 NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC) |=將數據傳送到網路上所有的路由器,包括協調器。 AF_DEFAULT_RADIUS |=可設定廣播深度(0為不限制、n為只能經過n次路由)

Z-Stack (續)

Profile? ZIGBEE將應用劃分為不同領域, 每個應用領域都有自己的Profile , ZIGBEE-Profile為各個領域提供標準的接口與設備定義 , 使不同設備廠商生產針對ZIGBEE之同一類的應用產品之間能有互通性。

A廠製- 協定Profile1 B廠製-

協定Profile1

C廠製- 協定Profile1

B廠製- 協定Profile1

A廠製- 協定Profile1

C廠製- 協定Profile1

具有Profile1協定之ZIGBEE-RF

Z-Stack (續)

Profile1 電燈控制產品

End-Point? 為了能在同一節點上同時進行多個流程通訊 ,在

ZIGBEE網路中, 1個節點位址下面也設有多個End-Point。

Z-Stack (續)

B廠製- 協定Profile1

A廠製-協定Profile1

C廠製- 協定Profile1

End-PointA

End-PointB

End-PointC

A廠製-協定Profile1 End-Point0~3

0 1 2 3

Z-Stack (續) Cluster(群集)? 向外部相同屬性之設備進行溝通。例如:控制調光、燈光開關、燈光閃爍等。

控制閃爍

控制開關

控制明暗

控制燈光顏色

Cluster

RF

RF

RF RF

Z-Stack (續)

A廠製-協定Profile1 End-Point0~3

0 1 2 3

B廠製- 協定Profile1

A廠製-協定Profile1

C廠製- 協定Profile1

End-PointA

End-PointB

End-PointC

結合表 EP-0 EP-A(明暗)、EP-B(明暗) EP-1 EP-C(燈光顏色變化)

Profile1 電燈控制產品

Cluster

Profile Z-Stack領域整合方式

Profile ID Profile Name 0101 Industrial Plant Monitoring (IPM) 0104 Home Automation (HA) 0105 Commercial Building Automation (CBA) 0107 Telecom Applications (TA) 0108 Personal Home & Hospital Care (PHHC) 0109 Advanced Metering Initiative (AMI)

From ZigBee Alliance.

Profile ID 定義

Z-Stack (續)

From ZigBee Alliance.

Cluster ID定義

Device ID定義

Z-Stack (續)

Profile Endpoint DeviceID Cluster

Home Automation

(0x0104) 0x10

0x11

On/Off Light

(0x0100)

On/Off Light

Switch (0x0103)

On/Off (0x0006)

On/Off Switch Config

(0x0007)

Z-Stack (續)

ZCL HA表現關聯表

擁有“自組網優勢” 能夠實現各個通訊節點之間自動組網,並自行選擇最佳通訊路徑。 當網路中某個節點退出或者變更位置、故障,ZIGBEE網路會自動重新創建最佳路由。

Z-Stack (續)

自動修復功能

Coordinator

Router

End Device

R1

R2

Z-Stack (續)

協調器建構網路(自動組網1/3)

Coordinator NWK

Coordinator MAC

Coordinator API

網路形成請求 掃描檢測頻道

傳回 訊號偵測、頻道掃描

設定可使用頻道

傳回 頻道掃描

網路形成完成

網路發起

建構完成

Z-Stack (續)

Device / Router 和 Coordinator 組網(自動組網2/3)

Router/Device API

Router/Device MAC

Coordinator MAC

Coordinator API

掃描請求 Network Start(Non-beacon)

信標發送

發送信標請求

連結請求

掃描確認

連結請求 連結通知

連結回應

連結回應

資料請求 連結確認

通訊狀態通知

Z-Stack (續)

Device Router R1

Coordinator

連結請求

連結回應

Parent Parent

連結請求

連結回應

傳送資料(For Coordinator) 傳送資料

已確認目標是End-Device 確認

Z-Stack (續) Device 與 Router 和 Coordinator 組網整體表現 (自動組網3/3)

啟動開關節點 (路由器)

空閒頻道

加入網路

[6]按下”設定”按鈕

開關狀態發送

延遲

[1]啟動網路

按下”設定”按鈕

電燈開關控制

啟動燈節點 (協調器)

開關是 啟用/關閉

結合確定

Z-Stack (續)

[2]信標請求 [3]信標發行

[4]加入申請 [5]加入許可 終端設備結合請求 終端設備

結合請求

[8]結合請求

成功

數據發送

ACK

無狀態

以家庭照明為例

Z-Stack Firmware

Z-Stack (續)

Z-Stack (續)

TI - Packet Sniffer

TI - SmartRF Flash Programmer

TI - ZTOOL

Z-Stack (續)

Z-Stack範例包含: Home Automation 電燈開關控制應用

SampleApp Led閃爍控制

GenericApp 訊息廣播應用

SerialApp 串列接口及RF無線傳輸

SimpleApp 感測網路的應用及資料傳輸

Transmit RF無線傳輸

Z-Stack (續)

OSAL API 任務程式註冊、初始化、啟動 任務程式間的訊息傳送 任務程式間的同步機制 中斷處理機制 計時器控制 記憶體配置管理

ZDO API 啟動裝置網路 發現裝置與服務 鏈結(Bind)裝置服務以及解鏈結服務 網管服務

Z-Stack (續)

AF API APO/EP的管理 傳送和接收資料

APS API

鏈結記錄表的管理 群組資料表的管理 快速位址查詢

NWK API (除了管理以外,APP層皆無法存取網路層資料)

網路管理 位址管理

Z-Stack (續)

HAL API (除了管理以外,APP層皆無法存取網路層資料)

可存取底層硬體資源,如:Timer、GPIO、UART、ADC

HAL API主要可分為三類: 啟動函數

啟動某些硬體並初始化,通常在電源開啟時會被調用。 服務存取函數

這些函數可直接存取硬體暫存器內容或控制硬體元件動作。

回叫函數 當硬體事件發生時,會主動呼叫回叫函數,並經此函數

將事件傳給上層應用程式。

Z-Stack (續)

開啟專案後,在Workspace裡可選擇不同裝置,其中: CoordinatorEB RouterEB EndDeviceEB

主板使用MCU-KIT1

Z-Stack (續)

可將自己的應用程式寫在App

Z-Stack (續)

在硬體的規劃部分,在HAL資料路徑下,有個Target資料夾,其中: 其資料夾內包含了不同主板的資料夾。

在每個主板資料夾中包含了: Includes :包含mcu 、types的相 關定義 Config :包含MCU-CC2530初始 化的設定。 Driver : 包含CC2530及主板裝 置會使用到的相關函 式設定

Z-Stack (續)

Config中主要包含了: CC2530啟動時的震盪頻率

LED的腳位規劃

Button的腳位規劃

驅動程式的配置

OSAL NV的內部Flash page

Z-Stack (續)

Drivers中主要包含了: CC2530內部ADC設定 CC2530內部DMA設定 Button相關函式 LCD相關函式 LED相關函式 睡眠模式相關函式 裝置啟動相關函式 TIMER相關函式 UART相關函式

Z-Stack (續)

Includes中主要包含了: Hal_aes :支援HW/SW AES加密

hal_dma :DMA相關服務的宣告

Hal_mcu :描述MCU相關參數

Hal_types :型態的相關參數設定

Z-Stack (續)

Thank you to advise !!