查看: 785|回复: 0

[资料发布] AN-5207 低功耗蓝牙常见问题问答

[复制链接]

108

主题

163

帖子

618

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
618
发表于 2022-1-22 15:19:09 | 显示全部楼层 |阅读模式
  Q1. 如果客户想让主机尽快连接上从机,该怎么做?
  A1:从机可采取,减小连接间隔、从机潜伏次数设置成零的方式。
    主机可采取,缩小扫描间隔、调大占空比,增加扫描时长、开启连续扫描的方式。

  Q2:建议客户MCU发包间隔必须≥连接间隔,且每包用户数据≤MTU-3的原因?
  A2:下图1个连接间隔中,那个电流大的状态就是连接事件,电流很小的状态是空闲IDLE状态。
    无线信号的TX、RX都是发生在连接事件阶段,如果客户MCU发包间隔小于连接间隔,那么1个连接事件内模组要处理多包用户数据,当用户数据量大到超过模组的RX缓存时,超出部分会被模组丢弃,存在丢包风险。
    所以,建议客户MCU发包间隔适当拉大,最好大于、等于连接间隔,这样每个连接事件就处理1包用户数据,且每包用户数据都是≤MTU-3,模组1个无线帧就能发出去,模组不用再分包,这样大大减少了无线丢包风险。
图1 连接事件与连接间隔含义

  Q3:客户反馈用手机APP能扫描到从机完整的广播数据adv_data,如图16-1所示,但是用我司S98主从一体模组只能扫描到前面一部分广播数据,后面一部分广播数据好像丢失了,如图16-2所示,这个是什么原因导致的,如何解决?
  A3:具体原因是主动扫描与被动扫描的区别导致的,手机APP基本上是主动扫描,而S98主从一体模组默认是被动扫描,用户可通过指令设置成主动扫描。
    主动扫描:主机除了接收空中广播包,还会主动向从机发送scan_req扫描请求包,然后接收从机回复的scan_rsp扫描响应包,从而获取从机更多的信息。
    BLE协议规定,scan_rsp的有效PDU默认是从机名称,AD Type 0x09 (Complete Local Name) 来存储从机名称。
    被动扫描:主机只是安静的接收空中广播包,不会主动发送其他数据。
图1 手机扫描到从机adv_data
图2 S98被动扫描到从机adv_data
图3 S98主动扫描到从机adv_data+scap_rsp

  Q4:在手机“设置”-“蓝牙”界面,可以搜到BLE从机,点击配对后为何无法成功连接上?而在nRF Connect APP界面可以成功搜到BLE从机,也可以成功建立连接?
  A4:这个是正常现象,因为手机-设置-蓝牙界面默认的是经典蓝牙,与BLE低功耗蓝牙相互间不能通信的。
    而这款 nRF Connect APP是nodic官方基于BLE协议栈开发的,用来提供给客户做前期BLE调试。

  Q5:“利尔达BLE调试工具”APP的扫描界面,“扫描模式”、“占空比”、“RSSI”、“扫描时长”、“扫描PHY”、“连续扫描”、“扫描间隔”、“重复上报”、“过滤广播”这几个参数,用户使用时具体该如何选择?
  A5:
  扫描模式:主动扫描会去获取从机扫描响应,被动扫描不会,一般设置成主动扫描即可。
  占空比:占空比=(scan_wind/scan_intv)*100%,客户需要扫描窗口scan_wind开大一些的话,可适当的调大占空比,一般采用软件默认值50%即可。
  RSSI:低于此RSSI阈值的广播数据将不会上报给 MCU,客户可根据主从设备间距、信号强度等因素来选择。
  扫描时长:scan_time,一次扫描任务持续的最长时间,客户想增加扫描到从机的可能性,那么可以适当的增加扫描时长,一般采用默认值1s即可。
  扫描PHY:目前市面上大部分BLE设备都是使用1M PHY,所以这里一般选择PHY_1M即可。
  连续扫描:连续扫描,即扫描窗口scan_wind结束后,等待扫描间隔scan_intv的时间到后,再次开启扫描,可理解为循环扫描;单次扫描,即扫描窗口scan_wind结束后不再开启下一个扫描窗口。
  扫描间隔:scan_intv,扫描间隔,2个扫描窗口的间隔时间。
  重复上报:重复上报允许的情况下,每一帧串口数据都会上报; 重复上报不允许的情况下,相同的广播数据只通过串口上报一次。
  过滤广播:是指,主机搜到从机广播后,通过用户填写的从机广播数据的特殊字节,来过滤出广播这帧数据的从机;其他从机,则不上报。
  Q6:客户实测E系列透传模组的广播功耗、连接功耗在mA级别,并不能达到规格书、使用说明书所写的uA级别,请问该如何处理? 当PWR_CTL引脚拉低模组处于休眠状态下,手机与从机间还能正常保持连接吗? 此时手机与从机间BLE无线数据通信、MCU与从机模组间串口数据通信是否会受到影响?
  A6:下图1、2中引脚列表、功耗数据,都以E92主从透传模组举例。
    ●根据经验,一般这都是由于客户没有拉高PWR_CTL引脚,让模组进入休眠状态导致的。规格书/使用说明书“功耗”小节给出的广播、连接功耗,基本都是在拉高PWR_CTL引脚情况下测量的。
    ●手机与从机能保持正常连接。使用说明书中PWR_CTL引脚拉高,模组进入休眠状态,此“休眠”并非字面意义上所指,可理解成模组进入了“低功耗”状态。
    即休眠状态下,连接事件还是存在的,只是连接间隔内发完数据后,芯片进入sleep模式,电流大幅降低,是uA级别,比拉低PWR_CTL引脚、模组进入唤醒状态的电流要低很多(此时连接间隔内发完数据后,芯片进入standby模式,模组电流是mA级别)。
    ●手机与从机模组间BLE数据通信,不会受到影响。MCU与从机模组间串口数据通信会受到影响,具体是PWR_CTL引脚拉高进入休眠状态后,从机模组的RX功能是关闭的,即模组不能接收MCU发来的串口数据。
