SimpliciTI 網絡協議棧


【參考博文】
【1】SimpliciTI組網過程

——————————————————————————————————————————

1. SimpliciTI 概述

SimpliciTI 是TI公司針對簡單小型RF網絡開發的低功耗RF協議,主要實現無線網絡的初始化、節點加入、節點之間建立連接、終止連接、Ping查詢(類似因特網的ping,但不計算延時)、發送和接收數據等操作。
它在網絡裏提供了三種類似的節點:AP(Access Point)節點、ED(End Device)節點和RE(Range Extender)節點,即網絡接入點、終端接入點、和中繼節點。

2. SimpliciTI 的系統組成

2.1 加密技術

2.2 頻率捷變

2.3 網絡管理

2.4 訪問接入

2.5 範圍擴展器

2.6 電池供電網絡

3. 網絡拓撲結構

SimpliciTI 協議棧支持點對點和星形網絡的拓撲結構

  1. 星形:該網絡中,AP可作爲數據中心的Hub,這時AP可以爲睡眠的數據接收設備保護和轉發數據。如果沒有睡眠設備AP節點就可以作爲RE來使用。在這個網絡中節點之間同樣可以建立連接,實現點對點的通信
  2. 點對點:要求每個接收設備都是始終開啓,直接接收來自數據源節點的數據幀,或者來自RE。

4. 節點類型

4.1 AP節點

  1. 始終開啓,一個網絡中只允許一個AP存在
  2. 當作爲中心(data hub)存在時,負責上位機對整個網絡的控制接入點,通過接口(串口)控制網絡信息
  3. 一個AP節點可以負責網絡地址(網絡標識符Join Token)的管理,爲網絡分配連接標識符(Link Token)

4.2 RE節點

1.當網絡數據幀的跳數設置不爲0 時,RE節點只是對原數據進行轉發,相當於將原來的射頻節點的射頻有效範圍擴大了。並且,RE節點不能轉發來自另一個RE的數據

4.3 ED節點

  1. 終端節點實現整個網絡終端的功能(如傳感器數據採集、控制模塊的動作)
  2. ED可始終開啓,也可不始終開啓,進入睡眠模式

5. 網絡協議分層

SimpliciTI 協議棧簡單地分了三層,即MRFI、NWK、APP層SimpliciTI 在這裏插入圖片描述
SimpliciTI 沒有嚴格按照OSI參考模型設計

  1. 沒有正式的物理層(PHY)和數據鏈路層(LLC和MAC)。數據直接在射頻無線模塊被成幀結構化了。也就是說在射頻無線模塊部分已經做了這方面的工作
  2. 如果對可靠的數據傳輸有要求的話,需要在應用層中實現,因此也就沒有了傳輸層

5.1 application 層

應用層包含了一個應用TCP/IP協議中很典型的端口(port)機制。有網絡本事使用的和用戶可用的端口。對應用層來說,只需要知道建立連接的相關信息,利用網絡層處理連接參數即可。端口模式如下

5.2 NWK(Network)層

在這裏插入圖片描述
網絡層處理了整個協議的很多任務,如數據收發的網絡管理、射頻收發管理(包括射頻無線參數)、加密算法管理等。網絡層的參數主要有下面幾個

  1. 中心頻率和頻率間隔
  2. 可用的信道數目
  3. 調製技術、數據波特率和其他的射頻參數
  4. 默認和產生加密算法的密碼
  5. 支持保存並轉發數據的個數
  6. 設備地址
  7. Tx-only 設備的重發週期
  8. 加入和連接標誌

5.3 MRFI(Minimal RF Interface)

不同的射頻芯片具有不同的物理和鏈路層操作,MRFI層將這些統一裝入一個層中設置,因此對於SimpliciTI 來說沒有真正意思上的物理層和數據鏈路層,而是利用射頻芯片特徵,將這些操作功能全部封裝在了MRFI這一層,利用芯片的CCA(信道清理)功能實現了信道的接入,數據包的收發,向上傳遞數據包等任務。

6. SimpliciTI 幀結構

在這裏插入圖片描述
一個SimpliciTI 協議的數據幀結構包括了三個部分:

  1. 由MRFI(PHY/MAC)層處理的部分,包括了由硬件處理的前導碼和同步字節部分
  2. 由NWK層處理的網絡管理實現,包括了幀類型、加密狀態、跳數、序列號、同時一些連接和加入的參數分配也在該層完成。在該層負責了將數據幀分發到不同的端口以提供處理的任務。
  3. 應用層使用的有效負載部分

7. 網絡協議應用

網絡應用層的芝麻端口是用來管理網絡的點對點通信的手段。一些應用是強制要求的,而另一些是在一定條件下可選的。
在這裏插入圖片描述

7.1 查詢 Ping (0X01)

用來探測一個特定節點的存在性,發送者發送一個數據給接收者,接收者則迴應以惡搞應答幀給發起者。發送之後發起者將會等待應答,因此這裏需要使用一直超時機制。

7.2 連接 Link(0x02)

爲兩個節點的連接提供服務。提供兩種連接請求內容
在這裏插入圖片描述

7.2.1 連接請求(Link Request)

一旦連接請求建立,雙方就可以方便地相互傳送數據
請求發起者的數據幀請求是廣播的,而應答者的數據幀則是單播的。雙方都從數據幀中獲得對方的地址。
可以通過發起多個連接請求來建立多個連接。接收方將每個連接設置一個訪問標誌(Access Token)以建立多個連接。而發起方可以發起多個連接請求建立多個連接

  • 連接發起方負載(Client side):廣播
    未加密
    在這裏插入圖片描述
    加密
    在這裏插入圖片描述
    – Link Token
    – Local Port
    – Rx Type
    – Protocol Ver
    – CTR Value

  • 連接接收方負載(Server side): 單播

未加密
在這裏插入圖片描述
加密
在這裏插入圖片描述

7.2.2 終止連接請求 (Unlink Request)

7.3 加入網絡 Join(0x03)

7.4 安全 Security(0x04)

7.5 頻率捷變 Freq(0x05)

7.5.1 頻率切換命令

7.5.2 迴應請求

7.5.3 頻率切換請求

7.6 網絡管理

7.7 終端節點查詢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章