如何在雙模式 Wi-Fi/藍牙 IoT 設計中最大幅度延長電池續航力

作者:Stephen Evanczuk

資料提供者:DigiKey 北美編輯群

在設計電池供電型物聯網 (IoT) 裝置及其他連線產品時,設計人員需要滿足難以兩全其美的需求:讓產品既能持續保持無線連線,又能具備更長的電池續航力。在越來越多情況下,同一個裝置需要同時具備藍牙 5 和 Wi-Fi 連線能力,這使得原本電力早已有限的問題更是雪上加霜。Wi-Fi 和藍牙協定已提供標準協定來幫助降低耗電量,如今更推出一種架構,結合能卸載網路處理任務的無線電子系統,以及低功率微控制器,提供更直接了當的支援。

本文將概述雙模式 Wi-Fi/藍牙連線能力的重要性,及其如何讓 IoT 設計變得更複雜。接著將說明 Cypress Semiconductor 的開發板及相關軟體,及其如何用來開發既能持續連線,又具備更長電池續航力的雙模式 Wi-Fi/藍牙 IoT 裝置。

雙模式 Wi-Fi/藍牙持續連線能力的需求與日俱增

許多 IoT 裝置的設計是透過支援藍牙的智慧型手機及其他行動裝置與使用者互動,而藍牙連線能力則被視為這些裝置的標準條件。不過,對許多 IoT 應用來說,IoT 裝置需要藉助 Wi-Fi 連線能力來存取無線區域網路 (WLAN) 以直接連到網際網路,或是和相同網路上的其他對等裝置及主機系統互動。

在許多方面,如果這些 IoT 裝置只有在需要傳輸資料或其他訊息時,才需要連線到 WLAN 或藍牙主機,開發人員則能非常輕易地延長電池續航力。由於許多 IoT 裝置的主動工作週期通常很短,這些裝置主要在低功率睡眠模式下運作,喚醒時間長到足以執行感測器測量、完成相關的處理工作和傳送產生的資料,然後回到低功率模式,藉此延長電池續航力。其實,多數 IoT 裝置都需要快速回應來自對等裝置、主機系統和最終用戶的非同步傳入指令及資料。

為保持回應能力,IoT 裝置需要呈現出持續連線的狀態,隨時檢測傳入的流量,才能在可接受的時間內進行回應。如果開發人員嘗試以不斷喚醒裝置來接收傳入的流量,來滿足這個基本要求,那麼裝置的電池電力將很快耗盡。事實上,儘管無線電發射器單次傳輸作業的耗電量較高,但電池供電型 Wi-Fi 裝置中的無線電接收器隨著時間所消耗的電力,通常會比無線電發射器還要多。當然,裝置的主機處理器在每個接收作業中所消耗的電力,也會將自身的大量負載增添到功率預算中。幸好,無線標準定義了一些協定,讓開發人員既能減少耗電量,又能維持持續連線的表象。

無線連線標準如何協助裝置減少耗電量

在正常作業中,Wi-Fi 接收站 (STA) 能藉著關閉多數 Wi-Fi 子系統的電力,達到省電目的。由於存取點 (AP) 會為睡眠中的 STA 進行訊框緩衝,因此不會遺失訊息。在正常的網路管理作業中,AP 會定期傳送含有點陣圖的信標,此點陣圖稱為流量指示圖 (TIM),能指出 AP 對每個 STA 是否有等候中的流量。AP 也會定期傳送含有傳遞流量指示圖 (DTIM) 的信標,此圖則能指出是否有緩衝的多點傳播或廣播資料。STA 預計會在 DTIM 期間值內定期喚醒,此值是正常信標時間間隔的某個倍數。若 IoT 網路配置了高 DTIM 期間值,則會讓網路內的裝置減少耗電量,因為在喚醒接收器接收信標之前,裝置可有更長的睡眠時間。信標則會指出 AP 正在為其保留訊框。這就是下文探討之標準 802.11 省電輪詢機制背後的基礎方法。

低功耗藍牙 (BLE) 可藉著將藍牙廣告頻率和酬載最佳化,讓裝置減少耗電量。透過增加廣告的時間間隔,IoT 裝置能延遲發射器作業;透過減少酬載,IoT 裝置能縮短發射器事件的持續時間。當然,並非每個應用都能容忍漫長的廣告時間間隔,或最少的酬載。例如,在音訊或即時感測裝置中,漫長的廣告時間間隔代表延遲連線,可能會對應用的整體表現產生不利影響。

周邊裝置可以使用另一個名為「從屬延遲」的 BLE 特點,此特點能讓周邊裝置跳過連線事件。如同 Wi-Fi DTIM,BLE 從屬延遲能讓裝置在低功率模式下維持更長時間。這種特殊模式並非只是增加連線的間隔時間,而是讓周邊裝置能跳過與主機的連線事件,但仍能按需喚醒並傳送資料,而且不產生額外的延遲。

支援雙模式連線能力與延長的電池續航力

