查看: 1861|回复: 0

[资料发布] SX126x(LLCC68)和SX127x芯片互联互通操作

[复制链接]

67

主题

100

帖子

570

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
570
发表于 2021-4-1 10:31:45 | 显示全部楼层 |阅读模式
  1 介绍

  SX126X(LLCC68)和SX127X都是Semtech推出的LoRa收发器芯片,都支持LoRa调制和FSK调制,不管是LoRa制作模式还是FSK调制模式下,它们之间都可以实现相互通信。

  随着技术的升级更新,作为新一代的LoRa芯片SX126X(LLCC68),在发射功率及电流消耗都有着明显的优势,所以许多客户有使用SX126X(LLCC68)替换SX127X的需求,同时为了兼容之前的产品,所以需要实现SX126X(LLCC68)与SX127X相互通信。本文档主要介绍SX126X(LLCC68)与SX127X在LoRa调制模式下如何实现互联互通,及实现互联互通需要注意的事项。

  2 实现互联互通条件

  SX126X(LLCC68)与SX127X实现互联互通有一定的条件,对于某些特殊配置也是无法互联互通的,下文主要说明哪些条件下不能互通,需要互联互通应该主要哪些配置条件。

  2.1 不支持互联互通配置

  2.1.1 特殊配置原因
  1)SX127X的扩频因子为SF6时,只可以工作在隐性报头模式,且有特殊寄存器设置,而SX126X及LLCC68在该扩频因子条件下进行了修改,既可以工作在隐性报头也可以工作在显性报头,所有当扩频因子为SF6时,SX126X(LLCC68)无法与SX127X实现互联互通。
  2)SX126X(LLCC68)芯片扩展了SF5的扩频因子,所以扩频因子为SF5时,SX126X(LLCC68)也无法同SX127X实现互联互通。

  2.1.2 速率配置限制原因
  1)由于LLCC68支持配置的速率只SF=5~9@BW=125KHz,SF=5~10@BW=250KHz及SF=5~11@BW=500KHz,所以对于其他速率配置,是无法同LLCC68实现互联互通的。

  2.2 支持互联互通配置要求

  SX126X(LLCC68)与SX127X实现互联互通的条件是需要保持两者配置一致;涉及到的配置参数有如下:
  ●中心频率
  ●扩频因子(SF)
  ●调制带宽(BW)
  ●纠错率(CR)
  ●CRC是否开启
  ●报头显隐性格式
  ●低速率优化(Low Data Rate Optimize)
  ●IQ信号极性
  ●前导码长度
  ●数据包长度

  3 互联互通操作实例介绍

  3.1 实验工具及设备准备

  本次操作主要以470MHz的LLCC68模组及SX1278模组为例,进行LLCC68模组与SX1278模组互联互通操作。需要用到的工具设备等如下表3-1。
序号
设备名称
设备型号
数量
备注
1
利尔达开发板
LSD4RF-TEST2002
2
2
LLCC68 LoRa模组
LSD4RFC-2L722N10
1
3
SX1278 LoRa模组
LSD4RF-2F717N30
1
4
LLCC68 LoRa通信代码
LLCC68_LoRa(1.3OLED)_201223
1
5
SX1278 LoRa通信代码
SX127X-LoRa(1.3OLED)_201223
1
6
PC工具
MDK5.30(或其他版本)
1
7
JLink
1
表3-1 测试设备及工具

  3.2 通信流程

  使用LLCC68模组和SX1278模组分别作为TX设备和RX设备,发射设备通过LoRa无线信号发送数据给接收设备,接收设备收到数据包后将数据包通过LoRa无线信号返回给发射设备端,循环进行通信。
