然而,大多數的資訊必須被「拉」出來,即透過與另一個裝置連線或在網路上進行搜尋而取得資訊。這些方法要求用戶必須在需要資訊時開啟一項行動。但是,用戶有時甚至不知道要找什麼或到何處去找,例如當他們在商店中尋找某款產品的售價時。

其解決之道就在於擁有一個能夠向用戶即時「推送」訊息的系統。由於智慧型手機是向用戶發送資訊的最佳途徑,該系統必須能毫無阻礙地更有效率為其傳送資訊。此時,就是Beacon的用武之地。

在無線技術中,Beacon是一種播送訊息的系統,目的在於讓附近的用戶裝置接收到這些訊息。Beacon能夠輕而易舉地向用戶裝置傳送資料,而且無需用戶操作。智慧型手機等現有裝置支援可用於實現Beacon功能的各種方法。為了確保Beacon得到廣泛運用,其中包括得到主流裝置的支援、互通性、低安裝成本和低功耗作業,藍牙低功耗(BLE)將成為實現Beacon通訊的理想選擇。

BLE被廣泛運用於需要在較小範圍傳送資料的低功耗無線通訊應用。無線感測器節點(WSN)就是一個例子。從感測器中讀取的資料通常被傳送到智慧型手機。在這些感測器節點中的典型應用流程如圖1所示:

20160812 Cypress TA31P1 圖1:BLE感測器裝置中的典型流程

這些Beacon/感測器需要由某種能源供電,以確保能夠連續執行和維持整體裝置的尺寸。使用有線電源為這些感測器供電一般不具可行性,因為這些感測器通常不是位於人體上就是在遠端;因此使用線纜供電的設計行不通。電池供電型感測器存在電池壽命有限、需要頻繁充電,以及處理時破壞環境等問題。

如果我們真的想要無需任何維護的Beacon,就需要使用來自光、動作、壓力或熱量等周遭環境中未被利用的能量。這能夠實現「安裝後即無需打理」(install-and-forget)的功能,使Beacon在整個裝置生命週期內都能得到供電。

這就是能量採集技術可發揮作用之處。能量採集是指從周圍環境中採集未被利用的能量並進行儲存。所儲存的能量可用於為WSN裝置供電、採集感測器資料,並透過BLE傳輸資料。

20160812 Cypress TA31P2 圖2:基於能量採集技術的WSN裝置架構圖

能量採集系統(EHS)是一個包括能量採集元件(EHD)、能量採集PMIC和儲能元件的電路。能量採集PMIC使用由EHD(如太陽能電池、振動感測器或壓電元件)提供的能量為儲能元件(通常是電容器)進行「涓流」充電。然後EHS使用所儲存的電荷為另一個嵌入式裝置提供能量。EHS的輸出功率隨WSN的狀態變化而改變。當WSN處於主動狀態時會消耗能量,EHS的輸出電壓開始下降。當它處於低功耗狀態時,由於儲能元件得到充電,EHS的輸出電壓開始升高。圖3顯示EHS的輸出電壓隨嵌入式裝置狀態變化而改變的過程。

20160812 Cypress TA31P3 圖3:能量採集系統的輸出電壓隨裝置狀態變化而改變

對於EHS供電裝置而言,主動狀態下所消耗的能量不應超過EHS中的可用能量。圖4顯示在一個EHS供電型系統中,其主動狀態下的能耗超過了EHS所能提供的能量。EHS的輸出電壓逐漸下降,直到完全停止輸出。

20160812 Cypress TA31P4 圖4 :WSN因電能不足導致關機

圖5-8顯示以能量採集供電的BLE感測器節點,在各種作業時的示波器螢幕截圖細節。

20160812 Cypress TA31P5 圖5:EHS的輸出電壓隨CPU活動過程而變化

