低功耗LoRa无线通信应用实践

网友投稿 779 2022-05-30

目录

1、模块简介

2、模块应用

2.1、工作模式

2.2、模块配置

1、模块简介

本博客选用LoRa Radio Module-868MHZ作为无线通信模组,其是一款体积小、微功率、低功耗、高性能、远距离的无线数据传输模块。具备内部自动扩频计算和前导 CRC 纠错处理能力。使用时,不改变用户的任何数据和协议,采用半双工通讯,实现串口无线数据收发传输的功能。

模块的射频芯片基于扩频跳频技术,配置低功耗高速处理器,支持普通透明传输方式,不改变用户数据和协议,所发即所收;也可以 建立一对多星型网络通讯,中心模块通过地址呼叫节点模块,节点模块通过透传方式作出应答,节点之间不会相互干扰,非常适合无线水表、气表、传感等低功耗应用场合。

模块间的通信距离3到5千米,通信范围广,若再加入中继模块提供中继路由,可有效扩大通讯范围,在距离上足可覆盖许多应用网络。用户还可以通过上位机软件或用 AT 命令根据实际需求灵活配置模块的网络ID、工作频率、串口速率、扩频因子、扩频带宽等参数,操作简单,使用方便。

模块技术参数如下所示:

2、模块应用

2.1、工作模式

LoRa模块有三种刚工作模式:标准模式(透明模式)(Standard)、中心模式(Central)和节点模式(Node),此外,中心模式和节点模式通讯时,可以采用“快速通道” 模式。

一、标准模式

模块处于高速无线监听状态,无论是空中数据还是串口数据都及时处理,并且 AUX 脚提前 2 ms 给出低电平来唤醒用户设备。

标准模式时序图如下所示:

二、中心模式

模块配置是按休眠模式配置,但工作是全速工作,耗电和全速模式一样, 并且两个模块都设置为中模式是不可以通信,它要配合节点模块使用来组成低功耗星型网络。

三、节点模式

模块大部分功能都关闭,数据传输都得到优化,如果模块在节点模式下需要发送数据给中心模块,就需要借助 EN 脚来唤醒模块。如客户端需要发送数据的时候,客户端就需要把 EN 脚拉低再发送数据,模块被换醒后可以通过串口接收客户端发过来的数据。所以在节点模式下休眠,模块不会监听串口数据(需要 EN 脚唤醒)只保留 CAD 无线监听。

节点模式时序图如下所示:

当模块设置为标准模式或中心模式时,如果 EN 脚置高电平,那么模块的 MCU和 RFIC 都是深度休眠,待机电流只有 3.9uA。此时模块不可以接收串口数据和无线数据。只有当 EN 脚被拉低的时候,模块才可以被唤醒,恢复到原来的状态。

当模块设置为节点模式时,如果 EN 脚置高电平,则模块处于休眠和 CAD 检测交替切换状态。模块可以接收空中数据,但不可以接收串口数据,只有模块 EN 脚被拉低时,才可以接收串口数据。

四、快速通道

中心模块和节点模块之间通讯时,可以采用快速通道模式,具体做法是,中心模块 EN 脚和 SET 脚拉低,节点模块 EN 脚和 SET 脚拉低,此后,中心模块给节点模块发送数据时,可以省去前导码配对时间,也就是取消了节点模块的休眠时间。从而减少了大规模数据采集所需要的时间,同时,也减少了部分功耗。这种模式适用于短时间内单个节点传输大量数据,或者多个节点轮询少量数据的情况

模块在三种不同的工作模式下,无线接收、串口接收、处理器状态等处理方式是不同的,因此具有不同的功耗表现。

2.2、模块配置

在使用模块通信之前需要使用软件配置相应的模式,若想实现通信效果前提是模块之间载波频率、扩频因子、扩频带宽、网络 ID 都要相同。

官方最新配置软件如下所示,图中所显示的参数值,即为模块出厂的默认参数,用户需要根据实际的应用需求修改相关参数。更多详情可参见模块官网说明文档。

简要说明如下所示:

打开串口

设置节点 ID

选择串口

设置网络 ID

选择软件波特率

设置发射功率

选择软件校验

设置串口波特率

设置频率

设置串口校验

设置工作模式

写参数按钮

设置扩频因子

读参数按钮

设置扩频带宽

超低功耗LoRa无线通信应用实践

状态显示栏

注意:

1、 标准模式和标准模式搭配可以相互通讯,中心模式和节点模式搭配可以相互通讯,其他模式搭配都不可以相互通讯。而快速通道模式,只在中心模式和节点模式搭配时才有效。

2、 如果要配置模块的参数,不管在哪个模式下,EN 脚必须接地,才可以输入命令进行配置参数。 EN 脚被拉低 50MS 后客户端才可以从串口发送数据给模块。

配置完成后即可使用串口调测助手进行通信,当然就可以直接用单片机的MCU串口收发数据实现无线通信,使用非常便捷。

单片机 网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【云驻共创】ReScript 和 TypeScript 有什么异同?
下一篇:mysql进阶(二十八)MySQL GRANT REVOKE用法
相关文章