Other Parts Discussed in Thread: CC2564MODA
器件型号: BOOST-CC2564MODA
主题: CC2564MODA 中讨论的其他器件
硬件/软件配置:
- 模块: CC2564MODA(CC2564B 芯片)
- Service Pack: V1.8 (CC256XMSPV1.8)
- 主机 MCU: TM4C123GXL (ARM Cortex-M4)
- 蓝牙协议栈: Bluetopia(TI 官方栈)
- 运输: 具有 cpHCILL_RTS_CTS 流控制的 HCITR
- 个人资料: SPP(串行端口配置文件)-从角色
- 功耗模式: 启用监听(节能模式)
问题描述:
CC2564MODA 控制器 生成失败 Disconnection Complete Event当远程设备(Android/iOS 手机)在监听模式下的空闲 SPP 连接期间停止响应时。 之后、这会可靠地发生 当移动设备进入节能状态(屏幕锁定,应用程序回退或)时、已连接的移动设备上的空闲时间为 4-5 分钟 操作系统终止蓝牙后台活动)。
预期行为:
- 远程设备停止响应
- 链路监控超时 (LSTO) 计数器递减至 0
- 控制器会生成
Disconnection Complete Event0x08(连接超时)原因 - 主机应用程序会收到断开连接通知
- 清洁断开连接并准备好进行新连接
实际行为:
- 远程设备停止响应
- LSTO 计数器达到 0
- 未生成断开事件
- 连接保持在“zombie"状态“状态:
- 控制器报告“已连接“。
- 零数据吞吐量 (Rx /Tx bps = 0)
- 主机认为连接处于活动状态
- 最终、所有 Bluetopia API 调用都会返回
BTPS_ERROR_HCI_DRIVER_ERROR (-14) - 只有硬件复位(nSHUTDD 引脚切换)可以恢复
我在故障场景中使用 TI 的蓝牙记录器工具(FTDI 适配器以 115200 波特连接到 TX_DBG 引脚)捕获了详细的日志。
检测到硬件复位时:- 将 nSHUTDD 引脚切换为低电平→等待 100ms→高电平 — 重新初始化整个 Bluetopia 栈 — 仅从僵尸状态恢复的方法
注:偶数`HCI_Reset ()` 在此状态下命令失败一次(返回错误–14)。
为什么不生成断开连接事件?
这是 Service Pack v1.8 中的已知错误吗? -如果是,是否有可用的固件补丁? -在控制器配置级别有解决方法吗?
是否有方法可以强制断开检测? -查询链接状态的 HCI 供应商命令? -配置使 LSTO 更可靠?
附件:
我有详细的 TI Logger 捕获结果、 其中显示了完整的故障序列 SPPstress_issue_16Feb2025.txtLogger_logs.txtMain.c.txtSPPDemo.c.txt