【LoRaWan】节点端(一)--SX1278介绍

一 简介

LoRa作为IOT的技术实现中的一种,伴随着使用该技术的产品和项目逐渐增多,其优势已逐步被人们所熟知 -- 长距离与低功耗。比较适用于对数据传输量较少,传输频率不高的场合。

LoRa原理简单的说就是因为采用了扩频调制技术,从而在同等的功耗下取得更远的通信距离。具体请看其他文章介绍,本文主要偏向于实际应用。

说明:本人经验有限,此文仅供参考,如有错误请谅解。

二 SX1278

目前实现LoRa的硬件有Semtech的SX1272/76/78/79系列,通常作为节点端使用,还有SX1301 SX1255通常作为网关端使用。

SX127x原理框图

Semtech拥有LoRa 的IP,目前似乎只能他们自己生产,除非他们授权给其他公司,例如HopeRF.。市场上也有大量的模组,封装了SX12xx的芯片,方便客户快速开发产品原型和验证。在一些对体积成本不敏感的项目上可以直接使用。

如果需要读datasheet,建议大家读英文原版的,中文翻译的资料有些部分有问题。

如果产品比较简单,例如只用来进行点对点通讯,或者一对几个节点这种情况,就不需要网关端了。几个SX1278通过外部MCU实现简单的通讯协议,进行数据交互。

相关的技术参数信息,比如链路预算,灵敏度,功耗这些可以看datasheet。

注意一下不同芯片对应的频率是不同的,在中国主要使用CN470和CN780标准,对应的芯片建议使用SX1278。

三 SX1278关键寄存器及操作介绍

在使用SX1278的过程中,会发现它的寄存器非常多,而且还分为FSK/OOK和LoRa两部分互相独立的寄存器。下面根据本人的经验就LoRa模式下的几个关键寄存器给予说明,这几个寄存器如配置错误会导致通讯失败。

    1.频率寄存器设置

频率设置在0x06~0x08寄存器:RegFrMsb、RegFrMid、RegFrLsb

计算公式为:

比如需要设置频率到470M,那么Frf= 470*2(19次幂)/32=0x758000,设置寄存器RegFrMsb = 0x75;RegFrMid=0x80;RegFrLsb=0x00

   2.RF power寄存器

输出功率的配置寄存器有两个,一个是RegPaConfig(0x09);另一个是RegPaConfig(0x4D)

如果想设置到最大20dBm的话,参考下面的设置。

  1. SX1276Write( REG_LR_PADAC, 0x87); //high power

  2. SX1276Write( REG_LR_PACONFIG, 0x8F);

  3.接收发送配置

根据原理图,控制GPIO对发送和接收进行配置,保证在芯片发送期间PA_BOOST输出到天线,接收时RFI_LF连接到天线

 4.syncword寄存器

lora和lorawan两种情况下,SynvWord寄存器对应0x12和0x34

 5.Preamble寄存器

sx1278在接收数据期间会先接收前导码,如果在设置的时间内接收不到变进入睡眠,如果接收到前导码则开始接收后面的数据。设置该寄存器确定接收前导码的查长度。

在lorawan的模式下一般设置到8

  6.RegSymbTimeout

设置接收的窗口时间长度,最长是1023个symbols时间,在这个时间内如果接收不到前导码,RxTimeout产生中断,芯片进入休眠。调试期间可以尽量设置大一些,如果芯片定时精度不够有可能会错过接收窗口导致数据无法接收。后期系统稳定后应当尽可能缩小该值以达到降低功耗的目的。

  7.其他寄存器设置

其他寄存器例如,BW,coderate,datarate等,接收发送双方保持一直即可。

  8.中断配置

Sx1278有6个中断输出,最少需要使用Dio0和Dio1两个中断,注意中断是高电平有效。

  9.RESET

低电平有效

