查看: 515|回复: 0

[应用笔记] 二代LoRa模组通信距离异常的检查流程

[复制链接]

67

主题

100

帖子

570

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
570
发表于 2023-7-5 09:13:47 | 显示全部楼层 |阅读模式
  背景

  文中的二代LoRa模组指的是以SX1268,SX1262,LLCC68为主芯片的SPI模组。

  二代LoRa模组在应用过程中常见的一个使用不当产生的异常现象就通信距离近。

  本位对二代LoRa模组出现通信距离近的现象时常规的检查方法和流程做出整理,便于使用者排查时使用。

  如下是排查过程的导航图。
  在下文“过程”中会对该导航图加以说明。

  过程

  排查距离近的异常原因时,主要分两个方面:检查硬件和检查软件。

  一、检查硬件
  出现通信距离近的异常时,如果怀疑是硬件问题,常规做法会按照上图的流程检查。

  1、测试产品天线安装位置传导功率

  先将产品的天线取下来,在天线焊接或者安装的位置接上馈线。再将馈线接到频谱仪上,将模组设置成22dBm最大功率(以22dbmLLCC68模组为例),测试模组的传导功率,并做记录。

  如果这里测试结果是22dBm左右,那么就把天线安装回去“测试产品天线和频谱仪天线紧紧挨着耦合功率”

  测试产品天线和频谱仪天线紧紧挨着耦合功率时把客户产品的天线和频谱仪上的天线紧紧挨在一起测试,这时测试的值如果大于+5dBm(很好的时候可以达到+10dBm)就可以判断天线连接的没问题。如果天线中间有断开的地方一般都会是负值,这是需要测试天线连接是否正常。

  即使测试产品天线和频谱仪天线紧紧挨着耦合功率时功率值够22dBm,还要再使用品原来的电源供电并测试下模组发射时的电流是不是120mA左右,并记录下该值,即测试传导方式下发射电流。

  即使测试产品天线和频谱仪天线紧紧挨着耦合功率时功率值够22dBm,还要再使用品原来的电源供电,将示波器接入到模组的VCC上看发射时的电源的纹波时多少一般±200mV左右可以接受,但是如果波动达到了±300mV以上的话则可以基本确认模组的电源供电能力有问题。

  2、测试模组发射和接收状态下SWCTL引脚电平

  如果上一步测试产品天线安装位置传导功率时如果明显不到22dBm。

  例如下图这个产品,传导功率应该是22dBm左右,实际只有13.1dBm,检查到这步要记录下测试的数据。
  则需要把模组的SWCTL1和SWCTL2接到示波器上看一下。

  模组在发射时和接收时SWCTL1和SWCTL2的电平变化是否如下所示
  如果发射时和接收时SWCTL1和SWCTL2的电平逻辑不符合上图,请检查MCU为什么没有按照如上逻辑控制SWCTL1和SWCTL2。

  并仔细确认“测试模组和MCU的连接是否和原理图完全对应”

  3、测试BUSY引脚是否正常

  测试模组硬件时还需要把模组的BUSY引脚接到示波器上,看下BUSY引脚在模组工作过程中(例如调用发送数据包流程时),BUSY引脚是否会有0→1→0的电平变化过程,并做好示波器截图记录下来。

  二、检查软件
  1、检查是否移植了正确的软件库

  使用者移植软件时请一定用我司提供的同型号的模组的示例代码库做移植。

  然后检查软件中的模组的宏定义的版本是否正确。

  例如

  由于L-LRMQB20-97NN4模组使用的是无源晶振接法,所以代码中需要如下这样

  把IS_TCXO_SUPPORTED  赋值为 0U
  (如果使用者外接的是有源晶振把IS_TCXO_SUPPORTED  赋值为 1U)

  再例如L-LRMRL22-97NN4模组(LLCC68)接的是有源晶振,所以代码中

  必须把VERSION    赋值为    L_LRMRL22_97NN4
  然后再检查模组软件SWCTL配置。检查软件中发送,接收和进入SLEEP前,关于

  SWCTL1和SWCTL2的电平变化是否如下所示
  然后再检查模组软件DIO2配置。

  如果客户的原理图和硬件中把模组的SWCTL2和DIO2短接了,就需要在软件初始化函数的最后一行加入一行如下的DIO2的开关控制使能代码。
  2、检查模组复位函数是否正常执行

  如果模组不能跑过初始化函数,则需要先测试复位函数是否可以正常是模组的RST引脚产生正常的复位电平。

  如果复位函数可以使模组的RST引脚上产生正常的复位电平逻辑,就继续“检查模组wakeup函数是否正常执行”,并继续“检查模组standby函数是否正常执行”

  检查模组复位函数是否正常执行;检查模组wakeup函数是否正常执行;检查模组standby函数是否正常执行;都正常的话就可以继续测试其他功能了,这三个测试都正常的话也可以基本判定模塑的SPI没问题了。

  3、检查模组SPI读写寄存器函数是否正常执行

  如果遇到卡在模组初始化函数中SPI检测失败的地方,建议模组软件开发人员使用软件SPI重新移植一遍代码库测试一下。实际中遇到过太多硬件SPI有问题或者硬件SPI配置不对的现象了。

  使用软件SPI做软件移植的方法,可以参考如下链接:

  LoRa模组调试小白手册 - 无线传感网事业部-应用文档 - Lierda WSN

  4、检查模组BUSY引脚状态是否正常

  在前边   检查硬件   -- >  测试BUSY引脚是否正常  中硬件测试到BUSY的电平有变化的基础上,请再测试下这个BUSY的高电平,是否能在软件中被检测读取到,并记录下测试结果。

  结论

  本文如上以二代LoRa模组为例整理了在遇到通信距离近的异常现象后的排查思路。

  总体从硬件和软件两个方面进行排查。

  硬件的排查重点是传导发射功率 ,电源供电 和 天线。

  软件排查的重点是软件库是否是对应型号的软件库,软件里的参数配置 ,版本配置   和  软件里和一些开关还有IO相关的配置,以及SPI通信。

  需要检查并记录的地方:
  1、传导功率
  2、耦合功率
  3、发射瞬间电流
  4、电压纹波
  5、模组不同状态下的CTL1和CTL2电平
  6、软件中晶振的配置(模组版本型号)和DIO2的配置
  7、原理图和实物是否完全对应,DIO2和CTL2是否短接
  8、客户主机和从机使用的真实频点
  9、是否把我司的软件驱动的已经封装好的函数里边得逻辑和流程给改了

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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