這些方法有助於減少 Wi-Fi 和藍牙裝置的全功率運作持續時間與頻率,但開發人員可以使用 Cypress Semiconductor 的 CY8CKIT-062S2-43012 Wi-Fi BT Pioneer 套件中展示的硬體和軟體功能,將電池續航力更上一層樓。除了跳接線和 USB 纜線,Cypress 套件中還包含 PSoC 62S2 Wi-Fi BT Pioneer 板,此板件針對實作低功率 IoT 而設計,能提供全面的開發平台與功能齊全的硬體系統。Cypress 套件可搭配 Cypress 軟體使用,讓開發人員能立即評估並迅速部署多種複雜的電源管理功能。

除了多個介面連接器、按鈕和 LED,此套件的板件還整合 CY8C5868LTI-LP038 PSoC 5LP 元件,其能提供 Cypress KitProg3 板載編程與除錯功能。為獲得更多的板載儲存空間,Cypress 整合了自家的 S25FL512S 512 Mbit 序列式 NOR 快閃記憶體元件,以及 CY15B104 4 Mbit 序列式鐵電隨機存取記憶體 (FRAM) (圖 1)。

Cypress 的 PSoC 62S2 Wi-Fi BT Pioneer 板示意圖 (按此放大)圖 1:Cypress 的 PSoC 62S2 Wi-Fi BT Pioneer 板提供一組以搭載模組為中心構建的完備系統特點,此模組整合了 PSoC 6 微控制器和 Wi-Fi/藍牙無線連線模組。(圖片來源:Cypress Semiconductor)

板件的核心是搭載模組,其整合了 Cypress Semiconductor 的 PSoC 6 微控制器,以及 Murata Electronics 的 Type 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)。

Cypress 的 PSoC 62S2 Wi-Fi BT Pioneer 板搭載模組示意圖 (按此放大)圖 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)。

Murata 的 Type 1LV LBEE59B1LV 無線連線模組示意圖圖 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) 編程的客戶程式碼。

在無線 IoT 設計中使用省電方法

PSoC 6 與無線連線模組專用於將耗電量降至最低,其包含一組完備的功率模式和功率降低功能。Cypress 為這個高能效硬體平台提供大量的軟體補充支援,有助於在無線 IoT 設計中輕鬆使用省電方法。例如,開發人員可以使用獨立的嵌入式 Wi-Fi 主機驅動程式 (WHD) 函式庫,輕鬆實作前述的省電輪詢方法。

開發人員只要調用 WHD 應用程式開發介面 (API) 函數 whd_wifi_enable_powersave() 來啟用省電輪詢,並調用 whd_wifi_disable_powersave() 以便稍後在裝置內將其停用。啟用時,STA 會向 AP 告知其已進入睡眠模式。如前所述,AP 會緩衝任何用於睡眠中的 STA 訊框,並為其配置定期信標,以指示有訊框可用。當 STA 喚醒以檢查信標時,即會開始進行標準程序以取回那些訊框。

雖然省電輪詢機制係用於低工作週期的 STA,但有個類似的方法稱為無輪詢省電,能支援具有更高傳輸量需求的 STA。其中,STA 會傳送空函數資料訊框,而這會啟動從 AP 進行訊框傳輸。

省電輪詢和無輪詢省電功能可讓裝置減少接收器作業,但無助於消除有關網路作業額外負荷的非必要交易。例如,當連線到外部網路時 (特別是公共網際網路),任何包含 IoT WLAN 的網路都會攜帶不想要的封包流量。若能在通訊子系統內過濾這些封包,而不涉及到 IoT 裝置的主機處理器,則能讓主機處理器維持在低功耗睡眠模式。

除了不需要的封包之外,合法的網路流量也會導致主機處理器在不必要的情況下喚醒。例如,Wi-Fi 標準位址解析協定 (ARP) 的部分功能是使用廣播封包,將裝置相關的 IP 位址,對應到裝置的媒體存取控制 (MAC) 位址。這項作業是正常 WLAN 功能的必要要件,能讓裝置觸及到網路內的其他裝置、偵測重複的 IP 位址,並向其他裝置告知 IP 位址是否因故變更。

ARP 請求與回應封包對網路作業來說非常重要,以至於只是處理 ARP 請求與回應,IoT 裝置的主機處理器就會不堪重負。如果裝置的 WLAN 介面只在主機與網路之間傳遞請求和回應,每個 ARP 請求都會喚醒主機,有時則是不必要的。

相較之下,Murata 無線連線模組介入此交換行為,讓 PSoC 6 微控制器不用處理 ARP 請求。當 PSoC 6 參與主要的 IoT 應用功能時,此能力可保留處理器週期,以供執行應用。如果 PSoC 6 處於睡眠模式,此能力有助於減少 IoT 裝置的整體耗電量。Murata 模組透過使用對等裝置自動回應來進行 ARP 卸載,其只會在 Murata 模組中快取的項目無法滿足傳入的 ARP 請求時,才會喚醒 PSoC 6 (圖 4 左)。

ARP 卸載從網路或主機處理器攔截 ARP 請求的示意圖 (按此放大)圖 4:啟用時,ARP 卸載會從網路 (左) 或主機處理器 (右) 攔截 ARP 請求,在快取滿足請求 (上) 時自動回應,並只在快取錯失 (下) 時喚醒處理器。(圖片來源:Cypress Semiconductor)

