This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2640:BLE 网络处理器

Guru**** 2584515 points
Other Parts Discussed in Thread: CC2640, CC2650, CC2564, BLE-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/963870/cc2640-ble-network-processor

Thread 中讨论的其他器件:CC2640CC2650CC2564BLE-STACK

简介

本页将介绍如何将 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 应用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如对此主题有任何疑问、请点击黄色按钮、在本页右上角提出相关问题。