如何快速而经济高效地将蓝牙 5.3 添加至边缘物联网设计

发布时间:2024-01-03  

激烈的竞争给 (IoT) 设备开发商带来了压力,他们必须迅速推出新的创新产品,同时还要降低成本,确保稳定、低功耗、安全的通信。传统的智能终端节点包括用于边缘处理的微控制器单元 (MCU) 和用于连接的无线集成电路。如果设计团队缺乏开发有效解决方案必需的射频 (RF) 技能,就会出现问题。

本文引用地址:

为了按时完成和认证无线设计,并将其投入量产,开发人员必须提高开发过程的效率。提高开发过程效率的一种方法是使用配备集成低功耗蓝牙 (BLE) 无线接口的低功耗 MCU。

本文介绍了来自 STMicroelectronics 的超低功耗 STM32WBA52 MCU 系列,并展示了开发人员如何使用 BLE 评估板、开发工具和应用示例,快速完成和运行 BLE 5.3 无线设计。此外,本文还简要介绍了编程和 MCU 布线。

高安全级别的节能无线 MCU

STM32WBA52 MCU 系列已通过 BLE 5.3 认证,这是一种经济高效的解决方案,可帮助新手开发人员快速为设备添加无线通信功能。这些微控制器基于时钟频率为 100 MHz 的 Arm® Cortex®-M33 内核和 TrustZone 技术,具有高安全·,可保护数据和知识产权 (IP),防止黑客攻击和设备克隆。

STM32WBA52CEU6 无线 MCU 搭载 512 KB 闪存和 96 KB 静态 RAM (SRAM),STM32WBA52CGU6 型号则搭载 1 MB 闪存和 128 KB SRAM。图 1 显示了 48 UFQFN 封装中集成电路的功能范围。此外,多达 20 个电容式触摸通道可支持密封设备的操作(无需机械按键)。

STMicroelectronics STM32WBA52 的功能框图

图 1:STM32WBA52 的功能框图显示了集成 BLE 5.3 无线电、闪存和 SRAM 以及安全支持。(图片来源:STMicroelectronics)

丰富的 STM32Cube 生态系统可以支持 BLE 应用的实现和编程。该生态系统包括 STM32CubeIDE 开发环境以及各种工具,例如 STM32CubeMX 外设配置器和代码生成器、STM32CubeMonitorRF 性能测试器,以及用于人工智能 (AI) 的 STM32Cube.AI 桌面版本和云版本。匹配的评估板 NUCLEO-WBA52CG 可简化原型设计,并提供大量 BLE 实例应用程序和免费源代码,以加速验证。

设备和数据安全

STM32WBA52 产品系列达到了物联网安全标准平台安全架构 (PSA) 认证等级 3 和物联网平台安全评估标准保证等级 3 (SESIP3)。基于安全隔离、内存保护、篡改保护的 PSA 安全认证计划,以及采用 Arm TrustZone 架构的 MCU Cortex-M33,都可以增强网络保护。适用于 Arm Cortex-M 的可信固件 (TF-M) 符合行业标准 PSA 认证安全框架,具有 PSA 不可变信任根 (RoT),包括安全启动和安全固件更新 (X-CUBE-SBSFU)、加密、安全存储和运行时验证。

集成无线电最大限度地降低物料成本

集成的超低功耗无线电模块可提供 +10 dBm(分贝数基准为 1 mW)的射频输出功率。该模块可实现短距离 (BLE 5.3) 和长距离 (Long Range) 可靠通信,数据传输速率高达 2 Mbps。在进行无线电通信时,深度待机低功耗模式可以降低总耗电量。STM32WBA MCU 可同时支持最多 20 个连接。

该无线电模块的电气性能特征:

  • 支持 BLE 5.3 的 2.4 GHz 射频收发器

  • 接收灵敏度:-96 dBm (1 Mbps BLE)

  • 可编程输出功率,最高 +10 dBm,步长为 1 dB

  • 集成平衡不平衡转换器

由于高效的能源管理,电池体积更小

STM32WBA52 MCU 采用多项节能技术,包括 STMicroelectronics 的低功耗直接内存访问 (LPDMA),以及具有快速唤醒时间的灵活省电状态。这些特性组合在一起,可将 MCU 功耗降低多达 90%,从而显著缩小电池体积或延长电池续航时间。

FlexPowerControl 的电气性能特性:

  • 1.71 至 3.6 V 电源

  • 140 nA 待机模式(16 个唤醒引脚)

  • 200 nA 待机模式,实时时钟 (RTC) 运行

  • 2.4 μA 待机模式,64 KB SRAM

  • 16.3 μA 停止模式,64 KB SRAM

  • 45 μA/MHz 运行模式,电压 3.3 V

  • 无线电:Rx 7.4 mA/Tx,0 dBm,10.6 mA

此外,蓝牙 5.3 在低占空比和高占空比之间的切换速度更快,因而比先前版本的能效更高。

蓝牙堆栈架构和数据包

STM32WBA52 中的单核 Arm Cortex-M33 MCU 专门用于应用固件开发,包括 BLE 堆栈(控制器和主机)上的配置文件和服务。MCU 处理从最低物理层 (PHY) 上的集成射频模块到通用属性配置文件 (GATT) 和通用访问配置文件 (GAP) 的数据流(图 2)。GAP 定义和管理广播和连接,GATT 则定义和管理进出数据交换。

MCU 处理从无线电 PHY 到 GATT 和 GAP 的数据流图片图 2:MCU 处理从无线电 PHY 到 GATT 和 GAP 的数据流。(图片来源:STMicroelectronics)

BLE 发送的数据包被定义为一个位序列的固定帧结构。用户数据区的长度在 27 到 251 个字节之间动态变化。

BLE 应用实例

在线百科全书 STMicro-Wiki 中有关 STM32WBA MCU 的部分包含多个不同蓝牙角色的应用实例,包括:

  • 广播:BLE_Beacon

  • 传感器:BLE_HealthThermometer、BLE_HeartRate

  • 网桥:BLE_SerialCom

  • 路由器:BLE_p2pRouter

  • 数据:BLE_DataThroughput、BLE_p2pServer 和 Multi Slave BLE_p2pClient

  • 射频监控器:BLE_TransparentMode

  • 固件空中升级:BLE_Fuota

设备设计人员和程序员可根据自己的 BLE 项目,将相应 GitHub 项目目录中已编译的二进制文件烧录到 NUCLEO 开发板上,然后启动与智能手机或台式电脑的蓝牙连接。必需的编程器软件 STM32CubeProg 让用户能够通过调试接口和引导程序接口,对设备内存进行读取、写入和验证。

运行 BLE 实例“健康温度计传感器”

健康温度计规范 (HTP) 是蓝牙技术联盟 (SIG) 制定的基于 GAP 的低功耗规范。其将健康温度计收集器和健康温度计传感器结合在一起,在不同应用中进行连接和交换数据(图 3)。

NUCLEO 开发板与智能手机之间的 BLE 通信示意图(点击放大)图 3:作为传感器/服务器的 NUCLEO 开发板与作为收集器/客户端的智能手机之间的 BLE 通信。(图片来源:STMicroelectronics)

健康温度计传感器:

  • 测量温度,并通过健康温度计服务公布数据

  • 包含远程设备要识别的设备信息服务

  • 作为 GATT 服务器

健康温度计收集器:

  • 访问健康温度计传感器提供的信息,并将其显示给最终用户,或者存储在非易失性存储器中,以便日后分析

  • 作为 GATT 客户端

将健康温度计二进制文件烧录到 NUCLEO 的 MCU 上之后,开发人员需要按照以下步骤运行 BLE 应用实例:

使用智能手机应用程序

  1. 在智能手机上安装 ST BLE 工具箱。该应用程序用于与 ST BLE 设备交互以及对其进行调试。

  2. 为已烧录健康温度计应用程序的 STM32WBA NUCLEO 开发板通电。

  3. 打开智能手机蓝牙 (BT),在应用程序中扫描可用的蓝牙设备。选择健康温度计并连接。

使用网络浏览器界面

  1. 确保浏览器的兼容性:

  • 在台式电脑上:Chrome、Edge 或 Opera

  • 在智能手机设备上:安卓版 Chrome 浏览器

  • 为已烧录健康温度计应用程序的 STM32WBA NUCLEO 开发板通电。

  • 在电脑上激活蓝牙。

  • 在浏览器中打开网页 https://applible.github.io/Web_Bluetooth_App_WBA/。

  • 点击网页顶部的连接按钮,然后在设备列表中选择 HT_xx,点击配对。该设备现已连接。

  • 点击健康温度计以显示界面。

  • 表 1 显示了健康温度计传感器的服务结构。128 位长度的全局唯一标识符 (UUID) 可区分各个特征和服务。

    服务特征属性UUID大小健康温度计服务0X1809温度测量指示0x2A1C13温度类型读取0x2A1D1中间温度通知0x2A1E13测量间隔读取、写入、指示0x2A212设备信息服务0X180A制造商名称字符串读取0x2A2932型号字符串读取0x2A2432系统 ID读取0x2A238

    表 1:“健康温度计传感器”GAP 的 GATT 服务及其 UUID。(图片来源:STMicroelectronics)

    来自 GitHub 的以下 JavaScript 序列显示了网络浏览器界面如何筛选不同的 GATT 数据吞吐量特征(清单 1)。

    复制[...]// Filtering the different datathroughput characteristics  props.allCharacteristics.map(element => {    switch (element.characteristic.uuid) {      case "00002a1c-0000-1000-8000-00805f9b34fb":        IndicateCharacteristic = element; // Temperature Measurement (TEMM)        IndicateCharacteristic.characteristic.startNotifications();        IndicateCharacteristic.characteristic.oncharacteristicvaluechanged =         temperatureMeasurement;        break;      case "00002a1d-0000-1000-8000-00805f9b34fb":        ReadCharacteristic = element; // Temperature Type        readTemperatureType();        break;      case "00002a1e-0000-1000-8000-00805f9b34fb":        NotifyCharacteristic = element; //Immediate Temperature        NotifyCharacteristic.characteristic.startNotifications();        NotifyCharacteristic.characteristic.oncharacteristicvaluechanged = notifHandler;        break;       case "00002a21-0000-1000-8000-00805f9b34fb":        ReadWriteIndicateCharacteristic = element; // Measurement Interval        readMeasurementInterval();        break;      default:        console.log("# No characteristics found..");    }  });[...]

    清单 1:此 JavaScript 序列可筛选表 1 中的不同 GATT 数据吞吐量特征。(清单来源:GitHub、STMicroelectronics)

    跟踪 BLE 堆栈进程

    NUCLEO-WBA52CG 嵌入了 ST-LINK/V3 在线调试器和编程器,支持 STM32 虚拟 COM 端口驱动程序,可通过串行接口与 PC 通信。任何软件终端都可以打开该串行通信端口,显示由 APP_DBG_MSG 函数在代码中生成的文本短消息。

    项目内的跟踪需要在 app_conf.h 文件中启用

    #define CFG_DEBUG_APP_TRACE   (1)

    另外,智能手机应用程序“SE BLE Toolbox”在<应用程序日志>选项卡上提供了跟踪功能。

    BLE 5.3 应用程序编程

    为了对 STM32WBA52 MCU 进行编程,STM 推出了由硬件抽象层 (HAL)、低层应用程序编程接口 (API)、CMSIS、文件系统、RTOS、BLE/802.15.4、线程和 Zigbee 堆栈组成的 STM32CubeWBA 软件包,以及在 STMicroelectronics 电路板上运行的实例。

    每个 NUCLEO-WBA52CG BLE 应用程序实例都包含适用于 IAR Embedded Workbench for Arm (EWARM)、Keil MDK-ARM 和 STM32CubeIDE 等所有三种开发环境 (IDE) 的项目结构设置。

    在健康温度计实例中,只有项目目录树(图 4 左侧框架)中的特定文件才会生成 GATT 服务。表 1 中的“健康温度计服务”(hts) 和“设备信息服务”(dis) 这两个例程并行运行(图 4 右下方)。

    程序员可以在框架代码文件中添加自己的 GATT 内容的示意图(点击放大)图 4:程序员可以在框架代码文件(左)中添加自己的 GATT 内容;这些文件会生成 GATT 服务(右)。(图片来源:STMicroelectronics)

    程序员可将源代码用于自己的项目,并在标记 USER CODE BEGIN/USER CODE END 的区域内进行扩展,添加他们的 GATT 内容(清单 2)。文件 hts.c 中的初始化序列会生成 GATT 特性温度测量 (TEMM),其 UUID 为 0x2A1C。

    复制[...] void HTS_Init(void) { [...]  /* TEMM, Temperature Measurement */    uuid.Char_UUID_16 = 0x2a1c;  ret = aci_gatt_add_char(HTS_Context.HtsSvcHdle,                          UUID_TYPE_16,                          (Char_UUID_t *) &uuid,                          SizeTemm,                          CHAR_PROP_INDICATE,                          ATTR_PERMISSION_NONE,                          GATT_DONT_NOTIFY_EVENTS,                          0x10,                          CHAR_VALUE_LEN_VARIABLE,                          &(HTS_Context.TemmCharHdle));  if (ret != BLE_STATUS_SUCCESS)  {    APP_DBG_MSG("  Fail   : aci_gatt_add_char command  : TEMM, error code: 0x%2Xn", ret);  }  else  {    APP_DBG_MSG("  Success: aci_gatt_add_char command  : TEMMn");  }  /* USER CODE BEGIN SVCCTL_InitService2Char1 */  /* USER CODE END SVCCTL_InitService2Char1 */ [...] }[...]

    清单 2:文件 hts.c 中的初始化序列会生成 GATT 特性 TEMM。(图片来源:GitHub、STMicroelectronics)

    外部元器件要求

    STM32WBA52 无线 MCU 只需少量外部元器件即可实现基本的蓝牙功能操作。这些元器件包括用于提供电压的电容器、晶体振荡器、带阻抗匹配的印刷电路板天线,以及谐波滤波器(图 5)。

    STMicroelectronics STM32WBA52 射频终端的示意图(点击放大)图 5:为实现蓝牙功能,STM32WBA52 的射频终端连接到阻抗匹配网络、谐波滤波器和天线。(图片来源:STMicroelectronics)

    总结

    无线物联网设备开发人员必须缩短设计周期并降低成本,才能在快速发展的市场中竞争。然而,射频设计非常具有挑战性。STM32WBA52 MCU 集成 BLE 5.3 接口,使开发人员能够经济高效地快速将产品推向市场。预编程的 BLE 堆栈和多个 BLE 应用实例为定制项目提供了编程模板,可轻松插入 GATT 内容。

    文章来源于:电子产品世界    原文链接
    本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

    我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

    利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

    充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

    我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

    我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

    凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

    我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>