安信可2.4G LoRa模组Ra-05/Ra-05U模组驱动说明

描述

文章目录

一、简介

二、硬件准备

设备清单

接线说明

三、重要函数说明

四、调试

五、联系我们

简介

Ra-05、Ra-05U 是由安信可科技开发的 2.4GHz LoRa射频收发模组,该模组搭载Semtech 公司的 SX1281 射频芯片作为核心处理器,支持多种调制方式如LoRa、FLRC、GFSK 并可兼容蓝牙协议。该模块是纯射频收发模块,需要使用MCU 驱动或使用专用的SPI调试工具。

Ra-05/Ra-05U亮点概括:

●支持免许可 ISM 2.4GHz 频段。

●接收灵敏度LoRa 模式可达-132dBm(根据芯片手册数据)。

●支持多种调制模式(GFSK Mode ,FLRC Mode,LoRa Mode,FSK调制)。

●速率可调,FLRC 调制方式下最高可达 1.3Mbps。

●支持 1.8~3.6VDC 宽电压供电。

●Ra-05U天线接口采用 IPEX 座子,支持多种外接天线;Ra-05采用板载天线兼容IPEX座子。

01、硬件准备

设备清单

安信可

接线说明

安信可

02、重要函数说明

整个工程主要由两个部分组成:接收配置与处理以及发送配置与处理。

RF部分的配置

ModulationParams_t modulationParams;
modulationParams.PacketType = PACKET_TYPE_LORA;
modulationParams.Params.LoRa.SpreadingFactor = LORA_SF10;
modulationParams.Params.LoRa.Bandwidth = LORA_BW_1600;
modulationParams.Params.LoRa.CodingRate = LORA_CR_4_7;
packetParams.PacketType = PACKET_TYPE_LORA;
packetParams.Params.LoRa.PreambleLength = 20;
packetParams.Params.LoRa.HeaderType = LORA_PACKET_VARIABLE_LENGTH;
packetParams.Params.LoRa.PayloadLength = BUFFER_SIZE;
packetParams.Params.LoRa.CrcMode = LORA_CRC_ON;
packetParams.Params.LoRa.InvertIQ = LORA_IQ_NORMAL;

Radio.SetStandby( STDBY_XOSC );
Radio.WriteRegister(0x093C,0x1);

switch(modulationParams.Params.LoRa.SpreadingFactor){
case LORA_SF5:
case LORA_SF6:
Radio.WriteRegister(0x0925,0x1E);
break;
case LORA_SF7:
case LORA_SF8:
Radio.WriteRegister(0x0925,0x37);
break;
case LORA_SF9:
case LORA_SF10:
case LORA_SF11:
case LORA_SF12:
Radio.WriteRegister(0x0925,0x32);
break;
}

Radio.SetPacketType( modulationParams.PacketType );
Radio.SetModulationParams( &modulationParams );
Radio.SetPacketParams( &packetParams );
Radio.SetRfFrequency( RF_FREQUENCY );
Radio.SetBufferBaseAddresses( 0x00, 0x00 );
Radio.SetTxParams( TX_OUTPUT_POWER, RADIO_RAMP_02_US );

射频部分主要配置参数有:

●PacketType :配置射频模式,[PACKET_TYPE_LORA:LoRa调制方式]

●Bandwidth :带宽配置;

LoRa: [LORA_BW_1600: 1600 kHz, LORA_BW_0800: 800kHz, LORA_BW_0400: 400kHz, LORA_BW_0200: 200 kHz]

●SpreadingFactor:扩频因子;

LoRa: [LORA_SF5 ~ LORA_SF12]

●CodingRate:编码率

LoRa:[LORA_CR_4_5: 4/5, LORA_CR_4_6: 4/6, LORA_CR_4_7: 4/7, LORA_CR_4_8: 4/8]

●PreambleLength:设置前导码

LoRa:范围 0~255

●HeaderType:头部字类型

LORA_PACKET_VARIABLE_LENGTH:数据带头部字

LORA_PACKET_FIXED_LENGTH:数据不带头部字

●PayloadLength:有效数据长度

●CrcMode:是否开启CRC校验(LORA_CRC_OFF:关闭;LORA_CRC_ON:开启)

●iqInverted:是否开启IQ转换功能(LORA_IQ_INVERTED:关闭;LORA_IQ_NORMAL:开启)

●SetRfFrequency:配置频点(范围是:2400~2500)

●SetBufferBaseAddresses:设置发送与接收的基地址

●SetTxParams:配置发送参数

配置数据发送

Radio.SetDioIrqParams(TxIrqMask,IRQ_RADIO_NONE,IRQ_RADIO_NONE,IRQ_RADIO_NONE);
Radio.SendPayload(Buffer, BufferSize, (TickTime_t){RX_TIMEOUT_TICK_SIZE, TX_TIMEOUT_VALUE});

●TxIrqMask:开启发送中断掩码

●Buffer:要发送的有效数据

●BufferSize:要发送的有效数据的长度

配置数据接收

Radio.SetDioIrqParams(RxIrqMask,IRQ_RADIO_NONE,IRQ_RADIO_NONE,IRQ_RADIO_NONE);
Radio.SetRx( ( TickTime_t ) { RX_TIMEOUT_TICK_SIZE, 0xFFFF } );

●RxIrqMask:开启接收中断掩码

●0xFFFF :配置连续接收模式

回调函数部分的设置

static void OnTxDone( void );
static void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
static void OnTxTimeout( void );
static void OnRxTimeout( void );
static void OnRxError( void );

●发射完成中断 “OnTxDone” ,该回调函数主要用于处理数据发送完成以后需要处理的逻辑内容。

●接收完成中断 “OnRxDone” ,该回调函数主要用于对接收到的数据进行处理。

●发射超时中断 “OnTxTimeout” ,该回调函数主要用于处理数据发送超时后的逻辑内容。

●接收完成中断 “OnRxTimeout” ,该回调函数主要用于处理数据接收超时后的逻辑内容。

●接收数据校验出错中断 “OnRxError” ,该回调函数主要用于处理接收到的数据校验失败后的逻辑内容。

03、调试

套件1,在文档 “main.c” 中设置SEND_MODE为1,则模组工作在发送状态,编译发送固件。

套件2,在文档 “main.c” 中设置SEND_MODE为0,则模组工作在接收状态,编译接收固件。

完成配置以后,一套设备烧录接收固件,另一套设备烧录发送固件,最后复位启动设备,并通过串口查看数据收发是否成功。

效果如下:

安信可

04、联系我们

以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发

官方官网:

蓝牙模块_无线模块_物联网模块_LoRa|WiFi模块【安信可官网】​www.ai-thinker.com

开发资料:

资源分类 | 安信可科技​docs.ai-thinker.com/

官方论坛:

博安通信息管理系统​bbs.ai-thinker.com

技术支持:support@aithinker.com

【2.4G LoRa】Ra-05/Ra-05U模组驱动说明​blog.csdn.net/Boantong_/article/details/144538009?spm=1001.2014.3001.5501

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分