STM32--LoRa通信模块

ATK-LORA-01_V3.0(V3.0 是版本号,型号是 ATK-LORA-01 ,下面均以 ATK-LORA-01表示该产品) ALIENTEK 推出的一款体积小、微功率、低功耗、高性能远距离 LORA 无线串口模块。模块设计是采用高效的 ISM 频段射频 SX1278 扩频芯片,模块的工作频率410Mhz~441Mhz,以 1Mhz 频率为步进信道, 32 个信道,可通过 AT 指令在线修改串口速率,发射功率,空中速率、工作模式等各种参数。

ATK-LORA-01 模块具有:体积小、灵敏度高、支持低功耗省电,特点包括:
1 、工业频段: 433Mhz 免申请频段
2 、多种功率等级(最大 20dBm ,最大 100mW
3 、多种串口波特率(与开发板串口相连)、空中速率、工作模式
4 、支持空中唤醒功能,低接收功耗
5 、双 512 字节 环形 FIFO
6 、频率 410-441Mhz ,提供 32 个信道
7 、接收灵敏度达 -136dBm ,传输距离 3000
8 、自动分包传输,保证数据包的完整性

补充:

双 512 环形 FIFO 是一种存储器结构,用于缓存数据或指令以及在数据处理系统中进行流量控制。这种结构通常用于在数据传输速率不匹配的情况下进行数据交换,比如在处理器和外设之间。

让我们逐步解释这个术语:

  1. FIFO(First-In-First-Out):这是一种队列的数据结构,其中最先进入队列的数据最先被取出,就像水龙头中的水流一样。在计算机科学中,FIFO 通常用于缓存和数据传输中,确保数据按照其到达的顺序进行处理。

  2. 双 512:这指的是这种 FIFO 结构内部有两个独立的 FIFO 缓冲区,每个缓冲区的容量为 512。这两个缓冲区可以分别用于不同的数据流或任务。

  3. 环形:环形意味着这些 FIFO 缓冲区被设计成环形的,也就是说,当数据被写入到最后一个位置时,它们将回到起始位置,形成一个循环。

一、模块连接图

二、模块功能介绍

模块根据 MD0 的配置与 AUX 引脚的状态会进入不同的功能
其中在通信功能下,包含 4 种工作模式

三、快速了解

发送模式:透明传输和定向传输

由此可见,透明传输是指发送的信息和设备接收到的消息是一样的。定向传输的模式是指设备发送的信息需要有前缀,发送格式:高位地址+低位地址+信道+用户数据,这些前缀数据是十六进制,指定特定的设备收到信息,在定向传输模式下串口接收到带前缀的数据,会将十六进制的前缀转化为字符串输出。

四、配置功能

上电后,当 AUX 为空闲状态( AUX=0 ), MD0 设置高电平( MD0=1 时,模块会工 作在“配置功能”,此时无法发射和接收无线数据。在“配置功能”下,串口需设置:波特率“115200 ”、停止位“ 1 ”、数据位“ 8 ”、奇偶校验位“无”,通过 AT 指令设置模块的工作参数,部分AT指令如下:
通过正点原子提供 ATK-LORA 配置软件,发送 AT 指令即可以对模块参数进行配置,ATK-LORA 配置软件如图 2.3.2.4 所示:
注意
进入配置功能,串口需设置:“波特率: 115200 8 位数据位、 1 位停止位、无校验位”, 退出配置功能,返回无线通信需设置通信下的串口参数,以免无线通信下工作不正常。

四、通信功能

1、透明传输

1)点对点

1 ,地址相同、信道相同、无线速率(非串口波特率)相同的两个模块,一个模块发送,另外一个模块接收(必须是:一个发,一个收)
2 ,每个模块都可以做发送 / 接收。
3 ,数据完全透明,所发即所得。

2)点对多

1 ,地址相同、信道相同、无线速率(非串口波特率)相同的模块,任意一个模块发送,
其他模块都可以接收到。
2 ,每个模块都可以做发送 / 接收 .
3 ,数据完全透明,所发即所得
点对点: 两个 模块地址、信道、速率相同
点对多: 多个 模块地址、信道、速率相同

2、定向传输

点对点

1 ,模块发送时可修改地址和信道,用户可以指定数据发送到任意地址和信道。
2 ,可以实现组网和中继功能。
发送模块( 1 个): 地址 + 信道 + 数据
接收模块( 1 个):数据
区别点:
点对点(透传):模块地址、信道、速率相同
点对点(定向): 模块地址可变 信道可变 ,速率相同

五、数据流控制

