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.

[参考译文] BOOST-CC2564MODA:CC2564MODA:缺失断开完成事件

Guru**** 2782615 points

Other Parts Discussed in Thread: CC2564MODA

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1619125/boost-cc2564moda-cc2564moda-missing-disconnection-complete-event

器件型号: 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 分钟 操作系统终止蓝牙后台活动)。

预期行为:

  1. 远程设备停止响应
  2. 链路监控超时 (LSTO) 计数器递减至 0
  3. 控制器会生成 Disconnection Complete Event 0x08(连接超时)原因
  4. 主机应用程序会收到断开连接通知
  5. 清洁断开连接并准备好进行新连接

实际行为:

  1. 远程设备停止响应
  2. LSTO 计数器达到 0
  3. 未生成断开事件
  4. 连接保持在“zombie"状态“状态:
    • 控制器报告“已连接“。
    • 零数据吞吐量 (Rx /Tx bps = 0)
    • 主机认为连接处于活动状态
  5. 最终、所有 Bluetopia API 调用都会返回 BTPS_ERROR_HCI_DRIVER_ERROR (-14)
  6. 只有硬件复位(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