文章目錄
一、簡介
二、硬件準備
設備清單
接線說明
三、重要函數說明
四、調試
五、聯系我們
簡介
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。
●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
審核編輯 黃宇
-
LoRa
+關注
關注
349文章
1704瀏覽量
232552 -
安信可
+關注
關注
0文章
163瀏覽量
4057
發布評論請先 登錄
相關推薦
LoRa-Kit開發板怎么使用? 安信可圖文詳解LoRa-Kit開發板使用步驟
![<b class='flag-5'>LoRa</b>-Kit開發板怎么使用? <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>圖文詳解<b class='flag-5'>LoRa</b>-Kit開發板使用步驟](https://file1.elecfans.com/web2/M00/E4/36/wKgZomY-6-aAcj-_AAB-c8xbEPk807.png)
評論