圖5中的黃色訊號是EHS輸出電壓,綠色訊號是嵌入式裝置消耗的電流。綠色峰值是CPU活動期間的電流消耗,平直訊號是裝置處於低功耗模式時的電流消耗。

值得注意的是,由於能量被消耗,EHS的輸出電壓在每次CPU活動時(綠色峰值訊號)都會下降。此外,電壓會在低功耗狀態期間恢復,這是因為EHS為儲能元件進行了充電。

20160812 Cypress TA31P6 圖6:在EHS內部無法對儲能元件進行充電時,EHS的輸出電壓隨CPU活動而變化

圖6中值得注意的是,由於能量被耗盡,電壓降至截止電壓以下,此時,EHS輸出電壓會被關閉。

20160812 Cypress TA31P7 圖7:在裝置開機時的電流消耗(綠色訊號)

20160812 Cypress TA31P8 圖8:以能量採集元件供電的BLE在Beacon中的傳輸活動

EHS中存在有限的功耗預算,意味著嵌入式系統的各方面都應該實現能量最佳化,才能在EHS的供電下無縫運作。此類系統中有很多子系統,它們可能非常耗電,需要得到最佳化才能確保不至於拉低EHS的輸出電壓。功耗最佳化的關鍵領域包括:

CPU的時脈頻率

系統時脈頻率決定了例行任務的處理速度以及期間所消耗的能量。時脈越快意味著處理速度越快,但電流消耗也越高。此外,每個裝置都有最低和最高時的脈頻率要求,不能超出該要求。

針對基於EHS的設計,可以根據以下兩個因素選擇一個最佳化的時脈頻率:

  • 平均電流消耗
  • 峰值電流消耗

EHS的容量必需兼顧這兩個因素。平均電流是主動狀態下所需時間的平均電流,而峰值電流則是主動狀態下的瞬時最大電流要求,通常高於平均電流。有可能發生的情況是:所需的平均電流就在EHS的容量範圍內,但峰值電流將導致EHS突然耗盡能量,從而導致電壓降至截止電壓以下。請注意,處理時間是平均電流消耗計算的一部份。

圖9和圖10顯示一次例行處理任務在兩種不同頻率下(圖9是48MHz,圖10是12MHz)的功耗-時間圖。

20160812 Cypress TA31P9 圖9:48MHz頻率下處理某個例行任務的電流消耗

20160812 Cypress TA31P10 圖10:12MHz頻率下處理某個例行任務的電流消耗

在此例中,48MHz頻率下處理的例行任務使用大約不到300μs的時間完成,並在此期間消耗了約10mA的電流。12MHz頻率下處理的例行任務使用了1.1ms的時間完成,並在此期間僅消耗4mA的電流。這一過程在12MHz時的平均電流消耗更高,但峰值電流要求卻更低。取決於EHS的容量,我們可以採用一個較短的48MHz時脈設置,或一個較長的12MHz時脈設置,或結合採用兩者,讓時脈頻率在不同的過程之間來回切換。在選擇最佳化的系統頻率時,應該考慮到這樣的電流配置。

啟動低功耗裝置

嵌入式裝置獲得供電後,它必須先完成開機啟動程序,然後才能執行應用程式碼。一個典型的開機程序包括:

  • 初始化記憶體
  • 設置中斷向量
  • 配置週邊和通用暫存器
  • 初始化外部時脈(如果有的話)

這四個步驟的每一步都佔用了CPU處理時間才能完成,因此也消耗了能量。所消耗的能量取決於所使用的裝置、系統時脈頻率、初始化的記憶體/暫存器設置多大容量,以及設置外部時脈所需的時間。因此,開機過程將消耗大量電能,必須得到最佳化才能確保不消耗過多的能量採集器輸出。編寫開機程式碼時應考慮以下因素:

  • 只初始化那些將被使用的記憶體和暫存器部份,其它部份維持原始設定值。
  • 大多數無線系統需要高精確度的外部時脈。這些外部時脈(如外部時脈振盪器和手錶晶體振盪器)在開機後會有一個較長的穩定時間。我們不應該讓系統在主動狀態下等待時脈穩定下來,而是必須讓系統處於低功耗模式(睡眠/深度睡眠狀態),只在準備使用時再喚醒它。我們可以使用一個內部計時器來實現這個目的。

