微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 同时连接多个从机时发现的问题

同时连接多个从机时发现的问题

时间:10-02 整理:3721RD 点击:

你好,本人在从机例程里添加了一些程序后,烧到板子上,使用BTool能正常搜索并同时连接三台相同程序的设备,但与其他购买的蓝牙透传模块式,无法同时连接,情况往往是先连接我的设备,透传模块能正常连接使用,如果先连接透传模块,则无法搜索和连接我的设备。

有点没有弄清楚透传模块和你的设备间的关系

首先是说三个你的设备可以同时连接一个btool 然后呢?

我有三个设备,是我自己画的板子,从协议栈中从机例程改的程序,用BTool可以同时连接这三台设备。

然后我又买了三款透传模块,先连接其中一个透传模块,就会偶尔搜不到我的设备,即使搜到了连接也会有问题。

如果先连接我的设备,再去连接透传模块,就很正常,不会出现搜不到或连接不上等问题

所以应该说的是用BTool来搜索和连接的吧?

其中一个透传模块的连接参数是怎么设置的呢?感觉有可能连接间隔非常短 这样要求主机端更频繁的切换

BTool一直作为主机进行搜索和配对,其中一款透传模块可以更改连接参数的,其默认值如下:连接最小间隔:20ms,连接最大间隔:40ms,连接延迟数:0,连接异常检测时间:6000ms,自动更新连接参数,高手的意思是该模块的连接间隔太短,mcu反应不过来所以造成无法链接?

我觉得有可能是这个原因

刚尝试更改了下连接参数,感觉没多大改善,在透传模块中的连接参数AT指令有这么一句话:"该指令为主模式指令, 从模式下仅发送更改请求是否接受取决于主模式。"

个人理解:从机的连接参数只是提供给主机的一个参考,最终的连接参数应该是由主机进行控制,也就是BTool上Connection Settings这一栏。

而我之前就已经尝试过更改BTOOL的连接参数,将其最大连接间隔设置为4s,无法链接的情况有所改善,但出现无法搜索和连接的概率还是很高,个人觉得不全是连接参数的问题,如果是连接参数的问题,那搜索从机设备时应该不收影响,但我这边的情况是:连接了透传模块时,搜索其他设备就会变得很艰难,就更别说是连接了。

以上均为个人理解,可能我对这几个连接参数存在误解,希望高手能耐心解释下这几个连接参数的具体意义。

可不可以同时用sniffer抓包看一下具体的连接是怎么样的?

保持一个连接再切换到搜索模式与一直处在搜索肯定是不一样的

连接参数确实是需要双方协定 除了连接间隔以外 把latency加大也会有改善

sniffer抓包工具只能捕捉广播信息,连接信息一条都抓不到。。。这个该怎么破

因为广播是在固定的三个信道上所以每次都能抓到 但是连接数据跳频如果没有跟上就抓不到 多试几次 有抓到的可能

你好,经过测试初步可以判断是连接后、连接数据包发送太频繁而导致的无法搜索和连接其他设备,我将BTool的参数改了后,通过抓包发现连接后连接包的时间间隔为BTool的Max Connection Interval的值(2s),此时是可以搜索并连接到其他外围设备,若此时没有连接外围设备,于一段时间后(约12~20s)、连接包的时间间隔自动更改为从设备的Connection Interval的值(30ms),此时是无法搜索和连接其他设备的。

问题:

1.连接后,刚开始的一段时间、连接包的时间是否确定是主设备的Max Connection Interval的值?

2.连接一段时间后,连接包的时间是否会跳变到从设备的Connection Interval范围内的值?若不是该如何去设置或更改?

3.官方对多个设备同时连接有没有给出参考的Connection Interval范围

一般连接开始的时候是主设备这边的值,但是不代表从设备不能修改,从设备也可以在连接建立后提出连接参数更改,值如果值在主设备的值内,主设备同意之后就会以新的连接参数连接

多个设备同时连接没有给出参考范围,但是根据经验connection interval和latency都有影响

谢谢高手的耐心回答,我在测试下多个设备同时连接的稳定性

还有一个问题,Min Connection Interval和Max Connection Interval这两个参数比较好理解,但Salve Latency和Supervision Timeout这两个参数又该怎么理解呢?希望高手给我一个详细的答复,本人还是属于初学状态,第一次接触蓝牙设备。

latency可以理解成 可以晚多少个connection interval回答 而不被视为无应答

timeout可以理解成 多少时间无应答视为断开连接了

我又来了~~~

我这边测试了后发现了以下几个规律:

  1. 连接后,若从设备的连接范围在主主设备的连接范围内,则默认连接间隔为100ms,约7S后连接间隔将会更新为从设备的最大值。
  2. 连接后,若从设备的连接参数最大值大于主设备连接参数最大值,且主设备连接参数最大值在从设备的连接参数范围内,则默认连接间隔为主设备连接参数的最大值,且一直保持。
  3. 若第一个连接设备的连接间隔太短(<100ms,估值、只供参考),则后续的设备将无法进行连接。

最终原因可以初步判断为第一个设备的连接间隔太短、造成其他设备的无法连接,但连接间隔是如何确定的?官方有没有对这方面进行一个说明?因为现在我测试时发现,不同的主/从设备的连接参数设置,连接间隔不一样、连接后一段时间可能会更改,或连接后再连接其他设备则又可能改变。

因为我做的产品属于信息汇总类的产品,大部分从设备均由外厂商提供,且使用BLE透传模块居多,而我也买了几个透传模块进行测试,基本上其连接间隔范围在20~40ms居多,且不能灵活设置。像这样的话我该怎么规避多个设备无法同时连接的弊端呢?

没有官方固定的说明,

连接参数的修改双方都可以发起,有可能是从设备要求修改,也有可能是主设备在连接多个设备之后为了协调要求修改

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top