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

CANFD網(wǎng)絡(luò)設(shè)備通訊協(xié)議

基于Wi-SUN協(xié)議的大規(guī)模網(wǎng)狀網(wǎng)絡(luò)解決方案
使用 ntopng 和 SNMP 監(jiān)視網(wǎng)絡(luò)設(shè)備

評論