同樣的方法也有助於減少 WLAN 耗電量。在一般作業中,Murata 模組能監控 (窺探) 網路流量,並從其他 ARP 回應來快取 IP:MAC 對。Murata 模組使用主機自動回應後,可回應來自 PSoC 6 的 ARP 請求,只有 ARP 快取無法滿足 PSoC 6 的請求時,才調用無線電子系統 (圖 4 右)。

以選單輕鬆實作省電特點

透過 Pioneer 套件來實作 ARP 卸載非常容易。Cypress 的 ModusToolBox (MTB) 整合式開發環境 (IDE) 中包含 Cypress 的 Device Configurator 工具,讓開發人員只要在選單中選擇幾項,便能部署此功能。Cypress 提供預先建構的配置檔案,讓開發人員能快速選擇包含 ARP 卸載在內的不同配置。

使用 Device Configurator 工具對配置進行明確定義,也可說是輕而易舉。開發人員可使用此工具的選單選項來啟用主機喚醒引腳,將引腳命名為 CYBSP_WIFI_HOST_WAKE,以及設定引腳參數 (圖 5)。

Cypress 的 Device Configurator 工具圖片 (按此放大)圖 5:Cypress 的 Device Configurator 工具讓開發人員能使用選單,設定 Pioneer 板提供的省電選項。(圖片來源:Cypress Semiconductor)

在此工具的 Wi-Fi 標籤中,開發人員可啟用主機喚醒功能,並將中斷引腳設定為先前輸入的名稱 CYBSP_WIFI_HOST_WAKE。其他的選單項目能實現 ARP 卸載、將此功能設定為對等裝置自動回應、啟用網路窺探,並設定快取項目過期時間 (圖 6)。

Cypress 的 Device Configurator 工具中其他選單標籤的圖片圖 6:使用 Cypress 的 Device Configurator 工具中的其他選單標籤,開發人員可啟用 ARP 卸載和特定的特點,例如對等裝置自動回應。(圖片來源:Cypress Semiconductor)

儲存好配置之後,開發人員只需產生來源檔案、建構修改的專案,並對 Pioneer 板件編程即可。使用類似的程序,開發人員能配置 Murata 模組來卸載 Wi-Fi 封包過濾,並處理其他常見的網路作業類型。同樣的方法甚至可讓 IoT 裝置執行維持 Wi-Fi 連線所需的 Wi-Fi TCP 持續供電協定,而且均無需喚醒 IoT 主機處理器。

在正常 WLAN 作業中,用戶端裝置和主機伺服器會透過交換持續供電封包,來保持 TCP 連線。如果進行這項交換的任何一端,在幾次嘗試之後都沒有收到回應,便會終止連線。即使在電力有限的 IoT 裝置中,主機處理器也必須不斷地喚醒,以參與此交換行為,或使用更多電力來不斷重新建立連線。

如同 ARP 卸載,開發人員可使用 Device Configurator 工具來啟用 TCP 持續供電卸載。一旦啟用此特點,Murata 模組會在不喚醒 PSoC 6 的情況下自動執行持續供電協定 (圖 7)。

WLAN 裝置自動執行持續供電協定的示意圖 (按此放大)圖 7:啟用 TCP 持續供電卸載時,無線連線模組 (WLAN 裝置) 會自動執行持續供電協定,允許主機處理器持續處於低功耗睡眠模式。(圖片來源:Cypress Semiconductor)

雖然 Cypress 建議使用 Device Configurator 工具這個最輕鬆的實作途徑,但開發人員也能手動實作 Cypress 平台的省電特點,包括 ARP 卸載、封包過濾、TCP 持續供電卸載等等。

這兩個方法的基礎是 Cypress 的 Low Power Assistant (LPA) 中介軟體,其能針對 Wi-Fi、藍牙和 PSoC 6 微控制器支援這些省電特點,以及本文未提到的其他特點。

在開發人員以選單或手動新增配置程式碼的方式,對配置進行定義之後,LPA 韌體會在對應用透明可見的情況下運作,自動協調使用低功耗硬體特點及軟體能力。

結論

IoT 裝置既要持續無線連線,又要具備更長的電池續航力,設計人員無法兼顧這些需求,而現今還需同時支援 Wi-Fi 和藍牙,使設計人員面臨的課題更加雪上加霜。如本文所示,透過結合能卸載網路處理作業的無線電子系統,以及低功耗的微控制器,Cypress Semiconductor 的 CY8CKIT-062S2-43012 Wi-Fi BT Pioneer 套件可讓設計人員達成 IoT 無線連線與低功耗需求。

DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk 撰寫電子產業的相關資訊已有超過二十年的經驗,涉及的主題多元,涵蓋硬體、軟體、系統以及包含 IoT 在內的應用。他以神經元網路為研究主題,取得神經科學博士學位,並且在航太產業,針對廣泛運用的安全系統和演算法加速方法進行研究。目前,在撰寫科技和工程文章之餘,他投入辨識和推薦系統的深度學習應用。

關於出版者

DigiKey 北美編輯群