简介
本页将介绍如何将 CC2640/CC2650用作蓝牙低耗能(BLE)无线网络处理器。 无线网络处理器(WNP)设置是一种双 MCU 解决方案、其中 MSP432等外部 MCU 管理蓝牙应用层(配置文件和服务)、并通过串行接口向 CC2640/CC2650 BLE 无线 MCU 发送命令。 在 NWP 配置中、BLE 主机和控制器协议栈元素驻留在无线 MCU 上。 例如、通过 CC2650MODA 等小型模块将 BLE 添加到您的现有 MCU中、可在现有的闭合/电缆设计中快速实现物联网功能。
注意:网络处理器与仅 HCI LE 控制器配置不同、例如 CC2564和 WiLink8控制器支持的配置。 CC2640/CC2650无线 MCU 不支持仅限 LE 控制器的独立配置、因为 TI BLE 堆栈(主机和控制器)在 CC2640上执行。
串行接口(NPI)
应用处理器(AP)和网络处理器(NP)之间的串行连接通过 TI 的网络处理器接口(NPI)进行处理。 NPI 的编译时间可配置、并且当前支持 UART 和 SPI。 NPI 有两个版本。 虽然它们有很多相似之处、但在开发双 MCU 解决方案时必须考虑到一些重要的差异。
要详细了解每个 NP 解决方案使用的 NPI 接口、请访问以下链接。
- "%20class="external%20text" %20href="https:/dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_4_30_00_08/docs/blestack/ble_user_guide/html/ble-stack-common/npi-index.html">NPI">NPI(由 HostTest 使用)
- 统一 NPI(由 SimpleNP 和 SimpleAP 使用)
注意:上述链接指向有关 CC2640R2的更新用户指南文档、但这些概念仍然适用于 CC2640。
TI BLE 无线网络处理器示例项目
TI 在 BLE-Stack v2.x SDK 中提供了两个无线网络处理器(WNP)示例项目、以便将 BLE 快速添加到您的现有 MCU/SoC 架构中。 为了帮助找到适合您的蓝牙低功耗(BLE)设计的 WNP 应用、下表显示了与每个 WNP 示例相关的一些优势和权衡。 这些示例项目可在 BLE-Stack v2.2 SDK 的示例文件夹下找到。
|
名称 |
说明 |
接口 |
优势 |
缺点 |
|---|---|---|---|---|
|
SimpleNP (SNP) |
适用于 TI CC2650模块(CC2650MODA)的易用型 BLE 网络处理器解决方案和默认软件产品。 HCI 层被抽象化、通过远程过程调用与 NP 连接。 |
统一 NPI |
通过 BLE 开始发送数据只需要少量命令。 由于大多数与蓝牙相关的处理由 SNP 处理、因此将应用处理器(AP)解放出来用于其他任务。 应用 MCU (SAP)的轻量级接口库以源代码形式提供。 截至 BLE-Stack v2.2.0、支持 LE 安全、包括 LE 安全连接 |
仅支持外设+广播设备 GAP 角色。 |
|
HostTest |
一种网络处理器解决方案、使用 HCI 和 HCI 供应商特定命令与 TI 的控制器和主机连接 |
NPI |
可配置、支持 BLE-Stack SDK 中的所有控制器和主机角色和功能。 包括对执行所有 监管测试( 即 FCC 和 RF-PHY)的支持 |
需要外部 MCU 来实现 TI 供应商特定的 HCI 层、从而处理生成的所有命令和事件 |
TI 建议使用 CC2650模块 BoosterPackTM (BOOSTXL-CC2650MA)进行网络处理器开发。
SimpleNP
SimpleNP 适用于希望向现有 MCU 轻松添加简单可靠的 BLE 接口/子系统的开发人员。 通过使用 BLE-Stack v2.2简单网络处理器模式、可通过提供简单 API (SAP)从主机微控制器驱动 CC2640无线 MCU、从而快速轻松地为任何嵌入式系统添加安全的低功耗蓝牙无线连接。 完整的低功耗蓝牙控制器、主机和简单网络处理器接口层位于 CC2640无线 MCU 上、而轻量网络处理器驱动程序库位于通过标准串行连接连接到 CC2640器件的外部 MCU 上。 开发人员可以利用此模式来重复使用在嵌入式 MCU 上开发的多年技术、并轻松地将无线连接添加到其系统中、而无需浏览低功耗蓝牙无线协议和软件堆栈的学习曲线。 所有 SNP 和 SAP 项目代码均以完整源代码形式提供(核心 BLE 堆栈除外)、因此开发人员可以轻松移植或自定义这些项目、以便与其他应用处理器 MCU 配合使用。
SDK 文档文件夹中的简单网络处理器 API 指南介绍了如何与 CC2640上运行的 SNP 项目连接。
但是、建议参考以下 wiki、其中包含最新的 SNP 信息、并对发布后确定的勘误表进行了更新:
e2e.ti.com/.../CC26x0-Simple-Network-Processor-API-Guide.pdf
HostTest
如果开发人员需要支持中心或多个 GAP 角色并熟悉 HCI 和供应商特定(VS) HCI 协议实现、则应考虑使用 HostTest 来开发双 MCU BLE 解决方案。 TI VS API 指南可在 BLE-Stack SDK 文档文件夹中找到。
HCI 和 VS HCI 命令/事件的组合构成了从应用处理器连接到 HostTest 应用的接口。 HostTest 使用 NPI (非统一版本、请参阅上面的链接)通过串行接口发送接收原始 HCI 格式的命令、并对其进行打包/解压缩、以便 BLE 堆栈进行处理。 在 NPI 层、所有 HCI 数据包均以异步方式排队。 NPI 主要用于将 HCI 数据结构打包并解压到字节数组中、所有 HCI 数据包都以 FIFO 方式发送。
HCI/HCI 供应商特定接口在 SDK 文档文件夹中包含的 TI_BLE_Vendor_specific HCI_Guide 中进行了介绍。 有关 TI 供应商特定(VS) HCI 接口的更多信息、请参阅此文档。
由于 HostTest 提供的灵活性、请注意、TI 无法支持 HostTest 项目的定制应用处理器开发。 在 AP 上实施 BLE 功能/层是特定于实施的、因此需要由开发人员进行集成。 使用 HostTest 项目的工作示例包括 BTool (捆绑在 BLE-Stack SDK 中)、BLE Device Monitor 和 HCI Tester Windows PC 应用。
