科技發展一日千里,各種設備讓世界變得更加智慧。
新技術不斷出現,不僅改進現有技術,還創造了新的細分市場。
其中,藍牙(Bluetooth)技術的進步使得低功耗藍牙(BLE)應運而生。
本文將重點介紹如何在資料變化不頻繁的感測器應用中,
有效地利用BLE維持低功耗無線運行。
按照藍牙技術聯盟(SIG)的定義,智慧藍牙(Bluetooth Smart)或稱低功耗藍牙(BLE),是一種低功率、短距離、低資料速率的無線通訊協定。BLE的分層協定棧(Protocol Stack)能以低功耗高效傳輸少量資料,使其成為電池供電應用的首選無線協定,例如需要定期提取和處理資料的低功耗感測器網路介面等。
目前全球正進入一個各種系統都需要採集和交換資料的物聯網(IoT)時代。在感測器以無線方式連接的物聯網中,BLE發揮至關重要的角色,主機設備可以是能夠監測和控制所有網路節點的智慧手機。此類物聯網應用包括日常活動追蹤以及家庭自動化功能,如高效住宅照明、溫度和濕度監測與控制、遠端控制消費類電子設備等。
選用多種功率模式 低功耗藍牙應用百變
如果感測器採用電池供電,功耗受限且必須持續很長時間的話,BLE將成為最佳連接選擇。例如,一個測量溫度及濕度的低功耗感測器,其參數是緩慢變化的,此類感測器可以與能夠處理並將資料傳輸到主機設備的BLE整合型處理器連接。
BLE子系統(BLESS)的操作頻率不高,例如每百毫秒(ms)一次,而且在其他時間處於低功耗模式。目前市面上已有PSoC 4 BLE等BLE型元件可提供多使用者可配置的功耗模式,從而優化獨立於處理器工作模式的BLE子系統的運行,使開發人員能夠降低功耗,並使單顆電池的使用壽命達到數年之久。
這五種系統功率模式分別為主動、睡眠、深度睡眠、休眠以及停止模式。三種BLESS功耗模式分別為主動、睡眠和深度睡眠模式。BLESS模式在系統功率為1.3微安培(μA)的深度睡眠模式下始終啟用。BLE子系統可以在BLESS Active模式下發送和接收資料。它能保持空閒狀態,並在BLESS睡眠模式和深度睡眠模式下維持連接。
這些功耗模式獨立於系統的功耗模式,因此開發人員能夠靈活地為系統和BLESS分別選擇最高效的配置。在此基礎上,可以建立一個電流需求極低、通常由紐扣電池供電的完整系統。例如,1秒(s)廣播間隔的平均耗電量只有26微安培。而1秒連接間隔的平均耗電量更低,只有17微安培。
感測器監測資料 BLE低功耗傳輸
感測器可以大致分為類比和數位兩種。典型的模擬感測器包括用於監測煙霧、氣體、環境光線、人員感應等感測器。數位感測器包括監測溫度、濕度、壓力、加速度等感測器。當BLE子系統與應用處理器整合時,感測器可以採用多種不同的方式進行連接。
例如,可以將模擬感測器饋送到前端具有電壓輸出器的SAR ADC。數位感測器毋須進行類比轉換,因此可以透過任何通訊介面如I2C、串列周邊介面(SPI)或單線介面採集資料。整合的計時器、計數器、脈寬調製器和通用數位模組(UDB)均可用於實現自訂邏輯以進一步處理感測器資料。
最終,經處理或所接收的數位資料可以透過BLE介面發送,並由內置BLE功能的手機或任何其他用戶端設備進行監測。隨著資源可用性和成本的不斷變化,可選擇不同系列的BLE整合處理器(如PSoC 4 BLE)以適應各種應用。
感測器內置BLE 打造無線傳輸環境
無線感測器網路通常作為網狀網路和樞紐網路(圖1)。樞紐網路包括可以放置在相同位置的所有感測器。每個感測器須要連接到單一BLE周邊設備(伺服器)來處理資料並將其發送到BLE中央設備(用戶端)。網狀網路採用可以遠端定位感測器的拓撲結構。網格中的每個節點都須要連接到BLE周邊設備(伺服器),所有這些周邊設備都可以連接到BLE中央設備(用戶端)。
內置BLE功能的處理器的靈活性和豐富資源,使感測器能夠與單一BLE設備連接。圖2是使用PSoC Creator的典型配置。PSoC Creator是一個用於圍繞PSoC架構開發應用程式的整合型開發環境(IDE)。圖中顯示的是類比和數位感測器介面以及BLE子系統。該配置展示的是用於感測煙霧、光照強度、溫度、濕度和壓力的典型工業資料監測系統。配置中的每個元件都有一個關聯的應用程式開發介面(API),開發人員可根據需要存取這些元件。每個元件還有一個與其相關的資料表對元件的可用配置進行說明。
BLE元件在其GAP層中被配置為從設備,這使任何BLE設備(如BLE手機)都可以掃描此設備,在BLE從設備包含其名稱廣播時被BLE手機連接。此外,在其GATT層中,BLE設備被配置為具有自訂設定檔的GATT伺服器(圖3)。
下面將討論BLE低功耗特性在該組件內啟用。名為「Sensor Service」的單一服務具有五種不同的特性,用於採集每個感測器的資料。每個特性都具有通知功能,可以將感測器資料作為通知發送。
BLE中的一切都作為「活動」處理。BLE堆疊提供處理這些事件的「定義」。以下代碼片段展示了其中一部分活動的運行。
一旦兩個設備實現連接,就能使用連接間隔不同的通知發送資料。應用程式介面CyBle_ProcessEvents()應置於while(1)迴圈中,且必須在每個連接間隔中至少調用一次。
也可以調用在同一while迴圈中將資料作為通知發送的函數。以下函數可用於將溫度資料的一個位元組作為通知發送,而這也適用於其他感測器特性。
如上文所述,處理器和BLE子系統具有獨立的低功率模式。舉例來說,如果設備斷開連接,可以將處理器設置為休眠或停止模式以降低功耗。在廣播和連接間隔之間,可以利用BLESS深度睡眠模式,甚至連所使用的各個元件(如ADC、I2C等)也可以進入各自的低功率模式並在需要時喚醒。因此,開發人員能夠根據整個系統的實際需要,對功率進行非常細緻的控制。while(1)迴圈的程式內容如下:
目前具有BLE功能的手機可以掃描這些感測器網路設備,並使用各種特性來監視每個感測器的資料。一些處理器製造商還提供手機端的BLE連接軟體。例如,一個名為CySmart的應用程式可以安裝在Android或蘋果(Apple)設備上,協助監控BLE傳輸。
善用BLE信標特性 藍牙發展前景看俏
藍牙信標(Beacon)的廣播訊號可以被附近的智慧設備捕捉。對於此類應用,只須要將BLE元件配置為廣播器的GAP,這樣系統就可以發送廣播資訊。信標的功耗應該較低,也可以得益於整合的處理器/BLE設計。太陽能低功耗藍牙信標和無線感測器節點可顯示正在使用的BLE信標。
BLE在消費類、工業和嵌入式應用等許多市場中的發展前景看好。該項技術成功的一個關鍵因素是它能夠在低功耗的情況下運行。BLE技術使開發人員能夠設計出由電池供電、使用壽命更長,對用戶更加友好的應用。
(本文作者任職於賽普拉斯)