本资源的原文使用英文撰写。 为方便起见,TI 提供了译文;由于翻译过程中可能使用了自动化工具,TI 不保证译文的准确性。 为确认准确性,请务必访问 ti.com 参考最新的英文版本(控制文档)。
本低功耗 Bluetooth® 产品简报介绍了 CC23xx 器件平台支持的蓝牙软件内容,该平台基于 ARM Cortex-M0+ 内核并提供了各种各样的外设选项。本文档简要概述了适用于 CC23XX 平台的低功耗蓝牙栈的功能和特性,但未深入探讨技术细节。如需了解更多信息和细节,请参阅 SimpleLink 低功耗 F3 SDK 文档中提供的 TI BLE5-Stack 用户指南。可以在面向 CC23xx 的 SimpleLink™ Academy 中学习培训内容并开始开发。
SimpleLink™, SmartRF™, and Code Composer Studio™are TMs ofTi.
Bluetooth®is a reg TM ofBluetooth SIG, Inc.
Windows®is a reg TM ofMicrosoft.
Eclipse®is a reg TM ofEclipse Foundation.
Other TMs
低功耗蓝牙技术用于提供由蓝牙 SIG 设计的 2.4GHz 个人网络。与经典蓝牙相比,低功耗蓝牙旨在更大程度降低那些需要在个人局域网(如为经典蓝牙实现的网络)运行的器件的功耗,即一次传输非常小的数据包,同时消耗比 BR(基本速率)/EDR(增强数据速率)器件更低的功耗。专为低功耗蓝牙功能而设计的器件会尝试更大程度减小器件使用的峰值电流,并缩短实现器件功能所需的激活时间。
低功耗蓝牙协议主要设计用于由纽扣电池供电的低功耗器件。低功耗蓝牙栈以不对称方式运行,这意味着能耗较小的器件承担较少的任务以延长电池寿命。TI 低功耗蓝牙栈是一组示例应用、工具、API 和协议栈库,使工程师能够在 SimpleLink 器件上开发蓝牙 5 应用,如表 1-1 所示。
TI 的免专利费低功耗蓝牙栈是蓝牙 5.3,与开始开发单模式低功耗蓝牙应用所需的所有软件功能、示例应用和文档相匹配。
组成部分 | 版本 |
---|---|
低功耗蓝牙栈版本 | 3.2.2(具有 SDK 7.20) |
低功耗蓝牙核心规范 | 5.3 |
SDK 版本 | SIMPLELINK-LOWPOWER-F3-SDK 7.20 |
IDE 支持 | CCS V12.3 适用于:
|
编译器支持 | TI Clang 编译器工具:2.1.2.LTS,IAR |
RTOS 支持 | FreeRTOSv202104.00 |
推荐的开发套件 | LP-EM-CC2340R5、LP-XDS110ET 和 Simplelink Connect 应用 |
支持的器件 | CC2340R5 |
认证 | 预先认证的全功能蓝牙 5.3 栈 |
低功耗蓝牙最终产品必须通过蓝牙 SIG(特别兴趣小组)的鉴定和声明流程。除了低功耗蓝牙鉴定和声明流程外,终端设备还必须满足 FCC(美国)或 CE/RED(欧洲)等地区性要求。
TI 为所有运行 TI 低功耗蓝牙栈的 SimpleLink MCU 提供合格设计清单及合格设计标识。这样一来,使用 TI 提供的低功耗蓝牙栈时,便无需对最终产品进行低功耗蓝牙软件栈测试。
除了软件栈外,为实现低功耗蓝牙合规性,还必须执行物理性能测试,以确定射频接口是否满足低功耗蓝牙的最低要求。与软件栈测试不同,这些测试必须在每个终端设备上完成,并且不能重复使用。但是,TI 的 EVM 通常经过认证并列在最终产品清单 (EPL) 上,还可提供合格设计 ID (QDID)。如果最终产品基于 TI 参考设计并遵循相应参考设计的指南,则这些 TI RF-PHY 和 EPL QDID 可用作最终产品认证的参考。这有助于减少最终产品所需的认证测量数量。
TI 提供指南和参考设计,但终端客户负责蓝牙合规性。如需了解有关低功耗蓝牙认证的更多信息,可查阅“如何认证您的蓝牙产品”应用手册或蓝牙 SIG 对蓝牙鉴定流程的说明:鉴定您的产品。
蓝牙器件也必须遵守地区法规。如何认证您的蓝牙产品应用手册详细说明了在不同地区运行时必须满足的要求。
本文档中介绍的常见监管标准包括:FCC、ARIB、CE 和 IC。
TI 为 CC23xx 芯片组提供了一系列不同的示例,如表 3-1 所示。这些示例包括蓝牙基本示例以及涵盖 OAD 和安全功能的高级示例。
有关所提供示例的更多详细信息,请参阅 SimpleLink™ 低功耗软件开发套件 (SDK) 页面。
7.20 版 SDK 提供的示例列表见表 3-1。
TI 低功耗蓝牙栈随附一组预定义服务和配置文件。提供的低功耗蓝牙配置文件如下表所示:
支持的 GATT 配置文件包括:
示例 | 描述 |
---|---|
basic_ble | basic_ble 示例为使用 TI 低功耗蓝牙栈进行自定义开发做好了准备,并很好地概述了环境状况。随后,basic_ble 演示了如何连接任务并接管 GATT 表和低功耗蓝牙栈的控制权。 |
basic_ble_oad_offchip | 低功耗蓝牙 OAD 片外示例演示了连接外部闪存的设计的 OAD 功能。更多有关 OAD 片外操作的信息,请参阅 BLE5-Stack 用户指南。 |
basic_ble_oad_onchip | 低功耗蓝牙 OAD 片上示例演示了仅使用内部闪存的设计的 OAD 功能。更多有关 OAD 片上操作的信息,请参阅 BLE5-Stack 用户指南。 |
basic_ble_profiles |
基于 basic_ble 示例实现连续血糖监测 (CGM) 配置文件的示例。 该工程为外设角色应用上的开发提供了良好的开端。 支持的 GATT 配置文件包括:
|
basic_ble_ptm | 与上述 basic_ble 相同,具有生产测试模式 (PTM) 功能。 |
basic_ble_dual_image | 带有双片外图像的 OAD 示例。 |
basic_persistent | 实现 OAD 配置文件的永久驻留应用。 |
data_stream | data_stream 示例有助于更好地了解 TI 低功耗蓝牙栈的工作原理,并有助于了解数据传输和数据流的工作原理。 |
host_test | 一个连接 HCI 和供应商特定 HCI 命令的网络处理器工程。host_test 将器件设置为直接测试模式 (DTM)。 |
connection_monitor | connection_monitor 示例旨在“监听”两个器件之间建立的低功耗蓝牙连接。要监视特定连接,连接监视器应接收该连接的访问地址、间隔、跳频增量值、信道映射和中央器件睡眠时钟精度 (mSCA)。该示例通常用于基于连接的定位。在此类用例中,它允许多个运行 connection_monitor 示例的器件监测同一蓝牙连接中交换的数据包的信号强度 (RSSI),从而提供三边测量定位技术所需的空间分集。 |
要详细介绍如何使用 TI 低功耗蓝牙栈创建您自己的产品,请阅读文章使用 basic_ble 示例进行的低功耗蓝牙连接(SimpleLink Academy 的一部分),这篇文章有助于了解该栈并介绍了如何开发您自己的应用。
可从 TI 开发人员专区访问 SimpleLink Academy。
芯片组 | 闪存 | RAM | CPU |
---|---|---|---|
CC2340R2 | 256kB | 28kB | Arm-Cortex M0+ (48MHz) |
CC2340R5 | 512kB | 36-64kB | Arm-Cortex M0+ (48MHz) |
TI BLE5-stack 器件所需的闪存取决于这些器件各自的角色。以不同的角色运行 basic_ble 示例会得到表 3-3 所示的闪存分配:
角色 | 闪存 |
---|---|
单角色 | 95kB |
多角色 | 110kB |
basic_ble 示例总共约需要 183KB 的闪存。系统所需的 RAM 取决于几个方面。可以使用表 3-4 估算不同应用所需的 RAM 大小。
功能 | 所需的 RAM |
---|---|
器件作为外设运行 basic_ble 示例所使用的 RAM | 11kB |
器件作为中央器件运行 basic_ble 示例所使用的 RAM | 13kB |
FreeRTOS 分配的默认堆大小 | 20kB |
为每个必须实现的连接分配的堆 | 0.75kB |
引导和低功耗蓝牙栈初始化时的标准系统堆分配 | ≈8kB |
TI 低功耗蓝牙协议栈由控制器和主机器件组成,如图 4-1 所示。这来自经典蓝牙规范。
控制器实现低功耗蓝牙栈的最底层,包含负责实现标准可互操作无线通信的链路层 (LL)。控制器还实现数据交换和网络连接的处理。
主机部分用于实现低功耗蓝牙栈的访问和属性配置文件以及安全功能。该部分是低功耗栈的最顶层,通过使用不同的 GAP 和 GATT 配置文件以及不同的安全功能来定义器件的角色。
为了连接 TI 低功耗蓝牙栈,应用开发人员可以使用一组 C API 在低功耗蓝牙栈之上实现低功耗蓝牙应用。
CC2340R5 可以实现所有 GAP 角色(即广播设备、外设、观测器、中央器件),包括这些角色的组合(多角色)。有关可实现的性能的详细信息,请参阅“多连接”。
TI 低功耗蓝牙栈平台支持两种不同的配置,并且可在单器件运行模式以及网络处理器模式下运行。在单器件运行模式下,主机和控制器以及应用程序均在 Simplelink 无线 MCU 上运行。
这种配置具有成本效益,但在存储器和性能方面会受到限制。建议使用 CC2340R5 实现该配置。第二种可能性是将该器件用作外部处理器的配套选项。
在该配置中,只有在外部处理器(该处理器使用 HCI 与小型无线电 MCU 进行通信)上运行的应用程序才能在串行接口上运行。该应用程序对存储器的要求非常低,因此可以使用 CC2340R2。
借助 SDK,TI 提供了一个开发环境。该环境包括评估模块和开发板以及协议栈本身。除了低功耗蓝牙栈,我们还提供驱动程序以及一组示例和培训,帮助启动与 TI 一起开发低功耗蓝牙应用的工作。
TI 低功耗蓝牙栈可提供必需的 LE 1M PHY 以及表 4-1 中列出的几个其他 PHY 以适应不同的应用。
有关可用 PHY 的更多详细说明,请参阅 TI BLE5-Stack 用户指南的“物理层”部分。
PHY | 传输速率 | 最大应用数据速率近似值 | 说明 |
---|---|---|---|
LE 1M | 1Mbit/s | 750kbps | 支持数据传输,强制数据速率为 1Mbps |
LE 2M | 2Mbit/s | 1400kbps | 支持高达 2Mbps 的数据传输,但传输距离较短 |
LE 远距离编码 S2 | 500kbps | 400kbps | 数据传输速率降低,但传输距离增加 2 倍之多 |
LE 远距离编码 S8 | 125kbps | 100kbps | 数据传输速率进一步降低,传输距离增加 4 倍 |
BLE5-Stack 是 TI 开发的一组应用、工具、API 和库,旨在将蓝牙 5 独立或网络处理器低功耗应用引入 SimpleLink™ 系列无线 MCU。
TI 低功耗蓝牙协议栈支持蓝牙核心规范中定义的所有必需功能和广泛的可选功能。
表 4-2 显示了适用于 CC2340 器件的 BLE5-Stack 中包含的可选主要功能。
CC2340R2 (1) | CC2340R5 | ||
---|---|---|---|
V 4.1 | LE Ping | 是 | 是 |
V 4.2 | LE 数据包长度扩展 | 是 | 是 |
链路层扩展扫描仪过滤策略 | 是 | 是 | |
V 5.0 | LE 广播扩展 | 否 | 计划 |
高占空比非连接的广播 | 否 | 有 | |
LE 定期广播 | 否 | 计划 | |
LE 通道选择算法 2 | 是 | 是 | |
高输出功率 | 是 | 是 | |
V 5.1 | 无连接 AoA/AoD | 否 | 计划 |
面向连接的 AoA/AoD | 否 | 计划 | |
广播信道索引变更 | 是 | 是 |
CC2340R5 能够在与对等器件建立多达 8 个连接的情况下运行,但只有 5 个连接具有绑定数据。其余 3 个连接可在没有绑定的情况下执行。为了支持这些器件,TI 对表 4-3 中的配置进行了扩展测试。TI 测试包括针对所有连接节点的 48 小时稳定性测试。
角色 | 连接 | 对等器件 |
---|---|---|
外设 | 8 | 8 个中央器件 |
中央器件 | 8 | 8 个外设 |
多角色 | 8 | 4 个中央器件 + 4 个外设 |