如图所示,模块内部是存在 FIFO 的,发送通过获取 FIFO 里的用户数据 RF 发射出去,接收则将数据存到模块 FIFO ,再发送回给用户。这时如果用户设备通过串口到模块的数据量太大,超过模块 512 字节 FIFO 很多时,会存在溢出现象,数据出现丢包,此时建议模块发送方降低串口速率并且提高空中无线速率(串口速率 < 空中无线速率),从而提高缓存区的数据流转效率,减少数据溢出的可能。而模块接收方则应提高串口速率(串口速率 > 空中无线速率),提高输出数据的流转效率。模块在数据包过大的情况下,不同的串口波特率和空中无线速率配置下,会有不同的数据吞吐量,具 体数值以用户实测为准。( 注意 发射 和接收模块需工作在“一般模式”下 。)
(注:这有点像经典水池子问题,一个龙头进水,一个龙头出水,怎么样才能保持池子不满溢)

六、软件流程编写简述

1)函数中,先对通信串口设置波特率 115200 、无校验位的设置,然后进入配置功能模式,发送 AT 指令配置设备地址、信道、空中速率等参数
2)配置完成后退出配置功能模式,改变MD0的引脚状态进入通信模式,同时通信串口重新设置回通信下的设置
3)最后设置 AUX 中断为上升沿中断,等待数据接收或数据的发送。AUX引脚与MCU上一根外部中断线或gpio中断口相连,注册、设置中断服务函数,当AUX上升沿到来就执行中断服务函数,将buffer(要发送的信息数组)里的数据从串口发送或接收。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/8984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GaussianBody:基于3D高斯散射的服装人体重建

GaussianBody: Clothed Human Reconstruction via 3d Gaussian Splatting GaussianBody&#xff1a;基于3D高斯散射的服装人体重建 Mengtian Li1,2,3, Shengxiang Yao1, Zhifeng Xie1,3,2, Keyu Chen4,2, Yu-Gang Jiang2 李梦田 1,2,3 、姚胜祥 1 、谢志峰 1,3, 2 、陈科宇 4, …

TriCore: 从RTOS内核的角度看CSA

今天尝试从RTOS内核的角度来看看 TriCore 的 CSA。 CSA的细节信息可以参考前一篇文章 TriCore User Manual 笔记 1-CSDN博客 CSA 的全称是 Context Save Area&#xff0c;顾名思义就是专门用来保存上下文的一块存储区域。 既然是上下文使用&#xff0c;那必然要求低延迟&…

Linux域名解析

1.hosts:windows c盘下面 Linux: /etc/hosts 作用:实现名字解析&#xff0c;主要为本地主机名、集群节点提供快速解析。平面式结构&#xff0c;集中式数据库。 缺点:不便于查询更新 2.DNS:域名系统 作用:实现名字解析(分层性&#xff0c;层次性) FQDN:完全合格域名/全称域…

开源离线AI笔记应用

前言 Reor 是一款人工智能驱动的桌面笔记应用程序&#xff0c;它能自动链接相关笔记、回答笔记中的问题并提供语义搜索。所有内容都存储在本地&#xff0c;支持 Windows、Linux 和 MacOS。Reor 站在 Ollama、Transformers.js 和 LanceDB 等巨头的肩膀上&#xff0c;使 LLM 和嵌…

