【大功率模组上新】LoRa-01S/SC-P模组详细介绍+使用教程

[复制链接]
查看880 | 回复3 | 2024-10-25 14:55:32 | 显示全部楼层 |阅读模式
LoRa介绍
LoRa是semtech公司开发的一种低功耗局域网无线标准,其名称“LoRa”是远距离无线电(Long Range Radio),它最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远,实现低功耗和远距离的统一,它在同样的功耗下传统的无线射频通信距离扩大3-5倍。
产品概述
Ra-01S-P搭载了射频芯片SX1268,Ra-01SC-P搭载了射频芯片LLCC68,二者主要采用 LoRa™远程调制解调器,用于超长距离扩频通信,抗干扰性强,功耗低。其搭载了PA后,灵敏度和功率输出更是达到了-137dBm与+29dBm,使其传输距离达到6.7km以上。
应用场景
可广泛应用于自动抄表,家庭楼宇自动化,安防系统,远程灌溉系统等。
1.png


特性
      · 支持FSK、GFSK、LoRa®调制方式;
      · 支持频段 410MHz~525MHz;
      · 最大发射功率+29dBm,工作电流为 700mA;
      · 高灵敏度:低至-137dBm@SF10 125KHz;
      · 极小的尺寸 17163.2(±0.2)MM、双列邮票孔贴片封装;
      · 支持扩频因子 SF5/SF6/SF7/SF8/SF9/SF10/SF11/SF12;
      · 接收状态下具有低功耗特性,接收电流最低为 11mA;
      · 模块采用 SPI 接口,使用半双工通信,带 CRC、高达 256 字节的数据包引擎;
      · 支持多种天线安装方式,兼容半孔焊盘/通孔焊盘/IPEX 座子;

一、软硬件介绍
1. 软件
通过下述链接获取相关demo
https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E8%B5%84%E6%96%99
2.png


如下图所示位系统初始化函数:
3.png

NVIC_PriorityGroupConfig()函数将中断优先级分组配置为4,4位全部分配为抢占式优先级;PB12引脚设置为控灯引脚,用来指示程序发送或收到数据;将时钟配置为1ms执行一次中断函数,中断函数内容如下图:
4.png

如果需要查看定义位置,需要预先编译代码,这时需要注意选择target
5.png

6.png

main函数如下图所示:
7.png

LORA_DATA_SEND_AND_RECEIV_MODE来控制设置模组接收模式还是发送模式;
8.png

1)ExampleSX126xSendDemo()函数
9.png

SX126xOnTxDone():当数据发送完毕执行的回调函数;
SX126xOnRxDone():当接收数据完毕执行的回调函数;
SX126xOnTxTimeout():发送数据超时后执行的回调函数;
SX126xOnRxTimeout():接收数据超时后执行的回调函数;
SX126xOnRxError():接收数据错误后执行的回调函数;
Radio.Init( &SX126xRadioEvents );注册了以上五个回调函数,如下图为此函数的实现;
10.png

Radio.SetChannel(LORA_FRE)函数用来设置Ra-01SCH-P模组的射频频率,函数实现如下图所示;
11.png

Radio.SetTxConfig( MODEM_LORA, LORA_TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
LORA_SPREADING_FACTOR, LORA_CODINGRATE,
LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
true, 0, 0, LORA_IQ_INVERSION_ON, 3000 );用来设置Ra-01S/SC-P模组的参数;参数:lora模式,发射功率,fsk用的lora设置为0就可以,带宽,纠错编码率,前导码长度,固定长度数据包(一般是不固定的所以选false),crc校验,0表示关闭跳频,跳频之间的符号数(关闭跳频这个参数没有意义);此函数实现如下图所示:
12.png

OCP_Value = Radio.Read(REG_OCP);读取当前过流保护设置的最大值;
Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
LORA_SX126X_SYMBOL_TIMEOUT,
LORA_FIX_LENGTH_PAYLOAD_ON,
0, true, 0, 0, LORA_IQ_INVERSION_ON, false );
用来设置Ra-01SCH-P模组RX模式的参数,函数参数:LoRa模式、带宽、扩频因子、编码纠错率、自动控制频率带宽、前导码长度、符号超时时间(接收器等待下一个符号到达的最长时间)、数据包长度是否固定、负载长度、是否CRC校验、是否启用频率跳变、频率跳变周期(需启动频率跳变,否则无效)、是否反转I/Q分量、是否连续接收;
Radio.IrqProcess( )判断是否有事件发生的处理函数,其中可判断事件:TX_DONE、RX_DONE、CRC_ERROR、CAD_DONE、RX_TX_TIMEOUT、PREAMBLE_DETECTED、SYNCWORD_VALID、HEADER_VALID、HEADER_ERROR。函数实现如下图所示:
13.png

