文章目录
一、简介
二、硬件准备
设备清单
接线说明
三、重要函数说明
四、调试
五、联系我们
简介
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
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !