如何快速而经济高效地将蓝牙 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 内容。

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

    相关文章

      /Y324QCC3024 H334/Y334QCC3034 H340QCC3040 H344QCC3044 H350QCC3050 H356QCC3056 H371QCC3071 蓝牙版本 5.1 5.1......
      端口接扬声器,2*5W,可以接2个4欧姆或者2欧姆的3~5W的喇叭 3.默认上电开机,开机有提示音。 4.默认提示音是中性的“滴滴声” 5.默认蓝牙设备名为“Bluetooth” 6.蓝牙版本:v5.1......
      在进行信道的逻辑通道建立时才能发起安全程序。该模式下数据传输的鉴权要求、认证要求和加密要求等安全策略决定了是否产生发起安全程序的指令。目前所有的蓝牙版本都支持该模式,其主要目的在于使其可与V2.0之前的版本兼容。 (3)安全模式3......
      体验之音质 作为一款音箱,音质肯定是最重要的参数之一。JBL Clip 2音箱采用了4.2的蓝牙版本蓝牙版本......
      在同一个硬件平台上实现不同的软件功能,比如适应不同的市场需求推出同一产品的蓝牙版本或者Zigbee版本,这大大节省系统开发成本和时间。其次,开发者也可以在同一设备上预先烧录多协议固件程序,并由......
      ,而且去掉了毫米波频段。 奇怪的是,蓝牙版本从5.2倒退到了5.1,这样就没有了蓝牙LE Audio,不知道这是为什么。 二代骁龙4手机预计今年下半年上市,包括Redmi、vivo等品牌。 ......
      瑞萨电子宣布开发支持低功耗蓝牙5.3的下一代无线MCU;全球半导体解决方案供应商瑞萨电子集团(TSE:6723)今日宣布,将开发全新微控制器(MCU),以支持最近发布的低功耗(LE)蓝牙®5.3规范......
      瑞萨电子宣布开发支持低功耗蓝牙5.3的下一代无线MCU;全球半导体解决方案供应商瑞萨电子集团(TSE:6723)今日宣布,将开发全新微控制器(MCU),以支持最近发布的低功耗(LE)蓝牙®5.3规范......
      会上车不同车型,支持的蓝牙版本有5.0和5.2。 另外,关于小米最新曝光的信息,最大的亮点是支持苹果CarPlay,CarPlay能够连接车主iPhone设备,使用车机进行拨打电话等操作,减少......
      无线连接解决方案,可大幅降低客户的产品设计时间、风险和成本,加速产品上市。 蓝牙5.3版本对低功耗蓝牙规范中的低速率连接、周期性广播、信道分类等进行了完善,并提高了蓝牙......

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

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

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

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

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

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

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