在iPhone上零星蓝牙断开连接的原因

时间:2018-03-19 19:30:20

标签: iphone bluetooth

我的系统包括蓝牙配件和iPhone。有时我看到两个设备在空闲模式下链路丢失。到目前为止,我只在空闲(嗅探)模式下看到它。有时它每隔几分钟发生一次,有时一小时左右。我不知道为什么。失去连接后,我的配件立即重新连接,但这是非常糟糕的用户体验。

到目前为止我做了什么:
我阅读了iPhone配件指南,并对将嗅探时间设置为15毫秒的建议感到有些惊讶。在我的芯片组(CSR)的示例应用程序中,我看到800个时隙== 500毫秒的时段。我将我的应用程序配置为使用最少15毫秒。不过,iPhone表示有384个时段。

我还检查了监督超时。它被设置为8000个插槽== 5秒。好像没事。

我还有这样的印象:如果两部手机连接到配件,主要会发生这种情况。第二部手机是机器人。 Android手机没有问题。

现在我没有想法该做什么。你有这个想法吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

经过大量的嗅探和调试,我在物理层上找到了原因。情况如下:我有耳机(HS),iPhone(I)和Android(A)。 要复制,我必须:

  1. 连接HS和iPhone
  2. 连接HS和Android。重要提示:Android设备必须启动连接。

现在,HS处于两个对等设备都处于蓝牙主角色的情况,而两个连接上的HS都处于从角色。

现在发生的是,两个主服务器都可能将HS设置为具有相互冲突的嗅探间隔的嗅探模式。由于时隙冲突,连接将丢失。

一个可能的解决方案是在HS上检测到这种情况,并且从不进入嗅探模式或使用更短的超时从活动模式更改为嗅探模式。在这种情况下,HS可以为两个连接建议嗅探间隔并防止冲突。