你的位置:首頁(yè) > 傳感技術(shù) > 正文

低功耗藍(lán)牙無(wú)線傳感器

發(fā)布時(shí)間:2018-04-02 責(zé)任編輯:lina

【導(dǎo)讀】如今,科技發(fā)展迅猛,各種設(shè)備讓世界變得更加智能。新技術(shù)的不斷出現(xiàn),不僅改進(jìn)了現(xiàn)有技術(shù),還創(chuàng)造了新的細(xì)分市場(chǎng)。藍(lán)牙技術(shù)的進(jìn)步使得智能藍(lán)牙(低功耗藍(lán)牙BLE)應(yīng)運(yùn)而生。按照藍(lán)牙技術(shù)聯(lián)盟(SIG)的定義,BLE是一種低功率、短距離、低數(shù)據(jù)速率的無(wú)線通信協(xié)議。

BLE的分層協(xié)議棧能以低功耗高效傳輸少量數(shù)據(jù),使其成為電池供電應(yīng)用的首選無(wú)線協(xié)議,如需要定期提取和處理數(shù)據(jù)的低功耗傳感器網(wǎng)絡(luò)接口等。本文將重點(diǎn)介紹如何在數(shù)據(jù)變化不頻繁的傳感器應(yīng)用中,有效地利用BLE維持低功耗無(wú)線運(yùn)行。
 
 
目前,全球正進(jìn)入一個(gè)各種系統(tǒng)都需要采集和交換數(shù)據(jù)的物聯(lián)網(wǎng)(IoT)時(shí)代。在傳感器以無(wú)線方式連接,形成網(wǎng)絡(luò)并實(shí)現(xiàn)設(shè)備間數(shù)據(jù)交換的物聯(lián)網(wǎng)中,BLE發(fā)揮著至關(guān)重要的角色。主機(jī)設(shè)備可以是能夠監(jiān)測(cè)和控制所有網(wǎng)絡(luò)節(jié)點(diǎn)的智能手機(jī)。此類(lèi)物聯(lián)網(wǎng)(IoT)應(yīng)用包括日?;顒?dòng)追蹤以及家庭自動(dòng)化功能,如高效住宅照明、溫度和濕度監(jiān)測(cè)與控制、遠(yuǎn)程控制消費(fèi)類(lèi)電子設(shè)備等。
 
低功耗藍(lán)牙的功率模式
 
如果傳感器采用電池供電,功耗受限且必須持續(xù)很長(zhǎng)時(shí)間的話, BLE將成為最佳連接選擇。比如,一個(gè)測(cè)量溫度及濕度的低功耗傳感器, 其參數(shù)是緩慢變化的,此類(lèi)傳感器可以與能夠處理并將數(shù)據(jù)傳輸?shù)街鳈C(jī)設(shè)備的BLE集成型處理器連接。BLE子系統(tǒng)的操作頻率不高,例如每百毫秒一次,而且在其他時(shí)間處于低功耗模式。賽普拉斯PSoC 4 BLE等BLE型器件可提供多用戶(hù)可配置的功耗模式,從而優(yōu)化獨(dú)立于處理器工作模式的BLE子系統(tǒng)(BLESS)的運(yùn)行。使開(kāi)發(fā)人員能夠降低功耗,并使單塊電池的使用壽命達(dá)到數(shù)年之久。
 
這五種系統(tǒng)功率模式分別為:主動(dòng)、睡眠、深度睡眠、休眠和停止模式。三種BLESS功耗模式分別為主動(dòng)、睡眠和深度睡眠模式。BLESS模式在系統(tǒng)功率為1.3微安的深度睡眠模式下始終啟用。BLE子系統(tǒng)可以在BLESS Active模式下發(fā)送和接收數(shù)據(jù)。它能保持空閑狀態(tài),并在BLESS睡眠模式和深度睡眠模式下維持連接。這些功耗模式獨(dú)立于系統(tǒng)的功耗模式,因此開(kāi)發(fā)人員能夠靈活地為系統(tǒng)和BLESS分別選擇最高效的配置。在此基礎(chǔ)上,我們可以建立一個(gè)電流需求極低、通常由紐扣電池供電的完整系統(tǒng)。
 
例如,1秒廣播間隔的平均耗電量只有26微安。而1秒連接間隔的平均耗電量更低,只有17微安。
 
傳感器和低功耗藍(lán)牙
 
傳感器可以大致分為模擬和數(shù)字兩種。典型的模擬傳感器包括用于監(jiān)測(cè)煙霧、氣體、環(huán)境光線、人員感應(yīng)等的傳感器。數(shù)字傳感器包括監(jiān)測(cè)溫度、濕度、壓力、加速度等的傳感器。當(dāng)BLE子系統(tǒng)與應(yīng)用處理器集成時(shí),傳感器可以采用多種不同的方式進(jìn)行連接。例如,可以將模擬傳感器饋送到前端具有電壓輸出器的SAR ADC。數(shù)字傳感器無(wú)需進(jìn)行模擬轉(zhuǎn)換,因此可以通過(guò)任何通信接口(如I2C、SPI或單線接口)采集數(shù)據(jù)。集成的定時(shí)器、計(jì)數(shù)器、脈寬調(diào)制器和通用數(shù)字模塊(UDB)均可用于實(shí)現(xiàn)自定義邏輯以進(jìn)一步處理傳感器數(shù)據(jù)。最終,經(jīng)處理或所接收的數(shù)字?jǐn)?shù)據(jù)可以通過(guò)BLE接口發(fā)送,并由內(nèi)置BLE功能的手機(jī)或任何其他客戶(hù)端設(shè)備進(jìn)行監(jiān)測(cè)。隨著資源可用性和成本的不斷變化,可選擇不同系列的BLE集成處理器(如PSoC 4 BLE)以適應(yīng)各種應(yīng)用。
 
無(wú)線傳感器網(wǎng)絡(luò)
 
無(wú)線傳感器網(wǎng)絡(luò)通常作為網(wǎng)狀網(wǎng)絡(luò)和樞紐網(wǎng)絡(luò)(見(jiàn)圖1)。樞紐網(wǎng)絡(luò)包括可以放置在相同位置的所有傳感器。每個(gè)傳感器需要連接到單個(gè)BLE外圍設(shè)備(服務(wù)器)來(lái)處理數(shù)據(jù)并將其發(fā)送到BLE中央設(shè)備(客戶(hù)端)。網(wǎng)狀網(wǎng)絡(luò)采用可以遠(yuǎn)程定位傳感器的拓?fù)浣Y(jié)構(gòu)。網(wǎng)格中的每個(gè)節(jié)點(diǎn)都需要連接到BLE外圍設(shè)備(服務(wù)器),所有這些外圍設(shè)備都可以連接到BLE中央設(shè)備(客戶(hù)端)。
 
圖1:傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
 
 
網(wǎng)狀網(wǎng)絡(luò)中樞網(wǎng)絡(luò)                                         樞紐網(wǎng)絡(luò)
 
內(nèi)置BLE功能的處理器的靈活性和豐富資源,使傳感器能夠與單一BLE設(shè)備連接。圖2是使用PSoC Creator的典型配置。PSoC Creator是一個(gè)用于圍繞PSoC架構(gòu)開(kāi)發(fā)應(yīng)用程序的IDE。圖中顯示的是模擬和數(shù)字傳感器接口以及BLE子系統(tǒng)。該配置展示的是用于感測(cè)煙霧、光照強(qiáng)度、溫度、濕度和壓力的典型工業(yè)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)。配置中的每個(gè)組件都有一個(gè)關(guān)聯(lián)的應(yīng)用程序編程接口(API),開(kāi)發(fā)人員可根據(jù)需要訪問(wèn)這些組件。每個(gè)組件還有一個(gè)與其相關(guān)的數(shù)據(jù)表對(duì)組件的可用配置進(jìn)行說(shuō)明。
 
圖2:PSoC Creator項(xiàng)目 – 包含所有必要組件的頂級(jí)設(shè)計(jì)
 
 
BLE組件在其GAP層中被配置為從設(shè)備。這使任何BLE設(shè)備(如BLE手機(jī))都可以掃描此設(shè)備,在BLE從設(shè)備包含其名稱(chēng)廣播時(shí)被BLE手機(jī)連接。此外,在其GATT層中,BLE設(shè)備被配置為具有自定義配置文件的GATT服務(wù)器。下面將討論BLE低功耗特性在該組件內(nèi)啟用。名為“Sensor Service”的單一服務(wù)具有5種不同的特性,用于采集每個(gè)傳感器的數(shù)據(jù)。每個(gè)特性都具有通知功能,可以將傳感器數(shù)據(jù)作為通知發(fā)送。
 
BLE中的一切都作為“-活動(dòng)”處理。BLE堆棧提供處理這些事件的“定義”。以下代碼片段展示了其中一部分活動(dòng)的運(yùn)行。
 
CyBle_Start(AppCallBack);
void AppCallBack(uint32 event, void* eventParam)
{
CYBLE_API_RESULT_T apiResult;
switch (event)
{
case CYBLE_EVT_STACK_ON: /* This event is received when the component is Started */
/* Enter into discoverable mode so that remote device can search it. */
apiResult = CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST);
if(apiResult != CYBLE_ERROR_OK)
{
/* Error */
}
break;
case CYBLE_EVT_GAPP_ADVERTISEMENT_START_STOP:
if(CYBLE_STATE_DISCONNECTED == CyBle_GetState())
{
CySysPmHibernate(); /* Enter Hibernate Mode for Low Current */
}
break;
case CYBLE_EVT_GAP_DEVICE_CONNECTED:
break;
case CYBLE_EVT_GAP_DEVICE_DISCONNECTED:
/* Put the device into discoverable mode so that a remote can search it. */
apiResult = CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST);
if(apiResult != CYBLE_ERROR_OK)
{
/* Error */
}
break;
/* GATT Events */
case CYBLE_EVT_GATT_CONNECT_IND:
break;
case CYBLE_EVT_GATT_DISCONNECT_IND:
break;
}
}
 
圖3:BLE組件配置

 
一旦兩個(gè)設(shè)備實(shí)現(xiàn)連接,就能使用連接間隔不同的通知發(fā)送數(shù)據(jù)。應(yīng)用程序接口“CyBle_ProcessEvents()”應(yīng)置于while(1)循環(huán)中,且必須在每個(gè)連接間隔中至少調(diào)用一次。我們也可以調(diào)用在同一while循環(huán)中將數(shù)據(jù)作為通知發(fā)送的函數(shù)。以下函數(shù)可用于將溫度數(shù)據(jù)的一個(gè)字節(jié)作為通知發(fā)送。這也適用于其他傳感器特性。
 
voidSendTempNotification(uint8TempData)
{
CYBLE_API_RESULT_T bleApiResult;
CYBLE_GATTS_HANDLE_VALUE_NTF_T TempHandle;
TempHandle.value.val = &TempData;
TempHandle.value.len = 1;
TempHandle.attrHandle = CYBLE_SENSORSERVICE_TEMPERATURE_CHAR_HANDLE;
do
{
bleApiResult = CyBle_GattsNotification(cyBle_connHandle, &TempHandle);
CyBle_ProcessEvents();
}while((CYBLE_ERROR_OK != bleApiResult) && (CYBLE_STATE_CONNECTED == cyBle_state));
}
 
如上文所述,處理器和BLE子系統(tǒng)(BLESS)具有獨(dú)立的低功率模式。舉個(gè)例子 ,如果設(shè)備斷開(kāi)連接,我們可以將處理器設(shè)置為休眠或停止模式以降低功耗。在廣播和連接間隔之間,我們可以利用BLESS深度睡眠模式,甚至連所使用的各個(gè)組件(如ADC、I2C等)也可以進(jìn)入各自的低功率模式并在需要時(shí)喚醒。因此,開(kāi)發(fā)人員能夠根據(jù)整個(gè)系統(tǒng)的實(shí)際需要,對(duì)功率進(jìn)行非常細(xì)致的控制。有關(guān)詳細(xì)的低功率代碼片段,請(qǐng)參見(jiàn)低功耗藍(lán)牙應(yīng)用的低功率設(shè)計(jì)與電池壽命估算。
 
while(1) 循環(huán)如下:
 
while(1)
{
/* Process all the generated events. */
CyBle_ProcessEvents();
/* To achieve low power in the device */
LowPowerImplementation();
/***********************************************************************
* Wait for connection established with Central device
***********************************************************************/
if(CyBle_GetState() == CYBLE_STATE_CONNECTED)
{
CyBle_ProcessEvents();
SendTempNotification(Temperature);
}
}
 
目前具有BLE功能的手機(jī)可以掃描這一傳感器網(wǎng)絡(luò)設(shè)備,并使用各種特性來(lái)監(jiān)視每個(gè)傳感器的數(shù)據(jù)。一些處理器制造商還提供手機(jī)端的BLE連接軟件。例如,賽普拉斯提供了一個(gè)名為CySmart的應(yīng)用程序,該應(yīng)用程序可以安裝在您的安卓或Apple設(shè)備上,并協(xié)助您監(jiān)控BLE傳輸。

BLE 信標(biāo)
 
藍(lán)牙信標(biāo)的廣播信號(hào)可以被附近的智能設(shè)備捕捉。對(duì)于此類(lèi)應(yīng)用,只需要將BLE組件配置為廣播器的GAP,這樣系統(tǒng)就可以發(fā)送廣播信息。信標(biāo)的功耗應(yīng)該較低,也可以得益于集成的處理器/BLE設(shè)計(jì)。太陽(yáng)能低功耗藍(lán)牙信標(biāo)和無(wú)線傳感器節(jié)點(diǎn)可顯示正在使用的BLE信標(biāo)。
 
BLE在消費(fèi)類(lèi)、工業(yè)和嵌入式應(yīng)用等許多市場(chǎng)中的發(fā)展勢(shì)頭良好。該項(xiàng)技術(shù)成功的一個(gè)關(guān)鍵因素是它能夠在低功耗的情況下運(yùn)行。BLE技術(shù)使開(kāi)發(fā)人員能夠設(shè)計(jì)出由電池供電、使用壽命更長(zhǎng),對(duì)用戶(hù)更加友好的應(yīng)用。


推薦閱讀:
分享電源設(shè)計(jì)經(jīng)驗(yàn)之MOS管驅(qū)動(dòng)電路
智慧城市建設(shè)信息安全保障的完整閉環(huán)
采用去耦和不采用去耦緩沖電路差異
一文看懂電流變送器作用和原理及電路圖
一文了解NFC電路中電感器的必要特性及產(chǎn)品
要采購(gòu)傳感器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