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 是一种存储器结构,用于缓存数据或指令以及在数据处理系统中进行流量控制。这种结构通常用于在数据传输速率不匹配的情况下进行数据交换,比如在处理器和外设之间。
让我们逐步解释这个术语:
-
FIFO(First-In-First-Out):这是一种队列的数据结构,其中最先进入队列的数据最先被取出,就像水龙头中的水流一样。在计算机科学中,FIFO 通常用于缓存和数据传输中,确保数据按照其到达的顺序进行处理。
-
双 512:这指的是这种 FIFO 结构内部有两个独立的 FIFO 缓冲区,每个缓冲区的容量为 512。这两个缓冲区可以分别用于不同的数据流或任务。
-
环形:环形意味着这些 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(要发送的信息数组)里的数据从串口发送或接收。