基于Springboot的校园悬赏任务平台(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园悬赏任务平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

ANSI转义序列

一、ASCII码 ASCII&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息交换标准代码&#xff09;最初的设计是一个7位的字符编码&#xff0c;使用了从0到127的数字来表示字符。这意味着它总共可以表示128个不同的字符。这包括了英文大小写字…

如何从未入库的gerrit中撤销一个文件

用一个例子说明 比如有一个提交里面的default.xml的修改没有必要&#xff0c;需要从未入库的gerrit中移除 步骤如下&#xff1a; 1.做reset操作 git reset HEAD^ packages/SettingsProvider/res/values/defaults.xml 2.做checkout操作 git checkout packages/SettingsProv…

FileLink文件摆渡技术解析:如何实现数据的安全摆渡与隔离

文件摆渡系统&#xff0c;这一现代科技名词&#xff0c;蕴含着深刻的科技内涵和广泛的应用前景。简而言之&#xff0c;文件摆渡系统是一种高效、安全的文件传输工具&#xff0c;它能够在不同的网络环境之间实现文件的快速、稳定传输。在今天的数字化时代&#xff0c;随着数据量…

压缩机继电器EOCRDS-30NY7Q升级后型号:EOCRDS3-30S

EOCR-DS3系列型号&#xff1a; EOCRDS3-05S EOCRDS-05S EOCRDS1-05S EOCRDS3-30S EOCRDS-30S EOCRDS1-30S EOCRDS3-60S EOCRDS-60S EOCRDS1-60S EOCRDS3-05W EOCRDS-05W EOCRDS1-05W EOCRDS3-30W EOCRDS-30W EOCRDS1-30W EOCRDS3-60W EOCRDS-60W EOCRDS1-60W EOCR-DS3T-…

【递归、回溯和剪枝】二叉树中的深搜

⼆叉树中的深搜深度优先遍历&#xff08;DFS&#xff0c;全称为 Depth First Traversal&#xff09;&#xff0c;是我们树或者图这样的数据结构中常⽤的⼀种遍历算法。这个算法会尽可能深的搜索树或者图的分⽀&#xff0c;直到⼀条路径上的所有节点都被遍历完毕&#xff0c;然后…

数据结构的堆(c语言版)

一.堆的概念 1.堆的基本概念 在计算机科学中&#xff0c;堆是一种特殊的数据结构&#xff0c;通常用于实现优先队列和动态分配内存。 2.堆的特征 堆是一个完全二叉树&#xff0c;它具有以下两个主要特性&#xff1a; 堆序性&#xff1a;对于最大堆&#xff0c;在堆中的任意节…

RockChip Android13 添加/删除ListPreference方法

概述: 本章将讲述在Android添加或删除ListPreference的几种方法,并以EthernetSettingsActivity为例,添加/删除一项ListPreference: 默认效果图: 添加后效果图: 方法一: 1、全部添加xml 在Activity类中使用addPreferencesFromResource()方法解析XML文件并添加Prefere…

glog的编译和使用

文章目录 glog的编译和使用概述笔记测试工程glog0.7这个版本是有问题的工程的预处理宏日志测试代码好使的代码效果备注 - 只有C风格的日志才好使备注 - glog用不到gflagEND glog的编译和使用 概述 想在DLL中打些日志&#xff0c;测试用。 没用起来。 将gflags和gtest都测试编…

离开大厂创业一年,从未受过这么大的打击!

大家好&#xff0c;我是程序员鱼皮。时间过得真快呀&#xff0c;转眼间我从腾讯出来、自主创业竟然已经整整一年了&#xff01;上周末也带团队同学们搞了场公司周年庆团建。 我自己是一个很喜欢、也很注重复盘总结的人&#xff0c;这么重要的时间&#xff0c;当然要对过去的一…

预测市场?预测股票?如何让预测有更高的准确率?

我们发现在足球赛中&#xff0c;只要知道一个简单的讯息&#xff08;主队过去的获胜机率超过一半&#xff09;&#xff0c;预测力就会明显好过随便乱猜。如果再加上第二个简单的讯息&#xff08;胜负纪录较佳的队伍会略占优势&#xff09;&#xff0c;可以再进一步提升预测力。…

Centos固定静态ip地址

这里我用的是Vmware虚拟机搭建的三台机器 进入 cd /etc/sysconfig/network-scripts然后使用 ip addr命令&#xff0c;查看自己虚拟机的以太网地址。 我这里是ens33 上面的第一个选项是本地环回地址&#xff0c;不用管它 然后查看刚刚进入的network-scripts目录下的文件 找到…

ChatPPT开启高效办公新时代,AI赋能PPT创作

目录 一、前言二、ChatPPT的几种用法1、通过在线生成2、通过插件生成演讲者模式最终成品遇到问题改进建议 三、ChatPPT其他功能 一、前言 想想以前啊&#xff0c;为了做个PPT&#xff0c;我得去网上找各种模板&#xff0c;有时候还得在某宝上花钱买。结果一做PPT&#xff0c;经…

2.1初识Spark

Spark于2009年诞生&#xff0c;最初是加州大学伯克利分校的研究项目。2013年加入Apache孵化器项目&#xff0c;2014年成为Apache顶级项目。Spark以内存内运算技术为核心&#xff0c;包含多个计算框架&#xff0c;成为大数据计算领域的后起之秀&#xff0c;打破了Hadoop的基准排…

域名系统(DNS)、DNS 服务器和 IP 地址概念解释

​  域名系统、DNS服务器和IP地址是构成互联网基础设施的重要部分。它们共同协作&#xff0c;使得人们能够方便地使用各种网络服务&#xff0c;而无需去记住复杂的数字地址。那么&#xff0c;域名系统、DNS 服务器和 IP 地址又该如何理解?本文主要讲讲关于这几个名词的概念解…

多线程使用说明

一、如何创建多线程 1、继承Thread类 如果调用run方法&#xff0c;相当于还是只有一条main线程&#xff0c;会把run的线程当成一条普通对象&#xff0c;如下&#xff0c;t会执行完再往下执行&#xff0c;这样t就不是一个线程类&#xff0c;而是一个普通的对象&#xff0c;所以必…