在無線技術中,Beacon是一個廣播消息的系統,目的是讓附近的裝置接收到這些消息。Beacon能夠輕而易舉地向用戶裝置傳送資料,而且無須用戶操作。智慧型手機等現有裝置支援可用於實現Beacon功能的各種方法。為了確保Beacon得到廣泛運用,例如得到主流裝置的支援、擁有互通性、較低的安裝成本和低功耗運行,低功耗藍牙(BLE)成為Beacon通訊的不二選擇。
BLE被廣泛運用於那些需要在較小範圍傳送資料的低功耗無線通訊應用。無線感測器網路(WSN)就是一個例子。資料從感測器讀出,通常被發送到智慧型手機,這些感測器網路中的典型應用流程如圖1所示。
|
圖1 BLE感測器裝置中的典型流程 |
這些Beacon/感測器須要由某種能源供電,以保證能夠連續運行和維持整體裝置的尺寸。使用纜線電源為這些感測器供電一般不具可行性,因為這些感測器要不是位於人體上,就是處在遠端,因此使用纜線供電的設計行不通。電池供電型感測器存在電池壽命有限、須要頻繁充電、處理時破壞環境等問題。若欲實現「安裝後即無須打理」,使Beacon在其整個生命週期內都能得到供電,這就是能量採集(Energy Harvesting, EH)技術的用武之地。
善用能量採集 透過BLE傳輸
能量採集是指從周圍環境採集未被利用的能量並進行儲存。所儲存的能量用於為WSN裝置供電,採集感測器資料,並透過BLE傳輸資料(圖2)。
|
圖2 基於能量採集技術的WSN裝置 |
能量採集系統(EHS)是一個電路,其中包括一個能量採集元件(EHD)、一個能量採集電源管理晶片(PMIC)和一個儲能元件。能量採集PMIC使用EHD(如太陽能電池、振動感測器和壓電元件)提供的能量對儲能元件(通常是一個電容器)進行「涓流」充電,能量採集系統隨後使用所儲存的電荷向另一個嵌入式裝置提供能量。
能量採集系統的輸出功率隨WSN的狀態變化而改變。當WSN處於活動狀態時,能量被消耗,能量採集系統的輸出電壓開始下降。當其處於低功耗狀態時,由於儲能元件得到充電,能量採集系統的輸出電壓開始升高。圖3顯示了能量採集系統的輸出電壓隨嵌入式裝置的狀態變化而改變的過程。
|
圖3 能量採集的輸出電壓隨裝置狀態變化而改變 |
對於能量採集系統供電型裝置,活動狀態下所消耗的能量不應超過能量採集系統中的可用能量。圖4顯示了一個能量採集系統供電型裝置,其活動狀態下的能耗超過了能量採集系統所能提供的能量。能量採集系統的輸出電壓逐漸下降,直到完全停止輸出。
|
圖4 WSN因電能不足關機 |
輸出電壓功耗優化 各環節錙銖必較
由以上的討論可得知,這意味著嵌入式系統的各方面都應得到能量優化,這樣它才能在能量採集系統的供電下無縫運行。此類系統中有很多子系統,而它們可能非常耗電,需要得到優化,才能確保它們不會拉低能量採集之輸出電壓。功耗優化的關鍵領域包括:
優化CPU時脈頻率
系統時脈頻率決定了例行程式的處理速度以及期間所消耗的能量。時脈越快意味著處理速度越快,但電流消耗也越高。此外,每個裝置都有最低和最高時脈頻率要求,不能超出該要求。
基於能量採集系統的設計,可以根據平均電流消耗與峰值電流消耗這兩個因素選擇一個優化型時脈頻率。
能量採集系統的容量必須兼顧這兩個因素。平均電流是活動狀態下所需的時間平均電流,而峰值電流是活動狀態下的瞬時最大電流要求。通常高於平均電流,有可能發生以下情況:所需的平均電流在能量採集系統的容量之內,但峰值電流將導致能量採集系統突然耗盡能量,從而導致電壓降至截止電壓以下。請注意,處理時間是平均電流消耗計算的一部分。
圖5~6顯示了某個例行程式在兩個不同頻率下的功耗-時間圖,第一個是48MHz,第二個是12MHz。
|
圖5 48MHz頻率下處理某個常式程式的電流消耗 |
|
圖6 12MHz頻率下處理某個常式程式的電流消耗 |
在本例中,48MHz頻率下處理的常式程式使用了約300微秒(μs)的時間完成,並在此期間消耗了約10毫安培(mA)的電流,而12MHz頻率下處理的常式程式使用了1.1毫秒(ms)的時間完成,並在此期間僅消耗了4毫安培的電流。此過程在12MHz下的平均電流消耗更高,但峰值電流要求而更低。
視能量採集系統的容量而定,可以採用一個較短的48MHz時脈設置,或一個較長的12MHz時脈設置,或結合採用兩者,讓時脈頻率在不同的過程之間來回切換。在選擇優化型系統頻率時,應該考慮這種電流分配。
低功耗裝置啟動
嵌入式裝置獲得供電後,它將完成一個啟動程式,然後才能執行應用程式碼。一個典型的啟動程式包括:初始化記憶體、設置中斷向量、配置周邊和通用暫存器、初始化外部時脈。
這四個步驟的每一步都須占用中央處理器(CPU)的處理時間才能完成,因此也要消耗能量。所消耗的能量取決於所使用的裝置、系統時脈頻率、所初始化的記憶體/暫存器的容量以及設置外部時脈所需的時間。因此,啟動過程將消耗大量電能,必須得到優化才能確保不消耗過多的能量採集輸出。
編寫啟動程式碼時應考慮以下兩個因素:第一,只初始化那些將被使用的記憶體和暫存器部分,其他部分維持預設值。第二,大多數無線系統需要高精度外部時脈。這些外部時脈(如外部時脈振盪器和手表晶體振盪器)在啟動後有一個較長的穩定時間。不應讓系統在活動狀態下等待時脈穩定下來,而應將其置於低功耗狀態(睡眠/深度睡眠狀態),只有在準備使用它時再喚醒它,而這可以使用一個內部定時器來實現。
低功耗系統啟動
一旦裝置開始執行應用程式碼,通常需要啟動系統中的各個周邊。這些周邊可能位於裝置之中,如類比數位轉換器(ADC),也可能位於裝置之外,如某個感測器。單一周邊的啟動時間可能不長,但所有周邊的總處理時間可能長到足以耗盡能量採集系統內儲存的能量。
因此,必須計算指定CPU頻率下的周邊啟動時間,然後確定整體啟動所有周邊所需的能量預算是否可行(較快),或是否須要將啟動程式分為多個階段(較慢)。
分階段應用處理
裝置將有不同的應用例行程式,它們需要自己的CPU頻寬。這些例行程式可能是為了配置某個周邊,從感測器接收資料,執行計算,管理事件或中斷。所以,要確保處理所用能量不超過能量採集系統的容量。如果超過了,應將它們分為較小的子例行程式,並分階段管理它們。這可以將能量採集系統上的負荷分成多個可管理的電流脈衝,從而讓能量採集系統能夠在活動的CPU處理程序之間進行充電。
此外,在各個階段之間,應將系統置於低功耗模式,並將一個計數器或看門狗計時器用作喚醒源,作為中斷。由於系統必須在該模式下保持較長時間,期間的電流要求應盡可能低。
採用無線傳輸
採集資料後,必須透過BLE傳輸。傳輸可以透過BLE連接或BLE廣播完成,但支援能量採集的Beacon只能採用BLE廣播,這是因為使用單一連接傳輸資料之前,須要消耗大量能量建立該連接。通常而言,無線操作,無論是發送器(Tx)還是接受器(Rx),是無線裝置中耗能最多的操作。確保BLE操作是一個獨立的過程,只有在能量採集輸出能夠提供足夠的峰值電流時,才與其他過程結合在一起。
基於PMIC的能量採集器為感測器和網路提供一種無電池技術。精準地輸出功率控制功能和高效能的能量採集功能,使它們成為小型無線和Beacon應用的理想選擇,既可以獨立當作電源,也能與鋰電池等其他電池裝置配合使用,用於延長裝置的工作壽命。
一個能量採集PMIC可以從低電壓開始,適應應用的需求。MB39C831等某些產品具備最大功率點跟蹤MPPT功能。MPPT可讓內置的DC/DC轉換器透過跟蹤輸入功率控制輸出充電功率,從而最大程度提高功率輸出。MB39C811等PMIC支援雙採集輸入,可以從兩個不同的來源採集能量。而S6AE101A等優化型PMIC(太陽能或光能EHD優化型)具備極低的啟動和靜態功耗,可以使用很小的太陽能電池。
無電池式無線Beacon的另一個考慮因素是微控制器(MCU)的選擇。被整合成系統單晶片等可編程系統,同時支援各種低功耗模式的微控制器是此類應用的理想選擇。可程式化系統單晶片(PSoC)可與其他可用於對接感測器的各類周邊緊密整合。尤其是PSoC 4 BLE,它包含多個低功耗周邊以及一個BLE射頻單元和BLE協定,從而提供一個真正的單晶片BLE感測器網路。此外還能讓系統與能量採集器、鈕扣電池等小型電源無縫配合。實作證明,這些能量採集器外加的PSoC是無電池型BLE感測器網路應用的最佳設計。
(本文作者任職於賽普拉斯)