Radio.Send(Buffer,BufferSize);通过模组发送数据函数。参数:Buffer:需要发送的数据;BufferSize需要发送数据的大小;
delay_ms(1000);延迟1s发送一次;
2)ExampleSX126xReciveDemo()函数
函数实现如下图:
14.png

与发送demo函数重复部分不再介绍;Radio.Rx( LORA_RX_TIMEOUT_VALUE );使模组进入接受模式;函数实现如下:
15.png

开启Rx模式后,每1ms进入一次IrqProcess判断是否收到数据;
3)软件编写注意
FEM 芯片最大输入功率不能超过+5dBm,否则会有烧坏 FEM 芯片。用户需严格配置LLCC68 的输出功率,推荐 3dBm-5dBm;
此模块为 LLCC68+外围电路,用户可以完全按照 LLCC68 芯片手册进行操作;
DIO1/DIO2 是一般通用的 IO 口,可以配置成多种功能;
其中射频开关 TX/RX 的控制,可以由外部 MCU 控制;也可以由外部 MCU 和 LLCC68的 DIO2 联合控制;
LLCC68 与 SX1262/SX1268 的差异:
(1)SX1262/SX1268 支持扩频因子 SF5,SF6,SF7,SF8,SF9,SF10,SF11,SF12;
SX1262/SX1268 可设置的扩频因子与接收带宽
LoRa@ Rx/Tx,BW = 7.8 - 500 kHz, SF5 TO SF12,BR=0.018 - 62.5 Kb/S
(2)LLCC68 支持扩频因子 SF5,SF6,SF7,SF8,SF9,SF10,SF11;
LLCC68 可设置的扩频因子与接收带宽
LoRa@ Rx/Tx,BW = 125 - 250 - 500 kHz, LoRa@,SF=5-6-7-8-9 for BW=125kHz, LoRa@, SF=5-6-7-8-9-10 for BW =250 kHz, LoRa@,SF=5-6-7-8-9-10-11 for BW=500 kHz.
2. 硬件介绍
Ra-01S-P管脚示意图:
16.png


Ra-01SC-P管脚示意图:
17.png

管脚定义:
18.png


SX1262/LLCC68 的通用 IO 引脚在 LoRa™模式下均可用。它们的映射关系取决于 RegDioMapping1和 RegDioMapping2 这两个寄存器的配置。
19.png

原理图
20.png


2.1 应用知道电路
1)特殊pin脚说明
· 关于 CPS 脚
CPS 为模组内置 PA 芯片的 TX 直通控制脚,内部上拉 10K 电阻(即默认发射模式时 R F
处于 PA 放大输出模式),模组处于发射模式时:
√ 该 pin 脚为高电平,模组的 R F 处经 PA 放大输出;
√ 该 pin 脚为低电平,模组的 R F 不经 PA 放大直接输出;
√ 接收状态下该脚逻辑无效,低功耗时需置为低电平;
· 关于 RF_EN 脚
RF_EN 为模组内置 PA 芯片的使能脚,该 pin 脚为高电平时,模组的 RF 处于正常收发状态;该 pin 脚为低电平时,模组的 R F 功能被关闭,此时可以降低模组的功耗。
21.png

模组默认 BOM,CPS 与 RF_EN 内部上拉 10K 电阻(即默认处于正常放大收发状态)。如果需要低功耗的工作场景,请用外部的 MCU 控制此 pin 脚为低电平状态。低电平时,该 pin 脚默认的上拉电阻,可能会有漏电流。如不需要内置的上拉电阻,请联系安信可修改 BOM。
综上,模组有两种 BOM 配置
配置 1.CPS 与 RF_EN 内置上拉电阻 10K(默认 BOM 配置)
配置 2.CPS 与 RF_EN 内置上拉电阻不贴件,需要外围 MCU 的 IO 口控制
2)典型电路
22.png

建议外部 MCU 的 IO 口控制模组的 CPS 与 RF_EN,实现低功耗的应用场景。
3)其他说明
与主控 MCU 的通信接口,除了 SPI 接口外,还要把 BUSY/DIO1 连接到主控 MCU
的 IO 口。
23.png

天线焊接在主控板上,建议在天线接口处预留派型匹配电路。
2.2 推荐PCB封装尺寸
24.png


