在設計電池供電型物聯網 (IoT) 設備和其他互連產品時,設計人員需要滿足持續無線連接和更長電池續航時間這兩個相互沖突的需求。在同一設備中,同時需要藍牙 5 和 Wi-Fi 連接的需求不斷增加,這使本已捉襟見肘的功耗限制雪上加霜。雖然 Wi-Fi 和藍牙協議提供了有關幫助降低功耗的標準協議,但以架構形式提供才是更直接的支持,在這種架構中會將可分擔網絡處理任務的無線電子系統與低功耗微控制器結合在一起。
本文將概述雙模 Wi-Fi/藍牙連接的重要性,并說明它們為何讓物聯網設計復雜化。隨后文中將展示來自 Cypress Semiconductor 的開發板和相關軟件,以及如何使用它們來開發能夠持續連接并具有更長電池續航時間的雙模 Wi-Fi/藍牙物聯網設備。
雙模 Wi-Fi/藍牙持續連接日益增長的需求
對于旨在通過支持藍牙的智能手機和其他移動設備與用戶互動的許多物聯網設備來說,藍牙連接被認為是標準要求。然而,對于許多物聯網應用來說,物聯網設備需要 Wi-Fi 連接來接入無線局域網 (WLAN) 以直接訪問互聯網,或者與同一網絡上的其他對等設備和主機系統進行交互。
在很多方面,如果這些物聯網設備只需要根據傳輸數據或其他信息的需求而連接至 WLAN 或藍牙主機,則開發人員就能夠更簡單直接地延長電池續航時間。由于許多物聯網設備的有效占空比通常較低,這些設備可以通過在多數情況下采用低功耗休眠模式運行,喚醒足夠長的時間來執行傳感器測量、完成相關的處理任務并傳輸所得數據,然后再返回低功耗模式,以此來延長電池續航時間。在現實中,大多數物聯網設備都需要快速響應來自對等設備、主機系統和終端用戶的異步傳入指令和數據。
為了保持響應能力,物聯網設備需要在表面上提供持續連接,并一直保持檢測傳入流量,以便能夠在可接受的時間段內作出響應。如果開發人員試圖通過反復喚醒設備接收傳入流量來滿足這一基本要求,則設備的電池將很快耗盡。事實上,盡管單次發射操作消耗的電量更高,但隨著時間的推移,電池供電型 Wi-Fi 設備中的無線電接收器通常會比無線電發射器消耗更多的電量。當然,設備主機處理器在每次接收操作中所消耗的電量也將其自身的大量負載添加到功耗預算中。幸運的是,無線標準定義了一些協議,讓開發人員在降低功耗的同時,還能從表面上保持持續連接。
無線連接標準如何幫助設備降低功耗
在正常操作中,Wi-Fi 接收站 (STA) 通過關閉其大部分 Wi-Fi 子系統來節省電量。由于接入點 (AP) 會緩存休眠 STA 的幀,因此不會丟失消息。作為其正常網絡管理操作的一部分,AP 會定期發送包含位圖(稱為流量指示圖 (TIM))的信標,位圖將指示 AP 是否有每個 STA 的等待流量。AP 還會周期性地發送包含傳送流量指示圖 (DTIM) 的信標,指示存在緩存多播或廣播數據。STA 預期會在 DTIM 周期值內定期喚醒,此值是正常信標間隔的某個倍數。若物聯網配置有高 DTIM 周期值,則網絡中的設備能夠降低功耗,因為在喚醒接收器接收信標(指示 AP 中有為其暫存的幀)之前,這些設備可以休眠更長時間。這就是下文討論的標準 802.11 節能輪詢機制背后的基本方法。
低功耗藍牙 (BLE) 通過優化藍牙廣告頻率和有效載荷來降低設備的功耗。通過增加廣告間隔,物聯網設備可以延遲發射器操作;通過降低有效載荷,物聯網設備可以縮短發射器事件的持續時間。當然,并不是每種應用都能容忍長廣告間隔或最小有效載荷。例如,在音頻或實時感測設備中,長廣告間隔意味著連接延遲,這可能會對整個應用的表現產生不利影響。
外設可以使用另一種名為“從設備延遲”的 BLE 功能,這種功能允許外設跳過連接事件。與 Wi-Fi DTIM 一樣,BLE 從設備延遲允許設備更長時間地保持低功耗模式。這種特殊模式不是簡單地增加連接間隔,而是允許外設跳過與主機的連接事件,但仍可根據需要喚醒和發送數據,而不會引起額外的延遲。
支持雙模連接和延長電池續航時間
這些方法有助于減少 Wi-Fi 和藍牙設備的滿功率運行持續時間和頻率,但是開發人員可以利用 Cypress Semiconductor 的 CY8CKIT-062S2-43012 Wi-Fi BT Pioneer 套件中所展現出的硬件和軟件功能進一步延長電池續航時間。除了跳線和 USB 電纜,該 Cypress 套件還包含 PSoC 62S2 Wi-Fi BT Pioneer 開發板,后者為實現低功耗物聯網設計提供了全面的開發平臺和功能齊全的硬件系統。與 Cypress 軟件配合使用,Cypress 套件允許開發人員即時評估和快速部署各種復雜的電源管理功能。
除了多個接口連接器、按鈕和 LED,該套件的開發板還集成了 CY8C5868LTI-LP038 PSoC 5LP 器件,提供 Cypress KitProg3 板載編程和調試功能。為了增加板載存儲空間,Cypress 集成了其 S25FL512S 512 Mb 串行 NOR 閃存器件及其 CY15B104 4 Mb 串行鐵電隨機存取存儲器 (FRAM)(圖 1)。
?
?
圖 1:Cypress 的 PSoC 62S2 Wi-Fi BT Pioneer 開發板提供了一整套系統功能,這些功能圍繞集成了 PSoC 6 微控制器和 Wi-Fi/藍牙無線連接模塊的載波模塊而構建。(圖片來源:Cypress Semiconductor)
在開發板的核心,一個載波模塊集成了 Cypress Semiconductor 的 PSoC 6 微控制器和 Murata Electronics 的 1LV 型 LBEE59B1LV 無線連接模塊與無源元器件。一個射頻 (RF) 開關和一個雙頻 2.45 GHz/5 GHz 小型片式天線完善了支持器件。
PSoC 6 專為消除處理性能與功耗之間的傳統權衡而設計,集成了用作主應用處理器的 150 MHz Arm? Cortex?-M4,以及用于處理低功耗操作的 100 MHz Arm Cortex-M0+。除了集成的閃存和靜態 RAM (SRAM),PSoC6 還包括加密引擎、可編程模擬和數字外設,CapSense 觸摸感應支持和多個系統接口(圖 2)。
?
?
圖 2:PSoC 6 微控制器內置于 Cypress 的 PSoC 62S2 Wi-Fi BT Pioneer 開發板載波模塊中,使用多核架構來滿足應用處理和低功耗實時執行的需求。(圖片來源:Cypress Semiconductor)
Murata 的 LBEE59B1LV 模塊在 10.0 x 7.2 x 1.4 毫米 (mm) 的封裝中提供了完整的無線電子系統,內置 Cypress CYW43012 嵌入式設備無線互聯網連接 (WICED) Wi-Fi + 藍牙設備、參考時鐘和濾波器(圖 3)。
??
圖 3:Murata 的 Type 1LV LBEE59B1LV 無線連接模塊提供了完整的預認證型 Wi-Fi + 藍牙無線電子系統,圍繞 Cypress 的 CYW43012 WICED 設備而構建。(圖片來源:Murata Electronics)
該模塊支持藍牙 5.0 和 Wi-Fi 802.11a/b/g/n 的 2.4 GHz 和 5 GHz 無線連接。此外,該模塊還提供 802.11ac 友好模式,支持 5 GHz 頻段中 20 MHz 通道的 802.11ac 256 正交調幅 (QAM),比僅支持 802.11n 的產品提供了更高的吞吐量和更低的每比特能耗。Murata 的 LBEE59B1LV 模塊獲得了多個地區的預認證,消除了與合規性測試和認證相關的漫長延遲,加快了開發速度。
在模塊內,Cypress 的 WICED 設備在 Wi-Fi 和藍牙子系統中分別集成了 Arm Cortex-M3 處理器和 Arm Cortex-M4 處理器。雖然不適用客戶代碼,但 Arm Cortex-M3 處理器運行 Cypress 固件,支持 Wi-Fi 操作和其他功能,包括下文所述的卸載功能。藍牙子系統中的 Arm Cortex-M4 運行藍牙控制器固件、藍牙堆棧和配置文件。此外,該內核可以運行使用 Cypress 的 WICED 軟件開發套件 (SDK) 編寫的客戶代碼。
在無線物聯網設計中使用節能方法
PSoC 6 和無線連接模塊設計用于最大限度地降低功耗,并具有一整套功率模式和降功耗功能。Cypress 為這一高能效硬件平臺提供了大量的軟件支持,旨在簡化節能方法在無線物聯網設計中的使用。例如,開發人員可以使用獨立的嵌入式 Wi-Fi 主機驅動程序 (WHD) 庫輕松實現前文所述的節能輪詢方法。
開發人員只需調用 WHD 應用編程接口 (API) 函數 whd_wifi_enable_powersave() 即可啟用節能輪詢,之后調用 whd_wifi_disable_powersave() 即可在器件中禁用節能輪詢。啟用后,STA 會通知 AP 其已進入休眠狀態。如前所述,AP 會緩存發送給休眠中 STA 的任何幀,并配置周期性信標以指示存在待處理的幀。當 STA 喚醒來檢查信標時,即會開始一個標準過程來獲取這些幀。
雖然節能輪詢機制旨在用于低占空比的 STA,但還有一種稱為無輪詢節能的類似方法,支持具有更高吞吐量要求的 STA。使用這種方法,STA 發送一個空函數數據幀,該數據幀會啟動來自 AP 的幀傳輸。
節能輪詢和無輪詢節能允許設備減少接收器操作,但無助于消除與網絡操作開銷相關的非必要事務。例如,在連接到外部網絡(特別是公共互聯網)時,任何包含物聯網 WLAN 的網絡都會攜帶非必要的數據包流量。若能在通信子系統內過濾掉這些數據包,而不影響到物聯網設備主機處理器,則能讓主處理器更多時間保持在低功耗休眠模式。
除了非必要的數據包外,合法的網絡流量也會導致主機處理器不必要地喚醒。例如,Wi-Fi 標準地址解析協議 (ARP) 可使用廣播數據包將與設備相關聯的 IP 地址映射到設備的媒體訪問控制 (MAC) 地址。此操作對于 WLAN 的正常運行必不可少,可以讓設備與網絡中的其他設備聯系、檢測重復的 IP 地址,并在 IP 地址因任何原因改變時通知其他設備。
ARP 請求和響應數據包是網絡操作中基本的數據包,以至于僅僅處理 ARP 請求和響應,物聯網設備的主機處理器就會不堪重負。如果設備的 WLAN 接口只是在主機與網絡之間傳遞請求和響應,則每個 ARP 請求都會喚醒主機,有時這是不必要的。
相比之下,Murata 的無線連接模塊介入該交換過程,從而解除了 PSoC 6 微控制器的 ARP 請求處理負載。當 PSoC 6 以其他方式參與其主物聯網應用功能時,該功能可為應用執行保留處理器周期。如果 PSoC 6 處于休眠模式,該功能有助于降低物聯網設備的整體功耗。Murata 模塊通過對等設備自動應答功能啟用 ARP 卸載,只有在其緩存的條目不能滿足傳入的 ARP 請求時,才會喚醒 PSoC 6(圖 4 左)。
?
?
圖 4:啟用后,ARP 卸載會攔截來自網絡(左)或主機處理器(右)的 ARP 請求,當緩存滿足請求時自動響應(上),只有緩存缺失時才會喚醒處理器(下)。(圖片來源:Cypress Semiconductor)
同樣的方法也有助于降低 WLAN 功耗。在正常操作中,Murata 模塊可以監視(窺探)網絡流量,并緩存來自其他 ARP 響應的 IP:MAC 對。通過使用主機自動應答,Murata 模塊可以響應來自 PSoC 6 的 ARP 請求,只有當 ARP 緩存無法滿足 PSoC 6 的請求時才調用其無線電子系統(圖 4 右)。
節能功能的簡單菜單式實現
利用 Pioneer 套件實現 ARP 卸載非常簡單。Cypress 的 Device Configurator 工具包含在 Cypress 的 ModusToolBox (MTB) 集成開發環境 (IDE) 中,能夠讓開發人員通過幾個菜單選擇即可部署此功能。Cypress 提供預建配置文件,允許開發人員快速選擇包括 ARP 卸載在內的不同配置。
使用 Device Configurator 工具進行顯式定義配置幾乎同樣簡單。開發人員可使用該工具的菜單選項來啟用主機喚醒引腳、命名引腳 (CYBSP_WIFI_HOST_WAKE),并設置引腳參數(圖 5)。
??
圖 5:Cypress Device Configurator 工具能夠讓開發人員使用菜單設置 Pioneer 開發板可用的節能選項。(圖片來源:Cypress Semiconductor)
在該工具的 Wi-Fi 選項卡中,開發人員可啟用主機喚醒,并將中斷引腳設置為先前輸入的名稱 (CYBSP_WIFI_HOST_WAKE)。其他菜單條目可用于啟用 ARP 卸載,將功能設置為對等設備自動應答,啟用網絡窺探,以及設置緩存條目過期時間(圖 6)。
??
圖 6:使用 Cypress Device Configurator 工具中的其他菜單選項卡,開發人員可以啟用 ARP 卸載和特定功能,如對等設備自動應答。(圖片來源:Cypress Semiconductor)
保存配置后,開發人員只需生成源文件、構建修改后的項目,并對 Pioneer 開發板進行編程。使用類似的程序,開發人員可以配置 Murata 模塊,以卸載 Wi-Fi 數據包過濾,并處理其他常見類型的網絡操作。同樣的方法甚至允許物聯網設備執行維持 Wi-Fi 連接所需的 Wi-Fi TCP 保持活動協議——所有這些都無需喚醒物聯網主機處理器。
在正常的 WLAN 操作中,客戶端設備和主機服務器通過交換保持活動數據包來維持 TCP 連接。如果此交換的任一方在幾次嘗試后沒有收到響應,其將終止連接。即使在功耗受限的物聯網設備中,主機處理器也必須不斷地喚醒以參與這種交換,或者消耗更多的電量來不斷地重建連接。
與 ARP 卸載一樣,開發人員可以使用 Device Configurator 工具來啟用 TCP 保持活動卸載。啟用此功能后,Murata 模塊會自動執行保持活動協議,而不喚醒 PSoC 6(圖 7)。
??
圖 7:當啟用 TCP 保持活動卸載時,無線連接模塊(WLAN 設備)自動執行保持活動協議,允許主機處理器保持在低功耗休眠模式。(圖片來源:Cypress Semiconductor)
盡管 Cypress 推薦使用 Device Configurator 工具作為最簡單的實現途徑,但開發人員也可以手動實現 Cypress 平臺的節能功能,包括 ARP 卸載、數據包過濾、TCP 保持活動卸載等。
這兩種方法的基礎都是 Cypress 的低功耗助理 (LPA) 中間件,該中間件支持用于 Wi-Fi、藍牙和 PSoC 6 微控制器的節能功能,以及本文未提到的其他功能。
在開發人員使用菜單或通過手動添加配置代碼定義配置之后,LPA 固件會對應用執行透明操作,自動協調使用低功耗硬件功能和軟件功能。
總結
物聯網設備對持續無線連接和延長電池續航時間的需求為設計人員提出了相互矛盾的要求,而同時支持 Wi-Fi 和藍牙的需求只會加劇這種矛盾。如上所述,通過將可卸載網絡處理任務的無線電子系統與低功耗微控制器相結合,Cypress Semiconductor 的 CY8CKIT-062S2-43012 Wi-Fi BT Pioneer 套件能夠讓設計人員滿足物聯網無線連接和低功耗需求。
評論
查看更多