低功耗系統啟動

一旦裝置開始執行應用程式碼,通常需要啟動系統中的各個週邊裝置。這些週邊裝置可能位於設備內部,如ADC,也可能位於設備之外,如某個感測器。單個週邊裝置的啟動時間可能不長,但所有週邊裝置的總處理時間可能長到足以耗盡EHS中儲存的能量。

我們應該計算指定CPU頻率下的週邊裝置啟動時間,然後確定啟動所有週邊裝置所需的能量預算是否可行(較快),或是否需要將啟動程序分為多個階段(較慢)。

分階段應用處理

裝置通常都有不同的應用例行任務,它們需要自己的CPU頻寬。這些例行任務可能是為了配置某個週邊裝置、從感測器接收資料、執行計算,以及管理事件或中斷;必須確保處理所用的能量不超過EHS的容量。如果超過了,必須將其分為較小的子例行任務,並分階段進行管理。這可以讓EHS上的負載分成多個可管理的電流脈衝,從而讓EHS能夠在主動的CPU進程之間進行充電。

此外,在各個階段之間,應將系統置於低功耗模式,使其得以採用計數器或Watchdog計時器為喚醒源作為中斷。由於系統必須在該模式下保持較長時間,在此模式時的電流要求應儘可能降低。

無線傳輸

採集資料後,必須透過無線方式進行傳輸。此時可以透過BLE連接或BLE播送的方式完成傳輸,但支援能量採集的Beacon只能採用BLE播送方式,這是因為在使用連線傳輸資料之前,需要消耗大量的能量才能建立BLE連接。

一般來說,無論是傳送(Tx)還是接收(Rx),無線活動都是無線裝置中能耗最高的作業。確保BLE活動是一個獨立的過程,只有在EHS輸出能夠提供足夠峰值電流時才與其它過程結合。

結語

能量採集器PMIC可以在低電壓時啟動,並因應不同應用的需求。例如,賽普拉斯(Cypress)基於電源管理IC(PMIC)的能量採集器為無線感測器和網路提供一種免用電池的技術。它兼具精確的輸出功率控制和高效率的能量採集功能,使其得以成為小型無線和Beacon應用的理想選擇。它可以獨立作為電源,或與鋰電池等其它採用電池的裝置搭配使用,進一步延長了裝置的的工作壽命。

例如MB39C831等產品還具備最大功率點追蹤(MPPT)功能,可讓內部的DC/DC轉換器透過追蹤輸入功率控制輸出充電,從而最大程度地提高功率輸出。MB39C811等PMIC支援雙採集輸入,可以從兩個不同的來源採集能量。而像S6AE101A等最佳化PMIC(太陽能或光能EHD最佳化)具備極低的啟動和靜態功耗,能夠僅使用一個很小的太陽能電池。

免用電池的無線Beacon還必須考慮另一個因素——選擇合適的MCU。被整合為SoC等可編程系統且支持各種低功耗模式的MCU是此類應用的理想選擇。Cypress的可編程系統單晶片(PSoC)能夠與那些可用於連接感測器的各類週邊裝置密切整合。尤其是PSoC 4 BLE,包含了多個低功耗週邊裝置以及一個BLE無線單元和BLE協議堆疊,從而提供了真正的單晶片BLE感測器節點。

此外,它還支援超低功耗模式,讓設計能與能量採集器、鈕扣型電池等小型電源無縫搭配。這些能量採集器外加PSoC可為免用電池型BLE感測器節點應用實現最佳化設計。

(參考原文:Power optimization for battery-less BLE beacons,by Rohit Kumar)