CC2640R2F BLE5.0 蓝牙协议栈Host控制接口(HCI)

本文深入介绍了CC2640R2F芯片在BLE5.0协议栈中Host与Controller间通过Host控制接口(HCI)进行通信的过程,包括标准LE HCI命令和事件的使用,以及如何发送和接收HCI供应商特定的命令和事件。此外,还讨论了在网络处理器和嵌入式应用中配置和使用HCI的场景,如纯网络处理器配置(host_test)和生产测试模式(PTM)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司主页 文档归类 淘宝

Host控制接口(HCI)

主控制器接口(HCI)层是在蓝牙协议栈的主机(Host)和控制器(controller)之间传送命令和事件的薄层。在纯网络处理器应用程序(即host_test项目)中,HCI层通过SPI或UART等传输协议实现。

在诸如simple_peripheral项目的嵌入式无线MCU项目中,HCI层通过无线MCU内的函数调用和回调来实现。所有与Controller进行通信的命令和事件(如ATT,GAP等)将最终称为HCI API,从协议栈的Host通过HCI层传递到Controller。同样,控制器通过HCI将接收到的数据和事件发送到Host上层。

除了标准的蓝牙LE HCI命令之外,还有许多HCI扩展供应商特定的命令可以扩展控制器的一些功能,以供应用使用。有关在嵌入式应用程序中调用的可用HCI和HCI扩展命令的描述,请参阅BLE Stack API参考。

BLE5-Stack支持纯网络处理器配置(host_test),即允许应用程序在外部MCU上运行以连接到BLE5-Stack。网络处理器可以通过外部传输协议(UART,SPI等)接受所有LE HCI命令; 然而,因为 BLE Controller和Host都驻留在无线MCU上,所以一些HCI命令将使其相应的事件被TI BLE主机消耗。因此,不可能使用标准HCI LE命令将外部的蓝牙主机与CC2640无线MCU进行接口连接。网络处理器配置应使用HCI和TI供应商特定的HCI命令来实现外部蓝牙应用。

类似于网络处理器配置(host_test),BLE5-Stack可以被配置为使用子集HCI命令,然后通过UASRT,SPI传递给控制器​​,从而能够切换到完整的嵌入式应用。此配置称为生产测试模式(PTM)。可用的HCI命令的子集是执行蓝牙RF认证的子集。有关如何在嵌入式应用程序上启用PTM的信息,请参阅使用生产测试模式(PTM)。

当需要满足以下条件时,应考虑将PTM用于直接测试模式(DTM),以代替完整的网络处理器配置(host_test):

  • 设备只会烧写一次FLASH在生产过程中。并且固件镜像无法再更改

  • HCI传输层FLASH可用,PTM需要FLASH在应用程序,因此减少应用程序FLASH

注意
BLE5-Stack也支持直接测试模式(DTM)。DTM在蓝牙核心规范版本5.0的直接测试模式部分([第6卷,第F部分))中有详细描述。Host_test支持所有DTM命令以及供应商特定的调制解调器测试命令。有关如何设置用于定制产品和芯片包类型的host_test应用程序二进制文件的信息,请参阅配置CC2640的蓝牙直接测试模式(SWRA530)。

在应用程序中使用HCI和HCI供应商特定的命令

按照以下步骤使用这些命令并在应用程序中接收各自的事件:

  1. 包括HCI传输层头文件。
	`#include  “hci_tl.h”`
  1. 注册用于HCI/Host消息的GAP,以便从控制器接收事件。这应该在应用程序初始化函数中完成。
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值