Ra-01SCH-P模组详细介绍+使用教程

[复制链接]
查看669 | 回复3 | 2024-8-8 16:06:21 | 显示全部楼层 |阅读模式
介绍
· LoRa介绍
LoRa是semtech公司开发的一种低功耗局域网无线标准,其名称“LoRa”是远距离无线电(Long Range Radio),它最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远,实现低功耗和远距离的统一,它在同样的功耗下传统的无线射频通信距离扩大3-5倍。
· 产品概述
Ra-01SCH-P 是由深圳市安信可科技有限公司设计开发的 LoRa 系列模组。该模组用于超长距离扩频通信,其射频芯片 LLCC68+主要采用 LoRa™远程调制解调器,用于超长距离扩频通信,抗干扰性强,能够最大限度降低电流消耗,借助 SEMTECH 的 LoRa™专利调制技术,在此技术基础上模组内置了功率放大器(PA)与低噪声放大器(LNA),具有超过-137dBm 的高灵敏度,+29dBm 的发射功率,传输距离远,可靠性高。同时,相传统调制技术,LoRa™调制技术在抗阻塞和选择方面也具有明显优势,解决了传统设计方案无法同时兼顾距离、抗干扰和功耗的问题。
· 应用场景
可广泛应用于自动抄表,家庭楼宇自动化,安防系统,远程灌溉系统等。
1.png

· 特性
· 支持FSK、GFSK、LoRa®调制方式;
· 支持频段 803MHz~930MHz;
· 最大发射功率可选配(配置方法详见下文设计指导)
- ①默认配置,内部 PA 采用 3.3V 供电电压;此状态 Tx Power 最大可达+29dBm,工
作电流为 750mA;
- ②可选配置,内部 PA 采用 5V 供电电压;此状态 Tx Power 最大可达+31dBm,工作
电流为 1A;
· 高灵敏度:低至-137dBm@SF10 125KHz;
· 极小的尺寸 17163.2(±0.2)MM、双列邮票孔贴片封装;
· 支持扩频因子 SF5/SF6/SF7/SF8/SF9/SF10/SF11;
· 接收状态下具有低功耗特性,接收电流最低为 16mA;
· 模块采用 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
main函数如下图所示:

5.png
其中使用函数ExampleLLCC68ReciveDemo()和函数ExampleLLCC68SendDemo()用来设置Ra-01SCH-P模组选择使用该模组进行接收还是发送;

1) ExampleLLCC68ReciveDemo()函数

ExampleLLCC68ReciveDemo()函数内容如下图所示:

6.png
其中注册了五个回调函数:

LLCC68OnTxDone():当数据发送完毕执行的回调函数;

LLCC68OnRxDone():当接收数据完毕执行的回调函数;

LLCC68OnTxTimeout():发送数据超时后执行的回调函数;

LLCC68OnRxTimeout():接收数据超时后执行的回调函数;

LLCC68OnRxError():接收数据错误后执行的回调函数;

Radio.Init( &LLCC68RadioEvents )函数注册了以上五个回调函数,如下图所示为此函数实现;

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

8.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-01SCH-P模组的TX模式参数,函数参数:LoRa模式、发射功率、FSK模式使用参数(LoRa模式设置为0)、带宽、纠错编码率、前导码长度、固定长度数据包(默认false)、CRC校验、0表示关闭调频、调频之间的符号数(关闭调频此参数无意义);此函数实现如下图所示:


9.png
OCP_Value = Radio.Read(REG_OCP)读取当前过流保护设置的最大值;

Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,

LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,

LORA_LLCC68_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.Rx( 0 )进入接收模式,函数实现如下图所示:

10.png
Radio.IrqProcess( )判断是否有事件发生的处理函数,其中可判断事件:TX_DONE、RX_DONE、CRC_ERROR、CAD_DONE、RX_TX_TIMEOUT、PREAMBLE_DETECTED、SYNCWORD_VALID、HEADER_VALID、HEADER_ERROR。函数实现如下图所示:

11.png
delay_ms(1)延迟1ms判断一次是否有事件发生;

2) ExampleLLCC68SendDemo()函数

ExampleLLCC68SendDemo()函数是定时发送函数,函数实现如下图所示:

12.png
与ExampleLLCC68ReciveDemo()函数的区别在while()循环内,Get_SysTick()用来获取当前程序运行的时间(ms),

  1. <div style="text-align: left;">  if(0==u32_count%1000){</div><div style="text-align: left;">                        printf("systick=%d ,send u32 data:%d\r\n", Get_SysTick(),u32_count);</div><div style="text-align: left;">                        if(0==u32_count%2000){</div><div style="text-align: left;">                                Radio.Send((uint8_t *)&u32_count,4);</div><div style="text-align: left;">                        }else</div><div style="text-align: left;">                                Radio.Send((uint8_t *)sendData,(strlen(sendData)+1));</div><div style="text-align: left;">                }</div><div style="text-align: left;">                u32_count++;</div><div style="text-align: left;">                delay_ms(1);</div>
复制代码
上述代码为每个2s发送一次数据,2s发送一次计数值,发送函数实现如下图所示

13.png
2. 硬件介绍

14.png

15.png
LLCC68+的通用 IO 引脚在 LoRa™模式下均可用。它们的映射关系取决于

RegDioMapping1 和 RegDioMapping2 这两个寄存器的配置。

