互連設備通常使用幾種網狀拓撲之一進行聯網,這些拓撲注重網絡穩健性、范圍覆蓋和低功耗。設計人員往往要在這些相互競爭且不兼容的協議中做出選擇,然后在選定的硬件平臺上實現軟件堆棧。這兩項工作都具有挑戰性,而現在或許都不必去做了。
歸功于集成技術的發展,開發人員可以選擇現有的低成本、小基底面并支持多種競爭標準的網狀網絡控制器,包括 Thread、Zigbee 和低功耗藍牙 (BLE)。這可以帶來幾種程度不同的靈活性:
- 允許開發人員繼續進行設計,在設計周期的后期階段再選擇協議。
- 允許開發人員使用單個設備和開發平臺,并依據經驗為應用測試和選擇最佳協議。
- 單個平臺可以用于多個應用和地理區域。
- 允許使用一種協議部署設備,然后通過固件升級改為使用其他協議。
本文將說明有關無線網狀網絡的一些基礎知識,并接著介紹來自Silicon Labs的Mighty Gecko無線片上系統 (SoC) 系列和相關開發工具。然后將闡述設計人員如何通過使用此系列作為平臺,基于各種競爭網絡協議來快速創建有效的網狀網絡。
什么是無線網狀網絡?
無線網狀網絡不同于我們熟悉的星形拓撲網絡(如 Wi-Fi),或者符合原始藍牙規范的點對點協議。在網狀網絡中,數據包可以從一個連接的設備“跳躍”到另一個設備,直至到達目的地為止(圖 1)。此外,每個單獨的設備只需處于網絡中另一個設備的通信范圍內,即可與同一網絡中的所有其他設備通信。例如,即使位于地下室的設備與閣樓中的設備都沒有足夠的射頻能量直接到達彼此,它們之間也能夠實現通信。良好的網狀協議可根據應用的需求來優化路由。
圖 1:星形網絡(上圖)有一個中心路由器或接入點,所有節點都必須通過它進行通信,而網狀網絡(下圖)中的所有節點通過協作在網絡中分發數據。(圖片來源:Silicon Labs)
由于網狀網絡中的所有設備通過協作將信息轉發到目的地,因此這種網絡可以容忍節點缺失、故障或斷電。如果每個節點都在其他多個節點的通信范圍內,則這種跳躍和路由功能可使網狀網絡具有高度穩健性和容錯性。該概念類似于作為 Internet 基礎的 TCP/IP 協議套件:數據包最終會找到它們的目的地,即使不總是通過直接路由。
目前有幾種競爭網狀網絡協議,盡管它們使用相似的基本原理,但仍然互不兼容。Zigbee、Thread 和 BLE 就是其中三種。這三種協議都采用相同的 2.4 千兆赫 (GHz) 頻段,但使用不同的網狀協議,因此不能互操作。
每種無線網狀協議都有自身的優缺點,需要由開發人員決定哪一種標準最適合自己。在某些情況下,開發人員可能更愿意建立自己專有的無線網狀網絡,而不是采用其中一種標準。這樣做的原因可能包括安全性、產品差異化或實現某些獨特功能集的需要。
Mighty Gecko 簡介
為了最大限度地提高靈活性,縮短設計和開發時間,最好選擇一款支持多種標準的無線網絡控制器。這樣可為開發人員帶來四個方面的靈活性。第一,可將選擇網絡標準的決策推遲到設計周期的后期階段,因為屆時可能會有更好的客戶反饋或市場信息。第二,允許開發人員在實驗室中測試不同的網絡標準,并根據經驗證據選擇最合適的一種。第三,允許使用不同的網絡標準將單個平臺部署到多個產品。這一點在服務世界各地不同的地理市場時可能特別有用。第四,允許現場修改、增強或升級設備或平臺,甚至可能包括通過變更支持的網絡。
為了向設計人員提供這些靈活性,Silicon Labs 開發了 Mighty Gecko 系列網狀網絡無線 SoC 設備(圖 2)。該系列(內部稱為 EFR32MG)包括幾個相關成員,全部基于相同的 40 兆赫 (MHz)Arm?Cortex?-M4 32 位處理器內核構建。
圖 2:Mighty Gecko SoC 系列基于 Arm Cortex-M4 構建,幾乎具有無線網狀網絡控制器所需的全部功能。(圖片來源:Silicon Labs)
選項包括片載閃存大小(256、512 或 1024 Kb)、內部 SRAM 大小(32、64、128 或 256 Kb)、封裝類型和溫度范圍。所有 Mighty Gecko SoC 都指定用于 -40°C 至 +85°C 工業溫度范圍,一些產品則可用于擴展/汽車級溫度范圍(-40°C 至 +125°C)。
作為 SoC,Mighty Gecko 幾乎具有無線網絡控制器所需的全部功能。框圖中左上方的無線電部分顯示了兩個單獨的射頻部分:一個是 2.4 GHz 頻段無線電,發射功率最高為 19 dBm,適用于 Thread、Zigbee 和 BLE 網絡;另一個是單獨的次 GHz 無線電,最高功率為 20 dBm,適用于實現專有網絡。
該芯片還具有齊全的片載電源管理功能、1.8 至 3.8 伏的工作電壓范圍、集成的 DC/DC 轉換器,以及“無線電喚醒”功能,該功能允許整個芯片在低功耗待機模式下進入休眠狀態,直到收到無線電數據包。此外,內置的信號強度檢測、前導碼模式檢測、幀檢測和超時功能,使該芯片能夠只在收到與其相關的無線電傳輸時才會喚醒,而不必在收到任何無線電流量時喚醒。
相比于從頭開始設計基于 Mighty Gecko 的板,使用現成的評估和開發套件開始設計則容易得多。SLWSTK6000B網狀網絡入門套件包含建立和測試小型網狀網絡所需的全部硬件和軟件。
該套件包含三個相同的板組,每個板組由主板和可選的插接式無線電板組成(圖 3)。單個板組可能適用于早期評估或軟件開發,但是要測試網絡至少需要兩個板組,而要測試網狀網絡功能則需要三個或更多個板組。因此,SLWSTK6000B 套件包含三個板組就不足為奇了。
圖 3:SLWSTK6000B 入門套件包含三個相同的板組,每個板組由主板和插接式無線電板組成,用于創建小型網狀網絡。(圖片來源:Silicon Labs)
在主板中間位置,看似是大型 IC 的器件實際上是 LCD 顯示屏(圖 4)。這一 128 × 128 像素的黑白顯示屏耗電量極低,而且在內部存儲像素數據,因此無需刷新。Mighty Gecko 微控制器芯片位于較小的插接式無線電板上。
圖 4:SLWSTK6000B 網狀網絡入門套件中的一對主板/無線電板。中央的大器件是位圖式 LCD 顯示屏。(圖片來源:Silicon Labs)
每塊主板上的插接式無線電板可以拆卸和更換,而且該套件為每塊主板提供了兩塊不同類型的無線電板,因此總共有六塊無線電板。套件中的這些板全部支持 2.4 GHz 頻段的 Zigbee 和 Thread 協議,但是也有其他具有不同射頻特性和頻率的板,包括支持用于專有網絡的次 GHz 頻率的板。
建議最好在安裝和運行軟件 IDE 之前組裝硬件并加電,但這不是硬性規定。只需選擇無線電板,輕輕地將其按壓到主板的匹配針座上。供電的方式有多種,包括電池、交流適配器或 USB,但 USB 電纜是最簡單的方法,而且有更多優點。USB 接口位于主板的左側邊緣,正對著無線電板。
在為板加電后,USB 連接器近旁的藍色 LED 將點亮,而中央位置的 LCD 方形顯示屏將亮起。經過短暫停頓后,綠色的“心跳”LED 也將點亮。
對于后續步驟,最好一直通過 USB 電纜將硬件連接到開發系統。此外,將小型三位電源開關(靠近主板左下角)移至最右側的“AEM”位置,也是個不錯的主意。
軟件安裝
Simplicity Studio 是 Silicon Labs 公司推出的一體式集成開發環境 (IDE),既可用于 Mighty Gecko,也可用于該公司的很多其他微控制器。要下載該免費軟件,請訪問該公司的Simplicity Studio下載頁面。安裝并運行 Simplicity Studio,然后繼續操作。
啟動 Simplicity Studio,按照提示執行一些適用于該開發套件硬件和所需軟件的額外配置步驟。此過程比較簡單,但需要作出幾項決定,還可能要執行額外的硬件注冊步驟。
如果主板仍然如上面建議的那樣連接到開發 PC,Simplicity Studio 將在安裝期間檢測該硬件的 USB 接口,并將自動下載和配置一些硬件特定的功能。
下一步是為該開發套件下載硬件特定的軟件。Simplicity Studio 提供兩個選項:“Install by Device”(按設備安裝)或“Install by Product Group”(按產品組安裝)(圖 5)。每個選項最終產生的結果相同,但選擇前一個選項更加簡單,所以請單擊“Install by Device”(按設備安裝)綠色大按鈕。
圖 5:Simplicity Studio 為加載項目特定的軟件支持提供了兩種方法:按設備安裝或按產品組安裝。(圖片來源:Digi-Key Electronics)
Simplicity Studio 應該會自動檢測開發板,但如果沒有,也很容易手動找到所需的軟件包。只需在搜索框中輸入“SLWSTK6000B”即可,如圖 6 所示。雙擊指示的軟件支持包,然后單擊“Next”(下一步)。
圖 6:在搜索框中輸入 SLWSTK6000B 可快速找到所需軟件。(圖片來源:Digi-Key Electronics)
接下來,Simplicity Studio 將突出顯示可用于此硬件配置的其他軟件支持。此軟件的某些選項僅限于已向 Silicon Labs 注冊和/或已注冊該硬件的用戶使用。因此一些選項可能會灰顯,暫時不可用,如圖 7 所示。
圖 7:是否可訪問某軟件取決于硬件購買證明。(圖片來源:Digi-Key Electronics)
用于 Thread、Zigbee 和其他一些協議的軟件堆棧取決于網狀網絡硬件的購買證明,例如 SLWSTK6000B 開發套件,因此在繼續操作前,務必完成以下注冊步驟。
首先,在 Mighty Gecko 入門套件的包裝盒外表面上找到 10 位的十六進制代碼。(如需關于查找該 10 位密鑰的幫助,請參閱 Silicon Labs Zigbee 與 Thread 知識庫中的“Access to Silicon Labs Wireless Mesh Stacks”(《訪問 Silicon Labs 無線網狀網絡堆棧》)。)然后單擊“Thread”或“EmberZNet (Zigbee)”選項中的“Register Kit”(注冊套件)鏈接,如上圖所示。此步驟將完成硬件注冊,并解鎖網狀網絡協議棧。單擊“Next”(下一步)繼續。
最后,Simplicity Studio 將顯示建議安裝的所有軟件選項的長清單,包括一個或多個 C 編譯器、可選的實時操作系統、分析工具和很多其他選項(圖 8)。如果需要,可以手動啟用或禁用特定選項,但一般情況下最好接受建議安裝的軟件選項。完成后,單擊“Next”(下一步)。
圖 8:Simplicity Studio 的最終軟件清單顯示了建議安裝的所有軟件選項,包括一個或多個 C 編譯器、可選的實時操作系統以及分析工具。(圖片來源:Digi-Key Electronics)
在最后一步中,Simplicity Studio 將顯示其主軟件許可協議,其中涵蓋即將安裝的所有軟件組件。閱讀并接受許可,然后最后一次單擊“Next”(下一步)。
軟件安裝將需要幾分鐘時間。安裝完成后,關閉并重新啟動 Simplicity Studio。現在,一切準備就緒,可以開始使用 Thread、Zigbee、藍牙或自定義專有協議構建網狀網絡應用了。Simplicity Studio 包含一些預先配置的簡單演示程序,以及可以修改的示例代碼,這些都是為了幫助開發人員有一個良好的開端。
總結
得益于包含兼容硬件和預測試軟件的預配置套件,構建使用網狀網絡的無線連接設備變得相當簡單。硬件的靈活性能夠支持根據經驗快速評估不同的網絡協議,如 Zigbee、Thread 和 BLE,同時也支持在將來更改協議。這種更改可以在設計和開發階段進行,也可在部署最終產品后進行。
-
網絡設備
+關注
關注
0文章
315瀏覽量
29644 -
Thread
+關注
關注
2文章
83瀏覽量
25926
發布評論請先 登錄
相關推薦
評論