【導讀】在一般情況下,無線傳感器節點是傳感器為基礎的設備,負責監察溫度、濕度或壓力等條件。節點從任何類型的傳感器收集數據,然后以無線方式傳遞數據到控制單位,譬如計算機或移動設備,并在此處理、評估數據,并采取行動。
無線傳感器節點( WSN )在促進物聯網( IoT )發展方面發揮著關鍵作用。WSN的優點在于,它的功耗極低,尺寸極小,安裝簡便。對很多物聯網的應用而言,譬如安裝在室外的應用,WSN可使用太陽能供電。當室內有光,系統就由太陽光供電,同時為細小紐扣電池或超級電容器充電,以在沒有光的情況下為系統供電。
在一般情況下,無線傳感器節點是傳感器為基礎的設備,負責監察溫度、濕度或壓力等條件。節點從任何類型的傳感器收集數據,然后以無線方式傳遞數據到控制單位,譬如計算機或移動設備,并在此處理、評估數據,并采取行動。理想情況下,節點可以由能量收集機制獲得作業電源,成為獨立運作的設備。從一般意義上講,能量收集的過程是捕捉并轉換來自光、振動,或熱等來源的極少量能量為電能的過程。
圖 1:能量收集系統設計示例
圖 1 顯示了能量收集系統的框圖。能量是由能量收集系統 (如太陽能板)收集,并由電源管理集成電路 (IC) (PMIC) 轉換成穩定的能量,再使用低漏、低阻抗的電容器儲存。這些能源能供給傳感器接口負載 (譬如微控制器MCU),而MCU是用無線方式來傳送數據的傳感器。本圖中,能量收集傳感器( EHS )是無線傳感器節點。
圖 2:無線傳感器節點系統示例
圖2顯示了無線傳感器節點的框圖。在這里,已處理的傳感器數據會透過低功耗藍牙( BLE )以無線方式傳輸。BLE 是用于短距離、低功耗無線應用的標準,以交流狀態或控制信息。BLE 在2.4 GHz ISM 頻帶及二進制頻移鍵控(GFSK)調制下運作,此支持1 Mbps 的數據速率。
而電源管理 IC是用來穩定能量收集設備所要求的功秏,以支持其超低功耗的運作。 打個比方,賽普拉斯S6AE103A PMIC 器件的電流消耗低至280 nA,啟動功率為 1.2uW(見圖3)。因此,在約100勒克斯(lx) 的低亮度的環境中,緊湊型太陽能電池依然可以獲得少量的能量。
圖 3:用于能量收集的S6AE103A PMIC 器件框圖
高效的無線傳感器節點設計
讓我們考慮一下設計無線傳感器節點所涉及的步驟:
第 1 步:選擇硬件:
在硬件方面,你需要適當的傳感器,一臺最終能用能量收集設備供電的MCU及 PMIC。你可能需要額外的無源組件,此視乎設計而定。
傳感器可以是仿真或數字形式。現今市面上很多傳感器是使用基于集成電路總線(I2C)、串行外設接口 (SPI)或異步收發傳輸器(UART)界面為標準的數字傳感器。電耗極低的傳感器在市面上亦有售。為了保持設備成本維持低水平,外形小巧,配有綜合BLE的MCU能夠簡化設計,并縮短推出市場的時間。為了進一步加快設計,許多廠商都使用完全綜合,完全通過認證的可編程模塊,例如賽普拉斯EZ-BLE Modules。模塊由一個主要MCU、兩塊結晶、芯片或跟蹤天線、擴展板及無源組件組成。由于這些模塊已經擁有必須的BLE認證,產品可以快速推出市場。
圖 4:BLE模塊示例:太陽能供能的低功耗藍牙傳感器信標CYALKIT-E02
第 2 步:設計固件和估計功耗
選擇了可編程的MCU 后,下一步就是編寫適當的固件。固件需要具備的基本功能是收集傳感器數據的接口,用無線傳送數據的BLE組件或堆棧,和能夠負責固件處理的CPU。
由于超低耗運作是關鍵,電流消耗總和需要由一開始納入考慮。總計電流消耗是傳感器所消耗的電流及MCU 所消耗的電流總和。由于傳感器通常不會消耗太多的總電流,其重點應該放在如何將MCU所消耗的電流減至最低。在優化電流之前,要考慮在MCU內在消耗電流的三個主要的組件:CPU、傳感器接口模塊(如 I2C 、SPI 等)和BLE子系統。這里,當無線電收音機開動(例如BLE Tx及Rx),電流的主要消費者會是BLE電收音機。
嵌入式 MCU 提供各種低功耗模式,以減少電流消耗。固件設計人員需要考慮這些低功耗模式和設計代碼,這樣,平均電流的消耗就能減至最低。例如,傳感數據并不是瞬速變更的,固件需要間中掃瞄傳感數據(例如每隔 5 至 10 秒鐘,時間間隔視乎傳感器而定)。傳感器的已讀數據通過 BLE, 以無線方式傳輸。
就 BLE 固件而言,傳感器可以連同 BLE 廣播包將數據發送。我們建議不要連同廣播包轉送太多其他數據,因為這樣會進一步增加電流。在廣播間隔與傳感器掃描間隔之間, MCU需進入低功耗模式,譬如是「休眠功能 」。低電耗定時器就如看門狗定時器,可以在定時器倒數完畢時,喚醒設備。 為了使用低功耗操作,MCU進行了優化,提供一個 BLE 內部定時器,當廣播間隔結束,可喚醒進入了休眠功能的設備。圖 5顯示了操作的固件流程。
圖 5:為高效無線傳感器節點設計而設立的固件流程
只要設計好固件,您可以測量電流。你可以使用原型電路板測量電流。請注意,MCU的啟動及低耗模式的電流需要獨立量度。只要你知道MCU分別以啟動及低耗模式操作的時間,平均的電流消耗是:
有了平均電流的數字,你就可以將它乘以PMIC電壓,從而找出平均功率。
第 3 步優化固件,最大限度地降低平均電流消耗
情況有可能是,初始計算出的設計功率的太高,太陽能 PMIC 無法支持。如果是這樣,你就需要優化固件。這里有幾個有效方法來執行此操作:
執行優化 MCU 的啟動代碼:當MCU 正在啟動,你不需要使用如24MHz晶產時鐘的高頻外部時鐘,以操作BLE。最初就關掉此時鐘,能夠節約能源。再者,時鐘晶體可以利用這些時間穩定下來,而其亦是啟動的其中一個部件。這些時鐘漸漸穩定下來,MCU 可以再次調較至低耗模式,內部低頻時鐘可以在時鐘預備好的時候喚醒設備。簡而言之,啟動代碼的執行時間可以很長,并且固件設計人員需要盡量減少啟動電流消耗。
a. 降低主 CPU 運作頻率
b. 在進入低功率模式前,控制驅動模式,以防止MCU引腳泄漏電流。
c. 如果MCU支持任何調試接口,要將它們廢除。
這些步驟有助降低平均電流消耗。
第 4 步:設計硬件
有了功耗優化的固件,是時候基于PMIC設計硬件 。圖 6 顯示了一個簡單以能量收集基礎的 PMIC 設計。
圖 6:簡單的能量收集設計
在 PMIC 首先儲存太陽能到儲存的設備 VSTORE1 (VST1),此事例為一個300-μF 的陶瓷電容器。當 VST 1 達到 VOUTH V,能量就可以發送到 MCU 。但這個簡單的能量收集設計不能全日運作,原因是沒有備份電容器。讓我們來看看,備份電容器如何加配到PMIC設備,和電容器能夠如何幫忙MCU。
圖 7:能量收集與備份電容器
操作WSN 所需的能量首先存儲在 VST 1 ,剩余的能量用于 VST 2充電 。存儲在 VST 2 的能量可于沒有光線照射的情況下持續提供予 WSN 。此外,還可以連接一個額外的紐扣電池到 PMIC,以增加可靠性,如圖8所示 。
圖 8:多個電源輸入的能量收集
PMIC 轉換兩種電源來源,以便 WSN 可以在所有條件下(即使沒有燈光的情況)運行。轉換自動產生,使能源在有需要時供應給WSN 。因此,這可能是 WSN的 最適當的硬件設計。
第 5 步:設計用戶界面
連接到無線傳感器節點的用戶界面設計可以是用WSN傳輸,以接收數據的手機應用,就是這么簡單。由于傳感器的數據可能會在廣播包固定位置出現,BLE應用可以設計到能夠從這些位置提取相關數據,并將數據顯示到你的手機上。這種技術可用于管理多個 WSNs 構成的復雜網絡。
推薦閱讀: