0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发平台加快开发具有蓝牙功能的低功耗IoT设计

电子设计 2017-11-08 10:10 次阅读

具有蓝牙功能的 IoT 设备可通过智能手机和其他网关设备提供即时可用的数据访问。但电池供电的低功耗 IoT 解决方案的设计在无线检测以及高能耗通信子系统的优化方面依然面临挑战。对于上市时间排程极度紧迫的设计人员而言,必须简化设计任务。

为帮助开发人员应对低功耗设计复杂性和上市时间压力带来的挑战,STMicroelectronics 和 Enmo Technologies 分别将其各自的 SensorTile 开发套件和蓝牙软件专业技术进行结合。他们携手推出了一种简单的方法,用于快速开发能够满足紧张的功率预算的电池供电 IoT 设备。

IoT 硬件和软件未必费力

对于希望利用无处不在的蓝牙移动设备的设计人员而言,集成式蓝牙解决方案的出现令他们如虎添翼。除了降低设计复杂性以外,现成的蓝牙解决方案可直接加速市场投放,因为这些解决方案往往已通过认证,符合监管要求。但对于大多数开发人员而言,将这些包含多个传感器的精密 IC 与一个主机 MCU 组合起来的任务,依然是一个漫长而复杂的过程。此外,即使是经验最丰富的开发团队,面对相关软件驱动程序、中间件和应用软件的开发也可能举步维艰。

STMicroelectronics 的 SensorTile 开发套件提供了一套完整的 IoT 开发解决方案,它组合了一块无线传感器系统板、一对载板和一个综合软件开发包。Enmo Technologies 的 IoT.Over.Beacon 软件平台旨在与 SensorTile 环境配合使用,可提供独特的解决方案,最大限度降低具有蓝牙功能的 IoT 设计的功耗。搭配使用 SensorTile 套件和 Enmo 平台,开发人员便能以最少的工作实施完整的低功耗 IoT 设备解决方案,或使用相同的硬件和软件组件作为定制设计的基础。

无线传感器节点

作为套件的核心组件,SensorTile 核心系统板是采用 13.5 mm x 13.5 mm 封装且具有蓝牙功能的独立传感器系统。该核心系统以基于 32 位 ARM® Cortex®-M4F 的 STM32L4 MCU 为基础,包含 STMicroelectronics BlueNRG 蓝牙收发器和多个传感器,所有组件均通过 SPI 连接或专用接口进行通信(图 1)。

图 1: SensorTile 核心系统提供了完整的无线传感器解决方案,该解决方案在 13.5 mm x 13.5 mm 的外形尺寸内组合了低功耗 MCU、蓝牙收发器、多个传感器、平衡不平衡转换器,甚至还有一根集成天线。(图片来源: STMicroelectronics)

ST 为该板打包了自己的全套传感器,包括 LSM6DSM 惯性测量装置 (IMU)、LSM303AGR 电子罗盘模块、LPS22HB 压力传感器及其 MP34DT04 MEMS 麦克风。连同板载的低压差 (LDO) 稳压器,核心板包含 STMicroelectronics BALF-NRG-01D3 小型平衡不平衡转换器,其中集成了一个谐波滤波器和专为 BlueNRG 收发器定制的匹配网络TDK ANT016008LCS2442MA1 多层天线补全了无线传感器系统的设计。

开发人员可使用两种不同的方案将核心板连接到套件配套的载板,或其自己的系统设计。在板的两侧,开发人员可利用一组焊盘将其焊接到鞍形板或其他 PC 板。板的背面包含一个连接器,用于将其安装到扩展板或其他任何具有相应连接器的电缆或板(图 2)。

图 2: 开发人员可以将 SensorTile 核心板插入 SensorTile 开发套件的扩展板上的插座,以利用包括 Arduino 兼容型外设在内的其他选件。(图片来源:STMicroelectronics)

PC 板焊盘和背面连接器均引出了多个 MCU 引脚,包括 SPI、I2CUART 接口,一个脉冲密度调制 (PDM) 接口,多个数模转换器 (ADC) 以及 ST 的串行线调试 (SWD) 接口(图 3)。

板引脚CONN 引脚引脚名称MCU 引脚主要功能(1)12MIC_CLKPC2DFSDM1_CKOUT、ADC24VDD_OUTVDD/VBAT1.8 V 板载 LDO 电压36VIN/LDO 电源 [2 V - 5.5 V]48VDDUSBVDDIO2 VDDUSBUSB 外设电源和 VDDIO2 [1.8 V - 3.3 V]510GNDVSS陆运612RXD/USB_DPPD2/PA12USB_OTG_FS DP 的 USART5 RX (2)714TXD/USB_DMPC12/PA11USART5 TX 或 USB_OTG_FS DM 1816SAI_CLKPG9(3)SAI2_SCK_A、SPI3_SCK915SAI_FSPG10(3)SAI2_FS_A、SPI3_MISO1013SAI_MCLKPG11(3)SAO2_MCLK_A、SPI3_MOSI1111SAI_SDPG12(3)SAI2_SD_A、SPI3_NSS129GPIO2PB8/PB9/PC1DFSDM_DATIN6、I2C3_SDA137GPIO3PC0DFSDM_DATIN4、I2C3_SCL145NRSTNRSTSTM32 复位153SWD_CLKSWD 编程接口时钟161SWD_IOSWD 编程接口 IO17/GND陆运18/GND陆运
备注:
(1) 有关每个引脚的完整功能集,请参阅 st.com 上的 STM32L476 规格
(2) USB_OTG_FS 外设在 VDDUSB >e; 3 V 时工作
(3) 此引脚的逻辑电平称为 VDDIO2

图 3: 开发人员可通过板的 PC 板焊盘或通过置于板背面的专用连接器来访问 MCU 引脚的子集。(图片来源:STMicroelectronics)

尽管核心板可用作独立解决方案,但套件的载板为设计人员提供了基于 SensorTile 开发和部署 IoT 设计的替代方案。鞍形板和配套的原理图说明了开发人员如何使用更多传感器和其他外设来扩充核心系统。该板包括一个用于湿度和温度的 STMicroelectronics HTS221 传感器。此外,鞍形板还包括 SD 卡插座、micro-USB 接口、开关和电池组。设计人员只需将核心板焊接到鞍形上的相应焊盘,便可利用更多外设。完成开发后,设计人员可在交货时移除鞍形板的可折断 SWD 接口。

套件的扩展板提供了一种更为简单的方法来开发定制设计。开发人员只需使用专用连接器将核心板插入扩展板即可(图 2)。连同用于软件开发的 SWD 接口,扩展板提供了包括 micro-USB 连接器、音频插孔和 Arduino 兼容型连接器在内的更多连接器。

即时部署

开发人员只需将核心板插入扩展板(或将其焊接到鞍形板上),通过 USB 将其连接到主机 PC 以获取电源,然后下载受支持的 Android 或 iOS 移动应用程序,便可开始探索具有蓝牙功能的 IoT 设计。开发套件附带的核心系统已使用支持三种样例应用程序的固件进行编程,这些应用程序将低功耗蓝牙 (BLE) 与适用于 Android 或 iOS 的 ST BlueMS 应用程序配合使用,分别演示了将传感器数据记录到 SD 卡、MEMS 麦克风音频流和传感器数据流等应用。

除了提供用于即时部署 SensorTile 应用程序的软件以外,这些样例应用程序还可作为使用 SensorTile 的多层架构的指导。连同 ARM Cortex 微控制器软件接口标准 (CMSIS) 元器件,STMicroelectronics 基于自己的 STM32Cube 环境提供硬件抽象层 (HAL) 和板级支持包 (BSP)。这些层反过来与 STLCS01V1 核心板、STLCX01V1 扩展板和 STLCR01V1 鞍形板上的基础硬件接口(图 4)。

图 4: SensorTile 软件包提供了基于 STMicroelectronics 的 STM32Cube 设备软件层构建的样例应用程序。它将复杂的硬件互动抽象为若干简单的软件调用。(图片来源:STMicroelectronics)

分层架构尽管看似复杂,但为开发人员提供了传感器数据采集和无线通信的简单抽象视图。例如,BLE 流应用程序演示了开发人员只需在主等待循环之前调用若干初始化例程便可(列表 1)。主循环等待关键事件,包括用于指定传感器数据采样之间的等待时间的定时器到期。当定时器处理程序设置 SendEnv=1,该例程便会使用单个调用

SendEnvironmentalData() 收集并传输环境数据。

/* 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 软件包,它显示,开发人员在用于等待新蓝牙事件或传感器数据采样的等待循环之前调用了若干初始化例程。(代码来源: STMicroelectronics)

SendEnvironmentalData 例程以步进方式遍历各个传感器,使用 BSP 例程采集各个传感器的数据。例如,压力传感器 BSP 例程 BSP_PRESSURE_Get_Press() 将更新压力传感器设备特定的数据结构中包含的数据。SendEnvironmentalData 例程随后使用相应的调用,通过蓝牙将数据传输到 BlueNRG 服务例程 MCR_BLUEMS_F2I_2D()。

设计人员可采用提供的软件应用程序并加入少许更改,也可根据自己的定制需求进行改写。SensorTile 软件环境受 STMicroelectronics STM32 开放式开发环境 (STM32 ODE) 支持,旨在支持开源软件库和框架。套件已使用 ST 的 BLUEMICROSYSTEM 开放式框架固件进行预编程。

STMicroelectronics 的开放式环境为开发人员提供了另一重大好处。他们可以利用旨在增强功能的第三方软件库,而不是继续局限于特定的机制。对于有功率限制的 IoT 设备,此功能在利用能效更高的机制时变得尤其重要。

降低电源要求

对于许多 IoT 应用而言,相关的无线传感器系统依赖于电池电量,并且需要符合严格的功率预算。SensorTile 核心系统通过使用低功耗器件满足这一硬件要求。例如,在环境和运动应用中通常所需的低速率下,传感器只需要微安级别的功耗。LSM6DSM IMU 在 12.5 Hz 的采样率下仅使用 9 μA 电流,LSM303AGR 电子罗盘在 20 Hz 下仅需 200 μA 电流,LPS22HB 压力传感器在 1 Hz 下需要的电流不超过 12 μA。

此外,STM32L476 MCU 在运行模式下只需 100 μA/MHz (24 MHz)。BlueNRG 蓝牙收发器 IC 在维持一个有源 BLE 堆栈的待机模式下仅消耗 1.7 μA 电流。即便如此,有源无线传输往往仍消耗了主要功率份额,SensorTile 也不例外。BlueNRG 收发器在 8.2 mA 电流下以 0 dBm 传输数据,非常适合低功耗应用,但即便如此,仍是功率受限型设计的用电大户。

系统设计人员可通过简单的权宜之计,即减少无线传输事务的数量并缩短其持续时间,来解决与无线通信相关的功耗挑战。不过,使用标准蓝牙通信,开发人员只有很少几个选项用于限制功耗。具有蓝牙功能的典型应用依赖于使用重复轮询检查的设备发现和配对,这会造成大量功耗而并无实际数据交换。而且,标准蓝牙配对会给 IoT 部署带来严重的后勤复杂性,因为每个 IoT 设备都需要置于发现模式。其次,它必须采用手动方式与移动设备或其他数据聚合器配对。

蓝牙的信标机制提供了可消除与发现和配对相关的功耗和后勤问题的备选方案。不幸的是,标准信标不能携带任何数据有效载荷(例如传感器数据)。

不过,利用其 IoT.Over.Beacon 技术,Enmo Technologies 可将信标技术的省电优势与蓝牙配对设备技术的数据交换功能相结合。因此,Enmo 的机制可提供多达 50 KB 的可变大小有效载荷,同时还能满足长时间操作电池供电 IoT 设备所需的低功耗要求。

与本机 SensorTile 环境一样,开发人员可利用 Enmo 的参考固件。尽管 Enmo 参考固件被处理为对开发人员保持透明,但它将低级 STMicroelectronics 调用替换为对其适用于 SensorTile 的专有 IoT.Over.Beacon 库的调用。

为此,开发人员需要使用 STM32 ST-Link 实用程序来加载参考固件,该实用程序提供了简单的图形用户界面来选择和上传文件。Enmo 参考固件被加载到 SensorTile 核心板后,将通过低功耗蓝牙连接与 Enmo 的 Android 和 iOS 移动应用程序交互。开发人员可以在 Enmo 应用程序中轻松显示 SensorTile 数据,即,使用小工具将传感器数据显示为图形或表格(图 5)。

图 5: Enmo Technologies 的参考固件被加载到 SensorTile 后,将通过蓝牙向 Enmo 的 Android 或 iOS 应用程序传送传感器数据。(图片来源: Enmo Technologies)

传统蓝牙信标的一项关键功能是,它们能够在移动设备进入和离开具有信标功能的应用程序所覆盖的物理区域时触发。但对于 IoT 设备,物理进入和退出的概念可能不适用。

Enmo 提供了专有机制来模仿蓝牙信标的传统进入和退出模式。在这里,开发人员为 IoT 设备指定触发进入和退出的条件。例如,某个温度检测 IoT 设备可能会在温度变化至高于或低于某个设定的阈值时启动“进入”或“退出”协议。

与本机 SensorTile 软件包一样,用于 SensorTile 的 Enmo 参考固件提供了一种即时解决方案,用于快速部署具有蓝牙功能的低功耗 IoT 设备。类似地,针对定制 SensorTile 开发,Enmo 提供了一个软件开发套件 (SDK),可允许工程师将 Enmo 的 IoT.Over.Beacon 机制集成到自己独有的 SensorTile IoT 应用。利用 Enmo SDK,开发人员使用 STMicroelectronics 环境编写定制的 SensorTile 固件,在需要通过蓝牙发送数据时调用 Enmo 的 IoT.Over.Beacon 库。该库将在 IoT.Over.Beacon 模式下透明地执行数据传输,并在完成传输后提供软件回调。

总结

电池供电的 IoT 设计为希望快速部署具有蓝牙功能的传感器设备的开发人员造成了重大障碍。STMicroelectronics SensorTile 开发套件提供了完整的解决方案,该解决方案可用作独立设备,也可作为子系统添加到现有设计。尽管 SensorTile 具有低功耗要求,但标准蓝牙协议可能会快速耗尽电池供电系统的电量。

通过将 ST SensorTile 与 Enmo Technologies 独有的 IoT.Over.Beacon 平台相结合,开发人员可快速部署具有蓝牙功能并且能够符合严格的功率预算的传感器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    112

    文章

    5433

    浏览量

    165682
  • IOT
    IOT
    +关注

    关注

    186

    文章

    3987

    浏览量

    193216
收藏 人收藏

    评论

    相关推荐

    使用爱星物联IoT平台时,哪些参数配置是开发者必须知道的?

    hello,小伙伴们,上周我们《爱星物联IoT平台正式开源啦》,感兴趣的开发者可以点击文中的链接下载和体验。在使用爱星物联IoT平台之前,有
    的头像 发表于 03-30 08:22 82次阅读
    使用爱星物联<b class='flag-5'>IoT</b><b class='flag-5'>平台</b>时,哪些参数配置是<b class='flag-5'>开发</b>者必须知道的?

    贸泽电子推出英飞凌低功耗蓝牙模块CYW20822

    英飞凌CYW20822 AIROC低功耗蓝牙模块可简化电子产品无线功能开发,只需很少的附加元器件就能确保可靠性。
    的头像 发表于 03-27 11:41 369次阅读

    低功耗蓝牙技术的特点 低功耗蓝牙如何实现低功耗

    低功耗蓝牙技术是一种优化的蓝牙技术,专为满足低功耗需求而设计。它通过采用一系列节能措施和技术,实现了更低的功耗消耗,延长了设备的续航时间。
    的头像 发表于 02-07 16:49 787次阅读

    一文读懂低功耗蓝牙的应用

    蓝牙技术联盟于2010年推出了蓝牙4.0规范,其中低功耗蓝牙的出现满足了小型电池供电设备进行低功耗无线连接的需求,因此得到广泛应用。本文章将
    的头像 发表于 12-28 08:24 424次阅读
    一文读懂<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>的应用

    【涂鸦T2-U开发板试用体验】涂鸦T2-U开发板初体验

    。 满足大部分场景的通讯能力 T2-U开发板支持Wi-Fi和低功耗蓝牙两种通讯能力,与大众使用习惯更匹配,能满足大部分使用场景下的连接需求。 1、Wi-Fi Wi-Fi的配网、设备控制能力比较丰富,比如
    发表于 12-22 10:59

    合宙 | 微安级超低功耗,【蓝牙+4G】二合一模组全新定义等你来

    蓝牙技术以其成熟性及低成本、低功耗等优势,广泛应用于物联网行业,市场上主流设备几乎都集成了蓝牙功能。那么,当BLE 5.3与4G Cat.1相结合,又会有怎样的优势呢? 合宙全新产品定
    的头像 发表于 12-12 15:55 600次阅读

    ADI公司开发BLACKFIN低功耗成像平台(BLIP)

    电子发烧友网站提供《ADI公司开发BLACKFIN低功耗成像平台(BLIP).pdf》资料免费下载
    发表于 11-28 10:41 1次下载
    ADI公司<b class='flag-5'>开发</b>BLACKFIN<b class='flag-5'>低功耗</b>成像<b class='flag-5'>平台</b>(BLIP)

    蓝牙低功耗系统的开发

    电子发烧友网站提供《蓝牙低功耗系统的开发.pdf》资料免费下载
    发表于 11-10 16:16 2次下载
    <b class='flag-5'>蓝牙</b><b class='flag-5'>低功耗</b>系统的<b class='flag-5'>开发</b>

    NB-IoT低功耗是怎么实现的?

    NB-IoT低功耗是怎么实现的
    发表于 10-07 07:05

    再探【B-U585I-IOT02A】开发板:低功耗测试

    再探【B-U585I-IOT02A】开发板:低功耗测试
    的头像 发表于 09-26 16:18 423次阅读
    再探【B-U585I-<b class='flag-5'>IOT</b>02A】<b class='flag-5'>开发</b>板:<b class='flag-5'>低功耗</b>测试

    使用STM32CubeMX和X_CubeBLE例程开发基于STM32的低功耗蓝牙应用

    蓝牙4.0技术简介• 蓝牙无线技术是使用范围最广泛的全球短距离无线标准之一,全新的蓝牙4.0版本将三种蓝牙技术(传统蓝牙、高速
    发表于 09-08 06:02

    如何构建STM32WBx5微控制器的低功耗蓝牙mesh应用

    低功耗蓝牙®技术(BLE)-mesh 通过物联网(IoT)解决方案的 mesh 网络功能来连接多个低功耗技术器件。它通过嵌入式
    发表于 09-07 06:30

    EBCP RoseRed蓝牙开发平台用户指南

    蓝牙开发平台(BDP)是一个基于集成商的开发系统,旨在提供灵活的环境以支持基于ARM的蓝牙设备的快速开发
    发表于 08-12 07:04

    【新唐开发工具】快速建构低功耗蓝牙设计的开发模块:BLE ATCMD

    【新唐开发工具】快速建构低功耗蓝牙设计的开发模块:BLE ATCMD
    的头像 发表于 08-09 15:27 390次阅读
    【新唐<b class='flag-5'>开发</b>工具】快速建构<b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>设计的<b class='flag-5'>开发</b>模块:BLE ATCMD

    低功耗蓝牙协议栈介绍

    低功耗蓝牙协议栈介绍
    发表于 07-04 19:32 2次下载
    <b class='flag-5'>低功耗</b><b class='flag-5'>蓝牙</b>协议栈介绍