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

評(píng)論