Other Parts Discussed in Thread: SYSCONFIG
器件型号: CC2340R5
主题: SysConfig 中讨论的其他器件
你好。
我的团队和我正在为 CC23 编写一些固件、充当 BLE 外设。
我们注意到、使用默认连接参数时、iOS(充当中央设备)无法连接。
以下是我们的观察结果:
- iOS 不会向我们的应用程序报告“已连接“状态
- 我们的嵌入式端显示已建立连接
在和 iPhone 上使用蓝牙 HCI 日志记录配置文件、并通过 PacketLogger(Mac 软件)读取 HCI 日志、我们注意到以下情况:
- 移动设备会尝试在最小和最大连接间隔内使用 50 (62.5ms) 来协商连接参数
- 嵌入式端以包含 minConnectionInterval 12 (15ms) 和 maxConnectionInterval 24 (30ms) 的(接受)回复进行响应。
- (两个间隔之间没有重叠)
- 这里的通信只是停止,没有断开,没有
- 这意味着:这不是配对问题、而是连接问题。
作为一个实验、我们尝试使用 GAP_UpdateLinkParamReq、其中最小和最大连接间隔乘法器的宽松值为 50、连接延迟为 0、连接超时为 500ms。
我们注意到以下情况:
- 移动设备会尝试在最小和最大连接间隔内使用 50 (62.5ms) 来协商连接参数
- 嵌入式端以 50 (62.5ms) 的 minConnectionInterval 和 62 (77.5ms) 的 maxConnectionInterval 进行响应
- 移动端发送一条连接更新完成消息、同意连接间隔为 50 (62.ms)
- 嵌入式端的当前默认连接参数与 iOS 不兼容。
- 即使在连接后、我们也无法触发配对尝试;没有 iOS API 来创建配对关系。 相反、当特征交互返回的身份验证/授权不足时、将触发配对。
在 TI、我们有以下问题供您回答:
- 为什么手机和芯片之间的通信刚刚停止? 我们期望它失败或继续使用当前的连接参数;(谁在等待谁?)
- 如果这是 iOS 本身的错误,我们不能做任何事情,只能报告它将由苹果在未来解决
- 当支持连接参数之间没有重叠时、嵌入式侧是否应以 HCI_LE_HCI_ Remote_Connection_Parameter_Request_Negative_Reply 进行响应?
- 我们注意到监控超时未更新为请求的值 (500)。
- 我们在代码中的任何位置都找不到 12/24 默认参数、TI 是否使用与 iOS 不兼容的默认参数? 它们设置在哪里?
- 我们找到 ti_ble_config.h、但它提到间隔为 400 min、800 max、0 latancy 和 600 timeout。
- 我们还找到了 GAP_initator.h、但这提到了 80、80、0 和 2000。 我还怀疑该文件未在我们的用例中用作外设。
- 正确的参数应该是什么?
我们找到了 GapInit_setPhyParam () 函数,所以也许我们应该开始在我们的初始代码中的某处添加它吗?
如下所示:(将值替换为合理的默认值)