2.3 天线的安装
Ra-01SC-P 需要外接天线使用,模块上有半孔焊盘可以引到主板上;
为了天线能达到最优的效果,天线装配的位置要远离金属件;
天线安装结构对模块性能有较大影响,务必保证天线外露,最好垂直向上。当模块安装于机壳内部时,可使用优质的天线延长线,将天线延伸至机壳外部;
天线切不可安装于金属壳内部,将导致传输距离极大削弱;
2.4 供电
推荐 3.3V 电压,峰值 1A 以上电流;
如使用 DC-DC 建议纹波控制在 100mV 以内;
DC-DC 供电电路建议预留动态响应电容的位置,可以在负载变化较大时,优化输出纹波;
3.3V 电源接口建议增加 ESD 器件;
在针对模块设计供电电路时,供电电流推荐保留 30%以上余量,有整机利于长期稳定地工作;
请注意电源正负极的正确连接,如反接可能会导致模块永久性损坏;
DC-DC降压电路:
25.png


2.5 GPIO电平转换
模组外围引出了一些 IO 口,如需使用建议在 IO 口上串联 10-100 欧姆的电阻。这样可以抑制过冲,使两边电平更平稳。对 EMI 和
ESD 都有帮助;
特殊 IO 口的上下拉,需参考规格书的使用说明,此处会影响到模组的启动配置;
模组的 IO 口是 3.3V,如果主控与模组的 IO 口电平不匹配,需要增加电平转换电路;
如果 IO 口直连到外围接口,或者排针等端子,建议在 IO 口走线靠近端子处预留 ESD器件;
26.png

二、常见问题
1. 影响传输距离因素
当存在直线通信障碍时,通信距离会相应的衰减;
温度、湿度、同频干扰,会导致通信丢包率提高;
地面吸收、反射无线电波,靠近地面测试效果较差;
海水具有极强的吸收无线电波能力,故海边测试效果差;
天线附近有金属物体,或放置于金属壳内,信号衰减会非常严重;
功率寄存器设置错误、空中速率设置过高(空中速率越高,距离越近);
室温下电源低压低于推荐值,电压越低发功率越小;
使用天线与模块匹配程度较差或天线本身品质问题;
2. 模块使用注意事项
检查供电电源,确保在推荐供电电压之间,如超过最大值会造成模块永久性损坏;
检查电源稳定性,电压不能大幅频繁波动;
确保安装使用过程防静电操作,高频器件静电敏感性;
确保安装使用过程湿度不宜过高,部分元件为湿度敏感器件;
如果没有特殊需求不建议在过高、过低温度下使用;
3. 对模块造成干扰的因素
附近有同频信号干扰,远离干扰源或者修改频率、信道避开干扰;
SPI 上时钟波形不标准,检查 SPI 线上是否有干扰,SPI 总线走线不宜过长;
电源不理想也可能造成乱码,务必保证电源的可靠性;
延长线、馈线品质差或太长,也会造成误码率偏高;
三、使用介绍
1. 准备
准备Ra-01SC-P模组或Ra-01S-P模组两块;
n根杜邦线;
两个USB转TTL工具;
Ra-01SCH-P Demo;
ST-Link烧录工具;
STM32F103C8T6开发板*2;
USB转TTL工具与STM32开发板接线如下图所示:
0.png
27.png
烧录接线如下图所示:
28.png
29.png
Ra-01S/SC-P模组与STM32开发板接线如下图所示:
30.png
提示:若需要更大发射功率,需要使用5V给PA供电,可给予VCCPA引脚5V电压;(模组默认使用内部3.3V给PA供电)
接线如下图所示:
31.png
2. 烧录程序
1)烧录接收程序
main函数如下图所示:
32.png

然后将ST-Link与STM32开发板链接编译烧录即可;
2)烧录发送程序
33.png

然后将ST-Link与STM32开发板链接编译烧录即可;
四、展示
1. 串口调试助手通信log信息
34.png

注意:干扰只影响接收端
用心做好保姆工作
回复

使用道具 举报

bzhou830 | 2024-10-25 15:52:19 | 显示全部楼层
穿墙距离能多少呀
选择去发光,而不是被照亮
回复 支持 反对

使用道具 举报

djy876 | 2024-10-25 16:46:00 | 显示全部楼层
穿墙距离能多少呀
回复 支持 反对

使用道具 举报

爱笑 | 2024-10-28 14:53:22 | 显示全部楼层
bzhou830 发表于 2024-10-25 15:52
穿墙距离能多少呀

空旷都四到五公里了,穿墙的话是小问题啦。
用心做好保姆工作
回复 支持 反对

使用道具 举报

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

本版积分规则