图1 E92使用说明书“2.1.2功能性引脚列表”
图2 E92使用说明书“6.2 功耗”

  Q7:蓝牙标准模组产品规格书中,外置天线π电路的C21/C22电容为何要空贴?
  A7:因为π电路C21/C22电容值,是要等整机(带外壳)去做天线匹配才能确定的,基于单独PCB来做天线匹配是无意义的。所以客户在PCB设计阶段,需要事先预留这2个位置。
  Q8: E92的最大发射功率4dbm,E66是7dbm,为什么用手机拉距测试时E92的距离会更远?
  A8:因为通信距离不仅跟芯片发射功率有关,还跟接收灵敏度有关。
    如下图所示,E92的接收灵敏度,比E66小了3个dB。
  Q9. 大数据包传输时app和模组端有无需要特别注意的地方?
  A9:需要注意的地方有2点,一是尽可能提高BLE数据通信速率,二是使用较高的串口波特率。
    一般来讲,提高BLE数据通信速率的方法,如下所示:
    ●使能DLE单帧数据长度扩展;
    ●BLE5.0及以上版本,使用LE 2M PHY;
    ●使用通知notify或写入无响应Write without Response数据类型
    ●尽可能增大 MTU,提高单次数据收发效率;
    ●选择1个合适的连接间隔;

  Q10:E系列主从透传模组同时连接6个从机时,其功耗对比连接1个从机有何变化?主机会不定时发数据给任意2个从机,请问这2个从机能否同时收到数据?
  A10:功耗是原来的6倍。
      这2个从机不可能在同一时间点,收到主机发给他们的数据包,因为主机硬件上只有1个TX与RX通道。由于主机内部有缓存,当主机某时刻收到MCU发来的2包数据时,主机会分别在2个从机各自的连接间隔点到来时,使用TX通道分别发送2包数据,2个从机会先后收到这2包数据,这个时间间隔最大是1个连接间隔100ms。

  Q11:主从一体的定义是什么?E95主从透传模组可以正在广播,同时又作为主机去跟别的从机保持连接吗?主、从角色具体是如何切换的?
  A11:主从一体定义是某个设备同时具备从机与主机角色。
      可以,E95主从透传模组上电默认是广播态,即从机角色;如果点击开始扫描指令,即切换至主机角色。
      E95主从透传模组,最多可同时保持2个连接,可通过0X30“设置协议栈参数”指令配置成2从、2主或1主1从。

  Q12:给E系列透传模组OTA升级固件时,如图1所示,串口已经给模块发OTA升级指令,让模块处于升级状态,nRF Connect APP也搜到了处于DFU升级状态的模块广播,但是点击“connect”按钮后,没有成功连接,且DFU小锁图标也未出现,如图2所示,请问该如何处理?
图1-模块已处于升级状态
图2-点击图1“connect”按钮后,连接失败

  A12:手机蓝牙开关一下,再重新连接即可,如图3所示。
图3-DFU小锁图标出现

  Q13:手机通过nRF Connect APP给E系列模块OTA升级固件时,升级过程中有时会出现中途断掉的现象,请问如何解决?
  A13:可以尝试给模块断电重启,或换新手机试一下。

  Q14: nodic系列模组通过手机给模组OTA升级固件时,有时会出现升级失败、中途断开的异常现象,该如何解决?
  A14:
  ①OTA升级时,如果遇到奇怪的错误,断开连接,关闭手机蓝牙开关,再打开,重新在nRFconnect里搜索一下试试。
  ②尽量不要用华为的手机,问题挺多的,升级失败就换个手机试试。
  ③升级包不能放在手机外置存储卡。
  ④升级完,务必恢复出厂设置+重启。

  Q15:Bluetooth 5协议 新出的2M PHY,在实际BLE GATT应用开发中,相比1M PHY对数据传输速率的提升有多大?主机、从机需要同时支持2M PHY吗?
  A15:当其他影响数据传输速率的因素(包括连接间隔、每个连接间隔可发送的数据包数、ATT MTU、DLE是否使能等),在主机、从机之间保持相同的情况下,PHY由1M增加至2M,数据传输速率一般会增加约100kbps。
      主机、从机必须同时支持2M PHY,具体可以在建立连接后由主机或从机协议栈发起更新PHY请求,但主机最终将决定使用哪个PHY(基于从机的请求和主机支持的PHY)。

  Q16. BLE5.0比4.2及以下版本新增加了哪些特性?我司模组主要支持哪些?
  A16:BLE5.0协议新增特性,如下图所示。
  我司模组主要支持2M PHY与Long Range特性,具体如下所示:
  2M PHY支持模组有E92、E95、S95、S98、T55、E55;
  Long Range支持模组有S98。

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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