IO口功能映射表如下图所示:

16.png

1) 特殊引脚说明

· 关于 VCCPA 脚

模组内部的 PA 的支持多种供电电压,采用 3.3V 供电,模组的最大发射功率可达+29dBm;采用 5V 供电,模组的最大发射功率可达+31dBm;

· 模组默认的 BOM 配置,PA 使用模组的 3V3 pin 脚供电,把模组的 VCCPA pin 脚悬空处理即可;

· 如果 PA 使用 5V 供电,请联系安信可修改模组 BOM,并给模组的 VCCPA pin 脚提供 5V 供电;

· 关于 RF_EN 脚

RF_EN 为模组内置 PA 芯片的使能脚,该 pin 脚为高电平时,模组的 RF 处于正常收发状态;该 pin 脚为低电平时,模组的 RF 功能被关闭,此时可以降低模组的功耗。

模组默认 BOM,内部上拉 10K 电阻(即默认处于正常收发状态)。如果需要低功耗的工作场景,请用外部的 MCU 控制此 pin 脚为低电平状态。低电平时,该 pin 脚默认的上拉电阻,可能会有漏电流。如不需要内置的上拉电阻,请联系安信可修改 BOM。

17.png
综上,模组有四种 BOM 配置

配置 1.VCCPA 悬空,RF_EN 内置上拉电阻 1M(默认 BOM 配置)

配置 2.VCCPA 悬空,RF_EN 无内置上拉电阻

配置 3.VCCPA 连接,RF_EN 内置上拉电阻 1M

配置 4.VCCPA 连接,RF_EN 无内置上拉电阻 1M

2) 典型应用电路

18.png
· 模组默认 VCCPA 悬空,如需 5V 供电达到更高的发射功率,请联系安信可修改 BOM;

· 建议外部 MCU 的 IO 口控制模组的 RF_EN,实现低功耗的应用场景;

3) 其他说明

· 与主控 MCU 的通信接口,除了 SPI 接口外,还要把 BUSY/DIO1 连接到主控 MCU的 IO 口;

19.png

· 天线焊接在主控板上,建议在天线接口处预留派型匹配电路;

3. 天线的安装

· Ra-01SCH-P 需要外接天线使用,模块上有半孔焊盘可以引到主板上;

· 为了天线能达到最优的效果,天线装配的位置要远离金属件;

· 天线安装结构对模块性能有较大影响,务必保证天线外露,最好垂直向上。当模块安装于机壳内部时,可使用优质的天线延长线,将天线延伸至机壳外部;

· 天线切不可安装于金属壳内部,将导致传输距离极大削弱;

4. 供电

· 推荐 3.3V 电压,峰值 1A 以上电流;

· 如使用 DC-DC 建议纹波控制在 100mV 以内;

· DC-DC 供电电路建议预留动态响应电容的位置,可以在负载变化较大时,优化输出纹波;

· 3.3V 电源接口建议增加 ESD 器件;

· 在针对模块设计供电电路时,供电电流推荐保留 30%以上余量,有整机利于长期稳定地工作;

· 请注意电源正负极的正确连接,如反接可能会导致模块永久性损坏;

20.png

5. 软件注意

· FEM 芯片最大输入功率不能超过+15dBm,否则会有烧坏 FEM 芯片。用户需严格配置 LLCC68 的输出功率,推荐 0dBm-3dBm;

· 此模块为 LLCC68+外围电路,用户可以完全按照 LLCC68 芯片手册进行操作;

· DIO1/DIO2 是一般通用的 IO 口,可以配置成多种功能;

· 其中射频开关 TX/RX 的控制,可以由外部 MCU 控制;也可以由外部 MCU 和 LLCC68的 DIO2 联合控制;

· LLCC68 与 SX1262/SX1268 的差异:

- 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;

- 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;

三、使用介绍

1. 准备

· 两块Ra-01SCH-P模组;

· n根杜邦线;

· 两个USB转TTL工具;

· Ra-01SCH-P Demo;

· ST-Link烧录工具;

· STM32F103C8T6开发板*2;

USB转TTL工具与STM32开发板接线如下图所示:


21.png
22.png

烧录接线如下图所示:


23.png

24.png
Ra-01SCH-P模组与STM32开发板接线如下图所示:

25.png
提示:若需要更大发射功率,需要使用5V给PA供电,可给予VCCPA引脚5V电压;(模组默认使用内部3.3V给PA供电)

接线如下图所示:

26.png
2. 烧录程序

1) 烧录接收程序

main函数如下图所示:

27.png
然后将ST-Link与STM32开发板链接编译烧录即可;

2) 烧录发送程序

main函数如下图所示:

28.png
然后将ST-Link与STM32开发板链接编译烧录即可;

四、展示

1. 串口调试助手 通信log信息

29.png

左边为发送模式的模组,右边为接收模式的模组;

2. 运行模组通信灯光指示

视频:灯光演示

用心做好保姆工作
回复

使用道具 举报

iiv | 2024-8-8 21:02:03 | 显示全部楼层
园长好棒
回复

使用道具 举报

bzhou830 | 2024-8-9 08:48:16 | 显示全部楼层
园长好棒
选择去发光,而不是被照亮
回复

使用道具 举报

WT_0213 | 2024-8-9 10:31:23 | 显示全部楼层
园长好棒
回复

使用道具 举报

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

本版积分规则