你的位置:首頁 > 互連技術(shù) > 正文

開發(fā)平臺加快開發(fā)具有藍(lán)牙功能的低功耗 IoT 設(shè)計(jì)

發(fā)布時間:2017-05-31 責(zé)任編輯:wenwei

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


如何采用面向低噪聲的運(yùn)放進(jìn)行設(shè)計(jì)?
看無線電池管理系統(tǒng)如何滿足業(yè)界對更高可靠性的需求?
MR-16 LED驅(qū)動器和用于脈沖LED冷卻器供電的5V輔助電源
采用MAX16834設(shè)計(jì)buck-boost LED驅(qū)動器
LED在遠(yuǎn)程控制照明中的應(yīng)用

 
 
 
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