写的好
楼主 我想问问BLE一主多从的通信原理具体是如何建立连接和通信的?还想问下有没有类似的时序图?
Benson 这个跟一对一是完全一样的,只不过协议栈通过time slot去实现了一对多,从而给人的感觉就像是同时连的“错觉”,Spec并没有对此做出规定;具体的你可以看相对应协议栈的规格书;
Wireless-Tech 谢谢你回复我 ,这个是他们建立连接后的过程吗?那Master是如何与多个slave建立连接的,我还是没明白,个人理解能力太差了😂
Wireless-Tech 楼主 再问下你这张图是那个文档里面的?能发我下这个文档吗
Benson 简单来说就是,当一个Master跟一个Slave建立连接之后(如上图的C0),是有一个连接的间隔,也就是说隔一个连接间隔的时候就会握下手或者交互数据,那么master跟另外一个slave建立连接的话,那肯定是置后第一个slave(如上图的C1),那样的话就可以同时跟两个slave进行交互了,从而达到多连的功能
Benson 如果你用的是Nordic的话,可以在如下链接下载: 协议栈规格书
Wireless-Tech 哦 这部分我理解了。还有就是我想问,一个Master和一个Slave已经建立连接了,现在想和另一个slave建立连接,因为建立连接时需要广播,然后连接请求这个过程的,这个过程在那一段时隙里体现?还有楼主方便留下联系方式吗?
Benson 我还是举上述的截图为例,只要不是在C0和C1的这两个事件,就可以发起连接请求并建立链接。至于联系方式,我觉得在论坛交流会更好些😊。
Wireless-Tech 你的意思是在图中我画的红框这段时间内 Master能切换到其他的状态并去接收其他slave的广播帧,然后回复connect_req,从而建立连接是吗?
Benson 是的。一般这个是由协议栈去调度的,协议栈把控着整个Radio的时序,什么时候空闲,这个时间段Radio有没有被占用等等。这有点类似于我们电脑的CPU一样,只不过协议栈是控制Radio。
Wireless-Tech 好的 我明白了 万分感谢☺
Wireless-Tech 对了还有一个问题,一般都说一个主设备能连最多7个从设备,这个7是什么限制导致的,是connectionInterval限制的吗
Benson 协议栈限制的,跟规范没关系,限制原因是资源不够,因为每个链路都要占不少的ram。
jayden Benson 请参考这位大佬的回复,他的回复就是我想回的
这估计是我看到的最详细的图解了
连接间隔是Master决定还是Master、Slave互不影响的?
jackson_lvmaster