查看: 296|回复: 0

[应用笔记] 主从一体蓝牙模组主/从机角色配置

[复制链接]

108

主题

163

帖子

618

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
618
发表于 2024-1-8 10:15:22 | 显示全部楼层 |阅读模式
  背景

  客户使用E92主从一体模组,使用在酒店电梯梯控上,用小程序连接控制电梯,连接后交互1条指令马上断开。 要求支持最多同时被4部手机连接,1条指令几十个bytes,数据量不大。

  需要我们帮忙提供合理的的参数配置,并保证连接稳定性。

  过程

  一、简介


  Nodic系列主从一体模组支持同时保持多个连接,客户可通过串口指令配置模组的主/从角色。

  S98支持最多同时连接10个设备,主从组合可通过指令配置。

  E92标准版, 支持最多同时连接8个设备,主从组合可通过指令配置。

  E95、S95支持同时连接2个设备,可配置一主一从,2从或2主。

  二、配置方式

  模组代码中主机角色、从机角色、MTU大小等功能,都是要占用内存的,举个例子,如果用户要从机数量增加,那么势必要减少主机数量和MTU大小。

  具体用户可通过“0x30设置协议栈参数”指令来配置主机、从机数量、MTU值。

  总连接个数=max_conn。

  主机数=max_cent。

  从机数=max_conn-max_cent。

  event_len:RF事件占用宽度,一般保持默认值0x0A即可,用户无需更改。

  三、示例

  1、测试条件

  ●E92主从一体开发板1个。
  ●4部手机:荣耀V30、VIVO Y66、小米 MI8、VIVO X21iA。
  ●nRF connect APP。
  ●E92模组固件版本: LSD4BT-E92ALSP001_Rev05。
  ●REV05固件的默认协议栈参数, 支持7个主机,1个从机,MTU值最大是163,事件长度12.5ms。

  2、测试内容

  2.1 为了支持4从机,将总连接个数max_conn设置成4,可连接从机数max_cent设置成0,最大MTU保持不变,163字节。

  [16:27:23.763]发→◇01 FC 30 06 00 04 00 A3 0A 00 □
  [16:27:23.770]收←◆04 FC 30 01 00

  使用4部手机依次去扫描E92模组,发起连接,主从机协商的最终连接参数是:连接间隔45ms,从机潜伏次数0,连接丢失监测超时时间5s.

  2.2 为了保证连接长时间稳定,连接建立后,由从机发起0x04更新连接参数指令,将4个连接的连接间隔更新至60ms,连接丢失监测超时时间设置成8s。

  [09:13:20.998]发→◇01 FC 04 0E  6F 47 30 0D 5A 78 2C 00 30 00 00 00 20 03  //6F 47 30 0D 5A 78是手机1的MAC地址,从0x84连接建立指令中获取该字段
  [09:13:21.006]收←◆04 FC 04 01 00
  [09:13:51.449]收←◆04 FC 86 0D 00 6F 47 30 0D 5A 78 30 00 00 00 20 03  //0x86连接参数更新事件,指示更新后的连接间隔是60ms,latency=0,连接丢失监测超时时间是8s

  AN-5113 一主多从时,主从机连接间隔如何选择?

  AN-5105 某燃爆行业客户采用“主从间长连接”之案例介绍

  2.3 手机端依次使能notify,其中2部手机每隔1s给E92模组发送10bytes数据,测试连接稳定性。

  挂测24h,3部手机连接均保持正常,剩下1款发数据的手机连接保持了9h后断开,基本可以满足客户的需求。

  结论

  用户如果想自行配置模组支持的主机、从机数量,那么可以使用“0x30设置协议栈参数”指令,先把总连接个数、主机数配置成所需的进行稳定性测试。如果出现连接很快断开、数据通信失败等连接不稳定现象,那么可以尝试减小MTU值、总连接个数,再进行测试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表