zigbee and z-stack advanced developmentftp.syris.com/syris_zigbee_2530_sdk_dvd/powerpoint...zigbee...
TRANSCRIPT
前言 無線感測網路簡稱 “WSN (Wireless Sensor Network)” 另外也稱為“Wireless Sensor & Actuator Networks”
-Sensor
-Control
無線感測網路 有線網路 無線網路 連接方式 無線 有線 無線 電源 可使用電池供應
(耗電量極低) 必須連接電源線
(耗電量高) 必須連接電源線
(耗電量高) 設備成本 低 高 極高 佈置設備 簡單 極複雜 複雜 傳輸距離 短 長 長 傳輸速度 慢 快 快 用途 感測與簡易控制 大量傳輸 大量傳輸
各種網路規格比較
前言(續)
以往傳統無線感測網路的問題: 欠缺標準化通訊協定
由於沒有標準規範,各製造廠商制定自己獨有的協定。
智慧財產權 由於取得各家通訊協定財產權需要費用,當取得多家通訊協定財產權時,費用則不容小覷。
相互連結性 非標準化的無線感測網路通訊協定各式各樣,各製造廠商之間產品無法相互連結。
零件的穩定供應 非標準化的RF控制產品,大多從指定製造商排程,因此零件的穩定供應得不到保證。
前言(續)
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
各類無線網路
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(續)
2001年8月: ZIGBEE聯盟成立
2002年下半年: 英國Invensys、日本三菱、美國摩托羅拉、荷蘭飛利浦四大巨頭共同宣布加入“ZIGBEE聯盟”
直到至今,擁有兩百多家企業加入聯盟
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 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 (續)
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 (續)
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表現關聯表
協調器建構網路(自動組網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範例包含: 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 (續)
在硬體的規劃部分,在HAL資料路徑下,有個Target資料夾,其中: 其資料夾內包含了不同主板的資料夾。
在每個主板資料夾中包含了: Includes :包含mcu 、types的相 關定義 Config :包含MCU-CC2530初始 化的設定。 Driver : 包含CC2530及主板裝 置會使用到的相關函 式設定
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 (續)