专栏名称: 安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
目录
相关文章推荐
鱼羊史记  ·  男人千万不要去碰一个已婚的女人 ·  2 天前  
历史地理研究资讯  ·  历史地理学2025年热点选题(DeepSeek版) ·  3 天前  
宁波日报  ·  今天22点10分,迎来今年首个…… ·  3 天前  
宁波日报  ·  今天22点10分,迎来今年首个…… ·  3 天前  
51好读  ›  专栏  ›  安信可科技

Ra-05/Ra-05U模组驱动说明

安信可科技  · 公众号  ·  · 2025-01-20 18:10

正文


Thinker开发堂

"让每一位thinker更进一步”



☜查看更多

安信可官方教程


文章目录


一、简介

二、硬件准备

设备清单

接线说明

三、重要函数说明

四、调试

五、联系我们





简介

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

硬件准备




设备清单

硬件

数量

Ra-05/Ra-05U 模组

2个

杜邦线

若干

USB转TTL模块

2个

STM32F103C8T6开发板

2个

MicroUSB线(安卓数据线)

2根





接线说明

Ra-05/Ra-05U 模组

STM32F103C8T6主控

NSS

PB7

MISO

PA6

MOSI

PA7

SCK

PA5

BUSY

PB5

DIO1

PA1

NRESET

PB15

STM32F103C8T6主控

USB转TTL模块

GND

GND

PA_9

Rx




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,则模组工作在接收状态,编译接收固件。


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


效果如下:





请到「今天看啥」查看全文