具有藍(lán)牙功能的 IoT 設(shè)備可通過(guò)智能手機(jī)和其他網(wǎng)關(guān)設(shè)備提供即時(shí)可用的數(shù)據(jù)訪問(wèn)。但電池供電的低功耗 IoT 解決方案的設(shè)計(jì)在無(wú)線檢測(cè)以及高能耗通信子系統(tǒng)的優(yōu)化方面依然面臨挑戰(zhàn)。對(duì)于上市時(shí)間排程極度緊迫的設(shè)計(jì)人員而言,必須簡(jiǎn)化設(shè)計(jì)任務(wù)。
為幫助開(kāi)發(fā)人員應(yīng)對(duì)低功耗設(shè)計(jì)復(fù)雜性和上市時(shí)間壓力帶來(lái)的挑戰(zhàn),STMicroelectronics 和 Enmo Technologies 分別將其各自的 SensorTile 開(kāi)發(fā)套件和藍(lán)牙軟件專業(yè)技術(shù)進(jìn)行結(jié)合。他們攜手推出了一種簡(jiǎn)單的方法,用于快速開(kāi)發(fā)能夠滿足緊張的功率預(yù)算的電池供電 IoT 設(shè)備。
IoT 硬件和軟件未必費(fèi)力
對(duì)于希望利用無(wú)處不在的藍(lán)牙移動(dòng)設(shè)備的設(shè)計(jì)人員而言,集成式藍(lán)牙解決方案的出現(xiàn)令他們?nèi)缁⑻硪怼3私档驮O(shè)計(jì)復(fù)雜性以外,現(xiàn)成的藍(lán)牙解決方案可直接加速市場(chǎng)投放,因?yàn)檫@些解決方案往往已通過(guò)認(rèn)證,符合監(jiān)管要求。但對(duì)于大多數(shù)開(kāi)發(fā)人員而言,將這些包含多個(gè)傳感器的精密 IC 與一個(gè)主機(jī) MCU 組合起來(lái)的任務(wù),依然是一個(gè)漫長(zhǎng)而復(fù)雜的過(guò)程。此外,即使是經(jīng)驗(yàn)最豐富的開(kāi)發(fā)團(tuán)隊(duì),面對(duì)相關(guān)軟件驅(qū)動(dòng)程序、中間件和應(yīng)用軟件的開(kāi)發(fā)也可能舉步維艱。
STMicroelectronics 的 SensorTile 開(kāi)發(fā)套件提供了一套完整的 IoT 開(kāi)發(fā)解決方案,它組合了一塊無(wú)線傳感器系統(tǒng)板、一對(duì)載板和一個(gè)綜合軟件開(kāi)發(fā)包。Enmo Technologies 的 IoT.Over.Beacon 軟件平臺(tái)旨在與 SensorTile 環(huán)境配合使用,可提供獨(dú)特的解決方案,最大限度降低具有藍(lán)牙功能的 IoT 設(shè)計(jì)的功耗。搭配使用 SensorTile 套件和 Enmo 平臺(tái),開(kāi)發(fā)人員便能以最少的工作實(shí)施完整的低功耗 IoT 設(shè)備解決方案,或使用相同的硬件和軟件組件作為定制設(shè)計(jì)的基礎(chǔ)。
無(wú)線傳感器節(jié)點(diǎn)
作為套件的核心組件,SensorTile 核心系統(tǒng)板是采用 13.5 mm x 13.5 mm 封裝且具有藍(lán)牙功能的獨(dú)立傳感器系統(tǒng)。該核心系統(tǒng)以基于 32 位 ARM? Cortex?-M4F 的 STM32L4 MCU 為基礎(chǔ),包含 STMicroelectronics BlueNRG 藍(lán)牙收發(fā)器和多個(gè)傳感器,所有組件均通過(guò) SPI 連接或?qū)S?a target="_blank">接口進(jìn)行通信(圖 1)。
圖 1: SensorTile 核心系統(tǒng)提供了完整的無(wú)線傳感器解決方案,該解決方案在 13.5 mm x 13.5 mm 的外形尺寸內(nèi)組合了低功耗 MCU、藍(lán)牙收發(fā)器、多個(gè)傳感器、平衡不平衡轉(zhuǎn)換器,甚至還有一根集成天線。(圖片來(lái)源: STMicroelectronics)
ST 為該板打包了自己的全套傳感器,包括 LSM6DSM 慣性測(cè)量裝置 (IMU)、LSM303AGR 電子羅盤(pán)模塊、LPS22HB 壓力傳感器及其 MP34DT04 MEMS 麥克風(fēng)。連同板載的低壓差 (LDO) 穩(wěn)壓器,核心板包含 STMicroelectronics BALF-NRG-01D3 小型平衡不平衡轉(zhuǎn)換器,其中集成了一個(gè)諧波濾波器和專為 BlueNRG 收發(fā)器定制的匹配網(wǎng)絡(luò)。TDK ANT016008LCS2442MA1 多層天線補(bǔ)全了無(wú)線傳感器系統(tǒng)的設(shè)計(jì)。
開(kāi)發(fā)人員可使用兩種不同的方案將核心板連接到套件配套的載板,或其自己的系統(tǒng)設(shè)計(jì)。在板的兩側(cè),開(kāi)發(fā)人員可利用一組焊盤(pán)將其焊接到鞍形板或其他 PC 板。板的背面包含一個(gè)連接器,用于將其安裝到擴(kuò)展板或其他任何具有相應(yīng)連接器的電纜或板(圖 2)。
圖 2: 開(kāi)發(fā)人員可以將 SensorTile 核心板插入 SensorTile 開(kāi)發(fā)套件的擴(kuò)展板上的插座,以利用包括 Arduino 兼容型外設(shè)在內(nèi)的其他選件。(圖片來(lái)源:STMicroelectronics)
PC 板焊盤(pán)和背面連接器均引出了多個(gè) MCU 引腳,包括 SPI、I2C 和 UART 接口,一個(gè)脈沖密度調(diào)制 (PDM) 接口,多個(gè)數(shù)模轉(zhuǎn)換器 (ADC) 以及 ST 的串行線調(diào)試 (SWD) 接口(圖 3)。
盡管核心板可用作獨(dú)立解決方案,但套件的載板為設(shè)計(jì)人員提供了基于 SensorTile 開(kāi)發(fā)和部署 IoT 設(shè)計(jì)的替代方案。鞍形板和配套的原理圖說(shuō)明了開(kāi)發(fā)人員如何使用更多傳感器和其他外設(shè)來(lái)擴(kuò)充核心系統(tǒng)。該板包括一個(gè)用于濕度和溫度的 STMicroelectronics HTS221 傳感器。此外,鞍形板還包括 SD 卡插座、micro-USB 接口、開(kāi)關(guān)和電池組。設(shè)計(jì)人員只需將核心板焊接到鞍形上的相應(yīng)焊盤(pán),便可利用更多外設(shè)。完成開(kāi)發(fā)后,設(shè)計(jì)人員可在交貨時(shí)移除鞍形板的可折斷 SWD 接口。
套件的擴(kuò)展板提供了一種更為簡(jiǎn)單的方法來(lái)開(kāi)發(fā)定制設(shè)計(jì)。開(kāi)發(fā)人員只需使用專用連接器將核心板插入擴(kuò)展板即可(圖 2)。連同用于軟件開(kāi)發(fā)的 SWD 接口,擴(kuò)展板提供了包括 micro-USB 連接器、音頻插孔和 Arduino 兼容型連接器在內(nèi)的更多連接器。
即時(shí)部署
開(kāi)發(fā)人員只需將核心板插入擴(kuò)展板(或?qū)⑵浜附拥桨靶伟迳希ㄟ^(guò) USB 將其連接到主機(jī) PC 以獲取電源,然后下載受支持的 Android 或 iOS 移動(dòng)應(yīng)用程序,便可開(kāi)始探索具有藍(lán)牙功能的 IoT 設(shè)計(jì)。開(kāi)發(fā)套件附帶的核心系統(tǒng)已使用支持三種樣例應(yīng)用程序的固件進(jìn)行編程,這些應(yīng)用程序?qū)⒌凸乃{(lán)牙 (BLE) 與適用于 Android 或 iOS 的 ST BlueMS 應(yīng)用程序配合使用,分別演示了將傳感器數(shù)據(jù)記錄到 SD 卡、MEMS 麥克風(fēng)音頻流和傳感器數(shù)據(jù)流等應(yīng)用。
除了提供用于即時(shí)部署 SensorTile 應(yīng)用程序的軟件以外,這些樣例應(yīng)用程序還可作為使用 SensorTile 的多層架構(gòu)的指導(dǎo)。連同 ARM Cortex 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS) 元器件,STMicroelectronics 基于自己的 STM32Cube 環(huán)境提供硬件抽象層 (HAL) 和板級(jí)支持包 (BSP)。這些層反過(guò)來(lái)與 STLCS01V1 核心板、STLCX01V1 擴(kuò)展板和 STLCR01V1 鞍形板上的基礎(chǔ)硬件接口(圖 4)。
圖 4: SensorTile 軟件包提供了基于 STMicroelectronics 的 STM32Cube 設(shè)備軟件層構(gòu)建的樣例應(yīng)用程序。它將復(fù)雜的硬件互動(dòng)抽象為若干簡(jiǎn)單的軟件調(diào)用。(圖片來(lái)源:STMicroelectronics)
分層架構(gòu)盡管看似復(fù)雜,但為開(kāi)發(fā)人員提供了傳感器數(shù)據(jù)采集和無(wú)線通信的簡(jiǎn)單抽象視圖。例如,BLE 流應(yīng)用程序演示了開(kāi)發(fā)人員只需在主等待循環(huán)之前調(diào)用若干初始化例程便可(列表 1)。主循環(huán)等待關(guān)鍵事件,包括用于指定傳感器數(shù)據(jù)采樣之間的等待時(shí)間的定時(shí)器到期。當(dāng)定時(shí)器處理程序設(shè)置 SendEnv=1,該例程便會(huì)使用單個(gè)調(diào)用
SendEnvironmentalData() 收集并傳輸環(huán)境數(shù)據(jù)。
/* Initialize the BlueNRG */
Init_BlueNRG_Stack();
/* Initialize the BlueNRG Custom services */
Init_BlueNRG_Custom_Services();
/* initialize timers */
InitTimers();
StartTime = HAL_GetTick();
/* Infinite loop */
while (1){
/* Led Blinking when there is not a client connected */
if(!connected) {
if(!TargetBoardFeatures.LedStatus) {
if(HAL_GetTick()-StartTime > 1000) {
LedOnTargetPlatform();
TargetBoardFeatures.LedStatus =1;
StartTime = HAL_GetTick();
}
} else {
if(HAL_GetTick()-StartTime > 50) {
LedOffTargetPlatform();
TargetBoardFeatures.LedStatus =0;
StartTime = HAL_GetTick();
}
}
}
/* handle BLE event */
if(HCI_ProcessEvent) {
HCI_ProcessEvent=0;
HCI_Process();
}
/* Update the BLE advertise data and make the Board connectable */
if(set_connectable){
setConnectable();
set_connectable = FALSE;
}
/* Environmental Data */
if(SendEnv) {
SendEnv=0;
SendEnvironmentalData();
}
列表 1.此代碼片段取自 ST SensorTile 軟件包,它顯示,開(kāi)發(fā)人員在用于等待新藍(lán)牙事件或傳感器數(shù)據(jù)采樣的等待循環(huán)之前調(diào)用了若干初始化例程。(代碼來(lái)源: STMicroelectronics)
SendEnvironmentalData 例程以步進(jìn)方式遍歷各個(gè)傳感器,使用 BSP 例程采集各個(gè)傳感器的數(shù)據(jù)。例如,壓力傳感器 BSP 例程 BSP_PRESSURE_Get_Press() 將更新壓力傳感器設(shè)備特定的數(shù)據(jù)結(jié)構(gòu)中包含的數(shù)據(jù)。SendEnvironmentalData 例程隨后使用相應(yīng)的調(diào)用,通過(guò)藍(lán)牙將數(shù)據(jù)傳輸?shù)?BlueNRG 服務(wù)例程 MCR_BLUEMS_F2I_2D()。
設(shè)計(jì)人員可采用提供的軟件應(yīng)用程序并加入少許更改,也可根據(jù)自己的定制需求進(jìn)行改寫(xiě)。SensorTile 軟件環(huán)境受 STMicroelectronics STM32 開(kāi)放式開(kāi)發(fā)環(huán)境 (STM32 ODE) 支持,旨在支持開(kāi)源軟件庫(kù)和框架。套件已使用 ST 的 BLUEMICROSYSTEM 開(kāi)放式框架固件進(jìn)行預(yù)編程。
STMicroelectronics 的開(kāi)放式環(huán)境為開(kāi)發(fā)人員提供了另一重大好處。他們可以利用旨在增強(qiáng)功能的第三方軟件庫(kù),而不是繼續(xù)局限于特定的機(jī)制。對(duì)于有功率限制的 IoT 設(shè)備,此功能在利用能效更高的機(jī)制時(shí)變得尤其重要。
降低電源要求
對(duì)于許多 IoT 應(yīng)用而言,相關(guān)的無(wú)線傳感器系統(tǒng)依賴于電池電量,并且需要符合嚴(yán)格的功率預(yù)算。SensorTile 核心系統(tǒng)通過(guò)使用低功耗器件滿足這一硬件要求。例如,在環(huán)境和運(yùn)動(dòng)應(yīng)用中通常所需的低速率下,傳感器只需要微安級(jí)別的功耗。LSM6DSM IMU 在 12.5 Hz 的采樣率下僅使用 9 μA 電流,LSM303AGR 電子羅盤(pán)在 20 Hz 下僅需 200 μA 電流,LPS22HB 壓力傳感器在 1 Hz 下需要的電流不超過(guò) 12 μA。
此外,STM32L476 MCU 在運(yùn)行模式下只需 100 μA/MHz (24 MHz)。BlueNRG 藍(lán)牙收發(fā)器 IC 在維持一個(gè)有源 BLE 堆棧的待機(jī)模式下僅消耗 1.7 μA 電流。即便如此,有源無(wú)線傳輸往往仍消耗了主要功率份額,SensorTile 也不例外。BlueNRG 收發(fā)器在 8.2 mA 電流下以 0 dBm 傳輸數(shù)據(jù),非常適合低功耗應(yīng)用,但即便如此,仍是功率受限型設(shè)計(jì)的用電大戶。
系統(tǒng)設(shè)計(jì)人員可通過(guò)簡(jiǎn)單的權(quán)宜之計(jì),即減少無(wú)線傳輸事務(wù)的數(shù)量并縮短其持續(xù)時(shí)間,來(lái)解決與無(wú)線通信相關(guān)的功耗挑戰(zhàn)。不過(guò),使用標(biāo)準(zhǔn)藍(lán)牙通信,開(kāi)發(fā)人員只有很少幾個(gè)選項(xiàng)用于限制功耗。具有藍(lán)牙功能的典型應(yīng)用依賴于使用重復(fù)輪詢檢查的設(shè)備發(fā)現(xiàn)和配對(duì),這會(huì)造成大量功耗而并無(wú)實(shí)際數(shù)據(jù)交換。而且,標(biāo)準(zhǔn)藍(lán)牙配對(duì)會(huì)給 IoT 部署帶來(lái)嚴(yán)重的后勤復(fù)雜性,因?yàn)槊總€(gè) IoT 設(shè)備都需要置于發(fā)現(xiàn)模式。其次,它必須采用手動(dòng)方式與移動(dòng)設(shè)備或其他數(shù)據(jù)聚合器配對(duì)。
藍(lán)牙的信標(biāo)機(jī)制提供了可消除與發(fā)現(xiàn)和配對(duì)相關(guān)的功耗和后勤問(wèn)題的備選方案。不幸的是,標(biāo)準(zhǔn)信標(biāo)不能攜帶任何數(shù)據(jù)有效載荷(例如傳感器數(shù)據(jù))。
不過(guò),利用其 IoT.Over.Beacon 技術(shù),Enmo Technologies 可將信標(biāo)技術(shù)的省電優(yōu)勢(shì)與藍(lán)牙配對(duì)設(shè)備技術(shù)的數(shù)據(jù)交換功能相結(jié)合。因此,Enmo 的機(jī)制可提供多達(dá) 50 KB 的可變大小有效載荷,同時(shí)還能滿足長(zhǎng)時(shí)間操作電池供電 IoT 設(shè)備所需的低功耗要求。
與本機(jī) SensorTile 環(huán)境一樣,開(kāi)發(fā)人員可利用 Enmo 的參考固件。盡管 Enmo 參考固件被處理為對(duì)開(kāi)發(fā)人員保持透明,但它將低級(jí) STMicroelectronics 調(diào)用替換為對(duì)其適用于 SensorTile 的專有 IoT.Over.Beacon 庫(kù)的調(diào)用。
為此,開(kāi)發(fā)人員需要使用 STM32 ST-Link 實(shí)用程序來(lái)加載參考固件,該實(shí)用程序提供了簡(jiǎn)單的圖形用戶界面來(lái)選擇和上傳文件。Enmo 參考固件被加載到 SensorTile 核心板后,將通過(guò)低功耗藍(lán)牙連接與 Enmo 的 Android 和 iOS 移動(dòng)應(yīng)用程序交互。開(kāi)發(fā)人員可以在 Enmo 應(yīng)用程序中輕松顯示 SensorTile 數(shù)據(jù),即,使用小工具將傳感器數(shù)據(jù)顯示為圖形或表格(圖 5)。
圖 5: Enmo Technologies 的參考固件被加載到 SensorTile 后,將通過(guò)藍(lán)牙向 Enmo 的 Android 或 iOS 應(yīng)用程序傳送傳感器數(shù)據(jù)。(圖片來(lái)源: Enmo Technologies)
傳統(tǒng)藍(lán)牙信標(biāo)的一項(xiàng)關(guān)鍵功能是,它們能夠在移動(dòng)設(shè)備進(jìn)入和離開(kāi)具有信標(biāo)功能的應(yīng)用程序所覆蓋的物理區(qū)域時(shí)觸發(fā)。但對(duì)于 IoT 設(shè)備,物理進(jìn)入和退出的概念可能不適用。
Enmo 提供了專有機(jī)制來(lái)模仿藍(lán)牙信標(biāo)的傳統(tǒng)進(jìn)入和退出模式。在這里,開(kāi)發(fā)人員為 IoT 設(shè)備指定觸發(fā)進(jìn)入和退出的條件。例如,某個(gè)溫度檢測(cè) IoT 設(shè)備可能會(huì)在溫度變化至高于或低于某個(gè)設(shè)定的閾值時(shí)啟動(dòng)“進(jìn)入”或“退出”協(xié)議。
與本機(jī) SensorTile 軟件包一樣,用于 SensorTile 的 Enmo 參考固件提供了一種即時(shí)解決方案,用于快速部署具有藍(lán)牙功能的低功耗 IoT 設(shè)備。類(lèi)似地,針對(duì)定制 SensorTile 開(kāi)發(fā),Enmo 提供了一個(gè)軟件開(kāi)發(fā)套件 (SDK),可允許工程師將 Enmo 的 IoT.Over.Beacon 機(jī)制集成到自己獨(dú)有的 SensorTile IoT 應(yīng)用。利用 Enmo SDK,開(kāi)發(fā)人員使用 STMicroelectronics 環(huán)境編寫(xiě)定制的 SensorTile 固件,在需要通過(guò)藍(lán)牙發(fā)送數(shù)據(jù)時(shí)調(diào)用 Enmo 的 IoT.Over.Beacon 庫(kù)。該庫(kù)將在 IoT.Over.Beacon 模式下透明地執(zhí)行數(shù)據(jù)傳輸,并在完成傳輸后提供軟件回調(diào)。
總結(jié)
電池供電的 IoT 設(shè)計(jì)為希望快速部署具有藍(lán)牙功能的傳感器設(shè)備的開(kāi)發(fā)人員造成了重大障礙。STMicroelectronics SensorTile 開(kāi)發(fā)套件提供了完整的解決方案,該解決方案可用作獨(dú)立設(shè)備,也可作為子系統(tǒng)添加到現(xiàn)有設(shè)計(jì)。盡管 SensorTile 具有低功耗要求,但標(biāo)準(zhǔn)藍(lán)牙協(xié)議可能會(huì)快速耗盡電池供電系統(tǒng)的電量。
通過(guò)將 ST SensorTile 與 Enmo Technologies 獨(dú)有的 IoT.Over.Beacon 平臺(tái)相結(jié)合,開(kāi)發(fā)人員可快速部署具有藍(lán)牙功能并且能夠符合嚴(yán)格的功率預(yù)算的傳感器。
-
mcu
+關(guān)注
關(guān)注
146文章
16993瀏覽量
350318 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2903文章
44277瀏覽量
371289 -
STM32
+關(guān)注
關(guān)注
2266文章
10872瀏覽量
354826 -
超低功耗
+關(guān)注
關(guān)注
5文章
178瀏覽量
18417
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論