文章目錄
一、簡(jiǎn)介
二、硬件準(zhǔn)備
設(shè)備清單
接線說(shuō)明
三、重要函數(shù)說(shuō)明
四、調(diào)試
五、聯(lián)系我們
簡(jiǎn)介
Ra-05、Ra-05U 是由安信可科技開(kāi)發(fā)的 2.4GHz LoRa射頻收發(fā)模組,該模組搭載Semtech 公司的 SX1281 射頻芯片作為核心處理器,支持多種調(diào)制方式如LoRa、FLRC、GFSK 并可兼容藍(lán)牙協(xié)議。該模塊是純射頻收發(fā)模塊,需要使用MCU 驅(qū)動(dòng)或使用專用的SPI調(diào)試工具。
Ra-05/Ra-05U亮點(diǎn)概括:
●支持免許可 ISM 2.4GHz 頻段。
●接收靈敏度LoRa 模式可達(dá)-132dBm(根據(jù)芯片手冊(cè)數(shù)據(jù))。
●支持多種調(diào)制模式(GFSK Mode ,F(xiàn)LRC Mode,LoRa Mode,F(xiàn)SK調(diào)制)。
●速率可調(diào),F(xiàn)LRC 調(diào)制方式下最高可達(dá) 1.3Mbps。
●Ra-05U天線接口采用 IPEX 座子,支持多種外接天線;Ra-05采用板載天線兼容IPEX座子。
01
硬件準(zhǔn)備
設(shè)備清單
硬件 | 數(shù)量 |
Ra-05/Ra-05U 模組 | 2個(gè) |
杜邦線 | 若干 |
USB轉(zhuǎn)TTL模塊 | 2個(gè) |
STM32F103C8T6開(kāi)發(fā)板 | 2個(gè) |
MicroUSB線(安卓數(shù)據(jù)線) | 2根 |
接線說(shuō)明
Ra-05/Ra-05U 模組 | STM32F103C8T6主控 |
NSS | PB7 |
MISO | PA6 |
MOSI | PA7 |
SCK | PA5 |
BUSY | PB5 |
DIO1 | PA1 |
NRESET | PB15 |
STM32F103C8T6主控 | USB轉(zhuǎn)TTL模塊 |
GND | GND |
PA_9 | Rx |
02
重要函數(shù)說(shuō)明
整個(gè)工程主要由兩個(gè)部分組成:接收配置與處理以及發(fā)送配置與處理。
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 );
射頻部分主要配置參數(shù)有:
●PacketType :配置射頻模式,[PACKET_TYPE_LORA:LoRa調(diào)制方式]
●Bandwidth :帶寬配置;
LoRa: [LORA_BW_1600: 1600 kHz, LORA_BW_0800: 800kHz, LORA_BW_0400: 400kHz, LORA_BW_0200: 200 kHz]
●SpreadingFactor:擴(kuò)頻因子;
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:設(shè)置前導(dǎo)碼
LoRa:范圍 0~255
●HeaderType:頭部字類型
LORA_PACKET_VARIABLE_LENGTH:數(shù)據(jù)帶頭部字
LORA_PACKET_FIXED_LENGTH:數(shù)據(jù)不帶頭部字
●PayloadLength:有效數(shù)據(jù)長(zhǎng)度
●CrcMode:是否開(kāi)啟CRC校驗(yàn)(LORA_CRC_OFF:關(guān)閉;LORA_CRC_ON:開(kāi)啟)
●iqInverted:是否開(kāi)啟IQ轉(zhuǎn)換功能(LORA_IQ_INVERTED:關(guān)閉;LORA_IQ_NORMAL:開(kāi)啟)
●SetRfFrequency:配置頻點(diǎn)(范圍是:2400~2500)
●SetBufferBaseAddresses:設(shè)置發(fā)送與接收的基地址
●SetTxParams:配置發(fā)送參數(shù)
配置數(shù)據(jù)發(fā)送
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:開(kāi)啟發(fā)送中斷掩碼
●Buffer:要發(fā)送的有效數(shù)據(jù)
●BufferSize:要發(fā)送的有效數(shù)據(jù)的長(zhǎng)度
配置數(shù)據(jù)接收
Radio.SetDioIrqParams(RxIrqMask,IRQ_RADIO_NONE,IRQ_RADIO_NONE,IRQ_RADIO_NONE); Radio.SetRx( ( TickTime_t ) { RX_TIMEOUT_TICK_SIZE, 0xFFFF } );
●RxIrqMask:開(kāi)啟接收中斷掩碼
●0xFFFF :配置連續(xù)接收模式
回調(diào)函數(shù)部分的設(shè)置
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 );
●發(fā)射完成中斷 “OnTxDone” ,該回調(diào)函數(shù)主要用于處理數(shù)據(jù)發(fā)送完成以后需要處理的邏輯內(nèi)容。
●接收完成中斷 “OnRxDone” ,該回調(diào)函數(shù)主要用于對(duì)接收到的數(shù)據(jù)進(jìn)行處理。
●發(fā)射超時(shí)中斷 “OnTxTimeout” ,該回調(diào)函數(shù)主要用于處理數(shù)據(jù)發(fā)送超時(shí)后的邏輯內(nèi)容。
●接收完成中斷 “OnRxTimeout” ,該回調(diào)函數(shù)主要用于處理數(shù)據(jù)接收超時(shí)后的邏輯內(nèi)容。
●接收數(shù)據(jù)校驗(yàn)出錯(cuò)中斷 “OnRxError” ,該回調(diào)函數(shù)主要用于處理接收到的數(shù)據(jù)校驗(yàn)失敗后的邏輯內(nèi)容。
03
調(diào)試
套件1,在文檔 “main.c” 中設(shè)置SEND_MODE為1,則模組工作在發(fā)送狀態(tài),編譯發(fā)送固件。
套件2,在文檔 “main.c” 中設(shè)置SEND_MODE為0,則模組工作在接收狀態(tài),編譯接收固件。
完成配置以后,一套設(shè)備燒錄接收固件,另一套設(shè)備燒錄發(fā)送固件,最后復(fù)位啟動(dòng)設(shè)備,并通過(guò)串口查看數(shù)據(jù)收發(fā)是否成功。
效果如下:
04
聯(lián)系我們
以上就是本期分享的內(nèi)容,目的在于讓大家快速適應(yīng)新品方案的開(kāi)發(fā),更多資料可從我們官網(wǎng)上獲取。
官方官網(wǎng):https://www.ai-thinker.com
開(kāi)發(fā)資料:https://docs.ai-thinker.com/
官方論壇:http://bbs.ai-thinker.com
技術(shù)支持:support@aithinker.com
原貼地址:【2.4G LoRa】Ra-05/Ra-05U模組驅(qū)動(dòng)說(shuō)明
-
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1848瀏覽量
85464 -
模組
+關(guān)注
關(guān)注
6文章
1514瀏覽量
30516
原文標(biāo)題:Ra-05/Ra-05U模組驅(qū)動(dòng)說(shuō)明
文章出處:【微信號(hào):安信可科技,微信公眾號(hào):安信可科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論