LoRa:SX1278相关推荐

  1. 【STM32WLE5之lora:6、易智联LM40评估板ADC定时采集上报低功耗处理】

    STM32WLE5之lora:6.易智联LM40评估板ADC定时采集上报低功耗处理 前言 一. 低功耗模式选择 1. STM32WLE工作模式 2. 低功耗模式选择 二. 低功耗测试执行 1. 低功耗 ...

  2. 用于Arduino、esp32或esp8266的Ebyte LoRa E32(SX1278)设备:省电和发送结构化数据 - 第五部分

    原作者:renzo mischianti - 2019年12月3日发布 - 2021年6月21日更新 现在我们将了解如何使用基于流行的SX1276/SX1278无线模块的E32 UART LoRa设备 ...

  3. LoRa笔记02 LoRa sx1276 sx1278的发射功率研究

    1 前言 发射功率也是射频基础指标,目前SX1278可以支持最大20dBm. 我正在学习LoRa和LoRaWAN,基本按照 官方资料+梳理解析+相关源码 的方式来记录笔记,相信对不少同行者有所帮助,可 ...

  4. LoRa笔记03 LoRa sx1276 sx1278空中唤醒研究

    一.前言 前面在无线节点的空中唤醒技术解析中由浅入深地对空中唤醒技术做了讲解,讲地非常好,建议大家多看几遍(卧槽,谁又砸砖头!).这篇笔记将讲LoRa节点的空中唤醒具体应用. 我正在学习LoRa和Lo ...

  5. LoRa芯片SX1278官方驱动移植

    1.首先找一个空白的工程模板,在工程里面建立两个文件夹(组)radio和platform,向platform中添加,fifo.c, led.c, sx1276-Hal.c, sx12xxEiger.c ...

  6. 物联网LoRa系列-4:LoRa终端射频芯片SX1268、SX1278、SX1262对比与选择

    1. 产品简述 LoRa的射频芯片主要分两大类,一类是LoRa终端射频芯片,另一类是LoRa基站/网关射频芯片. LoRa终端射频芯片目前有三款:SX1278.SX12786.SX1262: LoRa ...

  7. LoRA学习: SX1276/SX1277/SX1278对比

    LoRA芯片 SX1276/SX1277/SX1278对比 SX1276/7/8是一种半双工传输的低中频收发器,配备了标准FSK和远距离扩频Lora调制解调器.该芯片可以用于超长距离的Lora扩频通信 ...

  8. Lora1278驱动V4.4.2讲解二:驱动多个SX1278芯片

    最近有个项目,要做微型网关,对于尺寸.体积.功耗.成本以及开发周期有要求,方案基于以前的Lora网关为基础进行快速研发,里面唯一的难点就是用一个MCU驱动多个SX1278,通过对比SX1278的sx1 ...

  9. 基于Robei:如何利用Lora与机器人进行无线通讯

    文章目录 日常·唠嗑: 一.什么是Lora模块 二.通讯方式是什么 1.模块选择 2.参数及设置 3.接线方式 1.通信接线 2.参数修改接线 三.Robei程序设计 总结 日常·唠嗑: 今年华南赛区 ...

最新文章

  1. 语义分割源代码_综述 | 基于深度学习的实时语义分割方法:全面调研
  2. 图像的评价指标之SSMI——结构相似性
  3. 创业阶段如何找客户_初创企业在不同的创业阶段:如何做好市场营销?
  4. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(HTML5和CSS3)
  5. JAVA SPI机制及SPI机制在Tomcat中的应用
  6. C 的 6 种内存顺序,你都知道吗?
  7. dubbo-admin的编译安装
  8. linux之cenos7修改ip(临时和永久)
  9. 【转载】教你使用 Reflexil 反编译.NET
  10. 仿城通网盘仿蓝奏网盘源码
  11. ISIS路由聚合实验
  12. 计算摄影 | 摄像机成像原理及参数解析
  13. 【修复收藏功能、更新登录接口】知识付费小程序、博客小程序、完整版开源源码、资源变现小程序
  14. gdi与gdi+绘图效率_.NET和GDI +进行绘图[第1部分:基础知识]
  15. mysql报错不停止继续执行_mysql 8 启动失败(本地计算机上的mysql服务启动后停止。某些服务再未由其他服务或程序使用时将自动停止)...
  16. docker 部署redis分片集群cluster问题,求大佬指教
  17. android关闭传感器,您如何在安卓10手机上打开和关闭传感器
  18. 小米路由器登录服务器无响应是怎么回事,小米路由器登录界面打不开怎么办? | 192路由网...
  19. Android进阶之路 - StringUtils、NumberUtils 场景源码
  20. Mirai僵尸网络+DDoS 攻击+常用端口号大全

热门文章

  1. Windows系统文件详解
  2. 【Android 无法修改App名字】
  3. 数据可视化 | Tableau从入门到高手 入门联接关系数据预处理
  4. python程序员幽默段子_程序员的十个段子,能看懂的都是深有同感!
  5. 00. 微服务架构沉思录
  6. 超算计算机能不能玩游戏,拿神威太湖之光玩游戏会怎么样?
  7. 【Mobile】CTA认证
  8. c#与汇川机器人通讯_C#与西门子PLC通讯
  9. IDR:通过迭代数据细化的自我监督图像去噪
  10. 眼睛血管分割matlab版本