图3-1 LoRa通信流程图

  3.3 测试参数配置

  正文通过表2-1可以知道,二代LoRa芯片SX126X和LLLCC68在射频性能及功耗上都优

  3.3.1 SX1278参数配置
  //文件:main_Tx.c
  //配置各个参数
    G_LoRaConfig.LoRa_Freq = 470800000;   //中心频率470MHz
    G_LoRaConfig.BandWidth = BW125KHZ;    //BW = 125KHz  BW125KHZ
    G_LoRaConfig.SpreadingFactor = SF09;  //SF = 9
    G_LoRaConfig.CodingRate = CR_4_6;     //CR = 4/6
    G_LoRaConfig.PowerCfig = 15;          //19±1dBm
    G_LoRaConfig.MaxPowerOn = true;       //最大功率开启
    G_LoRaConfig.CRCON = true;            //CRC校验开启?
  G_LoRaConfig.ExplicitHeaderOn = true;  //显性包头:
    G_LoRaConfig.PayloadLength = 10;      //数据包长度

  //文件:SX127X_Driver.c
  //低速率配置
  SX127X_Write(         REG_LR_MODEMCONFIG3,((G_TsXms>16.0f)?\
            RFLR_MODEMCONFIG3_LOWDATARATEOPTIMIZE_ON :
            RFLR_MODEMCONFIG3_LOWDATARATEOPTIMIZE_OFF\
            ) | RFLR_MODEMCONFIG3_AGCAUTO_ON);
            //当symbol时间大于16.0ms时开启低速率优化,否则不开启

  3.3.2 LLCC68参数配置
  //文件:main_Tx.c
  //配置各个参数
  G_LoRaConfig.LoRa_Freq = 470800000;              //中心频率
  G_LoRaConfig.BandWidth = LORA_BW_125;            //BW = 125KHz  BW125KHZ
  G_LoRaConfig.SpreadingFactor = LORA_SF9;   //SF = 9
  G_LoRaConfig.CodingRate = LORA_CR_4_6;     //CR = 4/6
  G_LoRaConfig.PowerCfig = 22;               //输入范围:-3~22,根据实际
  G_LoRaConfig.HeaderType = LORA_PACKET_EXPLICIT;  //显性包头:
  G_LoRaConfig.CrcMode = LORA_CRC_ON;              //CRC校验开启:
  G_LoRaConfig.InvertIQ = LORA_IQ_NORMAL;               //默认NORMAL标准模式
  G_LoRaConfig.PreambleLength = 8;    //前导码长度
  G_LoRaConfig.PayloadLength = 10;      //数据包长度

  //文件:SX127X_Driver.c
  //低速率配置
  if(G_TsXms > 16.0)
  {
   buf[3] = LOWDATARATEOPTIMIZE_ON;
  }
  else
  {
   buf[3] = LOWDATARATEOPTIMIZE_OFF;
  }//当symbol时间大于16.0ms时开启低速率优化,否则不开启

  3.4 互联互通演示

  分别演示当LLCC68模组为主机设备或从机设备时与SX1278模组互联互通情况。

  3.4.1 LLCC68模组作为主机设备

  1)使用Keil工具打开 LLCC68 LoRa通信代码例程,选择TX目标工程进行编译,编译完成后通过Jlink烧写器完成LLCC68模组端开发板烧写;
图3-2 LLCC68 LoRa通信代码TX目标工程

  2)使用Keil工具打开 SX1278 LoRa通信代码例程,选择RX目标工程进行编译,编译完成后通过Jlink烧写器完成SX1278模组端开发板烧写;
图3-3 SX127X LoRa通信代码RX目标工程

  3)通信效果演示
图3-4 LLCC68互通SX1278演示图

  3.4.2 SX1278模组作为主机设备

  1)使用Keil工具打开 SX127X LoRa通信代码例程,选择TX目标工程进行编译,编译完成后通过Jlink烧写器完成SX127X模组端开发板烧写;
图3-5 SX127X LoRa通信代码TX目标工程

  4)使用Keil工具打开 LLCC68 LoRa通信代码例程,选择RX目标工程进行编译,编译完成后通过Jlink烧写器完成LLCC68模组端开发板烧写;
图3-6 LLCC68 LoRa通信代码RX目标工程

  5)通信效果演示
图3-8 SX1278互通LLCC68演示图

  3.5 互联互通注意事项
  1)配置一定要保持一致,否则可能出现无法通信或者数据错误等现象;
  2)在配置也一致时发现还是无法通信,这时需要考虑下时候两者时序上有不同步问题,比如,发送机发送完成后,再重新进入接收模式,这时在切换过程中,由于代码等处理,切换时间较长,但接收机端接收成功后里面切到发送数据包,这时出现接收机已经发送完数据包,但是发射机还未完成接收状态配置,导致丢包。

  4 联系我们

  有何需求?

  扫码填表单即可联系到我们

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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