本篇主要介紹SX1278轉(zhuǎn)到LLCC68和SX1268/SX1262的軟件細(xì)節(jié)教程,文中涉及到的代碼,大家可去原文查看https://aithinker.blog.csdn.net/article/details/134864572?spm=1001.2014.3001.5502
首先和大家介紹一下這幾款芯片的區(qū)別特點(diǎn):
SX127x類:包含安信可Ra-01、Ra-01H、Ra-02,分別對應(yīng)兩個版本芯片SX1278和SX1276,代碼驅(qū)動通用,只是頻率參數(shù)有區(qū)別。
SX126x和LLCC68:包含安信可Ra-01S,Ra-01SC,Ra-01SCH,作為一個類別,分別對應(yīng)芯片SX1268和LLCC68,他們代碼驅(qū)動通用,參數(shù)值配置有一定區(qū)別。
綜上所述,只要準(zhǔn)備兩份驅(qū)動代碼就能將上述模組完全驅(qū)動起來,今天的目的是實(shí)現(xiàn)安信可127x和126x之間的通信。其中會涉及一些代碼邏輯框架的講解。
代碼資源獲取
Ra-01驅(qū)動代碼:鏈接
Ra-01S、Ra-01SC:鏈接
127x芯片手冊:鏈接
126x芯片手冊:鏈接
LLCC68芯片手冊:鏈接
(具體下載鏈接請點(diǎn)擊原文查看)
SX127x系列驅(qū)動詳解
安信可封裝到站點(diǎn)的代碼使用的驅(qū)動MCU是STM32F103,只要使用同類MCU就可以完成直接驅(qū)動,代碼中附詳細(xì)接線文檔,下面使用127x代碼來介紹整個代碼的流程框架。

發(fā)射機(jī)的配置參數(shù)說明(SX127x)
1、RadioModems_t modem:無線電模塊類型。
2、int8_t power:發(fā)射功率。
3、uint32_t fdev:頻率偏移。
4、uint32_t bandwidth:帶寬。
5、uint32_t datarate:數(shù)據(jù)速率。
6、uint8_t coderate:編碼率。
7、uint16_t preambleLen:前導(dǎo)碼長度。
8、bool fixLen:是否固定長度。
9、bool crcOn:是否開啟CRC校驗(yàn)。
10、bool FreqHopOn:是否開啟頻率跳變。
11、uint8_t HopPeriod:頻率跳變周期。
12、bool iqInverted:是否反轉(zhuǎn)IQ信號。
13、uint32_t timeout:超時時間。

備注:這部分是發(fā)射機(jī)的參數(shù)配置,源碼.h文件內(nèi)也有詳細(xì)說明。
接收機(jī)配置參數(shù)說明(SX127x)
1、RadioModems_t modem:無線電模塊類型。
2、uint32_t bandwidth:接收帶寬。
3、uint32_t datarate:數(shù)據(jù)速率。
4、uint8_t coderate:編碼率。
5、uint32_t bandwidthAfc:AFC帶寬。
6、uint16_t preambleLen:前導(dǎo)碼長度。
7、uint16_t symbTimeout:符號超時。
8、bool fixLen:是否固定長度。
9、uint8_t payloadLen:有效載荷長度。
10、bool crcOn:是否啟用CRC。
11、bool FreqHopOn:是否啟用頻率跳變。
12、uint8_t HopPeriod:頻率跳變周期。
13、bool iqInverted:是否反轉(zhuǎn)IQ。
14、bool rxContinuous:是否持續(xù)接收。

LoRa初始化配置(SX127x)
LoRa的初始化配置也是重要的一部分

SPI初始化配置(SX127x)
LoRa是SPI驅(qū)動的,所以在代碼移植配置時一定要確保SPI的配置正常,時序和訪問正常才能能正常使用,代碼中用的是STM32的SPI1。

LoRa參數(shù)配置(SX127x)
這里的參數(shù)配置對應(yīng)”接收機(jī)“和”發(fā)射機(jī)“的參數(shù),共用一個參數(shù)才能夠互相通信。

SX126x和LLCC68驅(qū)動詳解
下面是126x系列的代碼驅(qū)動包,驅(qū)動代碼和LLCC68系列是通用的。

發(fā)射機(jī)的配置參數(shù)說明(SX126x&LLCC68)
1、RadioModems_t modem:無線電模塊類型。
2、int8_t power:發(fā)射功率。
3、uint32_t fdev:頻率偏移。
4、uint32_t bandwidth:帶寬。
5、uint32_t datarate:數(shù)據(jù)速率。
6、uint8_t coderate:編碼率。
7、uint16_t preambleLen:前導(dǎo)碼長度。
8、bool fixLen:是否固定長度。
9、bool crcOn:是否開啟CRC校驗(yàn)。
10、bool freqHopOn:是否開啟Period`:頻率跳變周期。
11、bool iqInverted:是否反轉(zhuǎn)IQ信號。
12、uint32_t timeout:超時時間。

接收機(jī)配置參數(shù)說明(SX126x&LLCC68)
1、RadioModems_t modem:無線電模塊類型。
2、uint32_t bandwidth:接收帶寬。
3、uint32_t datarate:數(shù)據(jù)速率。
4、uint8_t coderate:編碼率。
5、uint32_t bandwidthAfc:AFC帶寬。
6、uint16_t preambleLen:前導(dǎo)碼長度。
7、uint16_t symbTimeout:符號超時。
8、bool fixLen:是否固定長度。
9、uint8_t payloadLen:有效載荷長度。
10、bool crcOn:是否開啟CRC校驗(yàn)。
11、bool freqHopOn:是否開啟頻率跳變。
12、uint8_t hopPeriod:頻率跳變周期。
13、bool iqInverted:是否反轉(zhuǎn)IQ。
14、bool rxContinuous:是否持續(xù)接收。

LoRa初始化配置(SX126x&LLCC68)
SX126X的代碼,分為了兩個配置文件:
接收配置文件:sx126x_example_recive.c
發(fā)送配置文件:sx126x_example_recive.h

LoRa參數(shù)配置(SX126x&LLCC68)
參數(shù)配置區(qū)域配置接收和發(fā)送的頻率、帶寬功率等,還配置了SPI的引腳定義。

SX127x切換SX126x或者LLCC68注意事項(xiàng)
對于前期使用SX127x的用戶現(xiàn)在換成SX126x或者LLCC68,需要注意以下幾點(diǎn):
1、代碼驅(qū)動:目前兩個系列的代碼驅(qū)動是不一樣的,不管是原廠的封裝接口或者是寄存器都是不一樣的,切換意味著必須換代碼驅(qū)動。
2、兩個驅(qū)動代碼的驅(qū)動邏輯和參數(shù)設(shè)置流程大同小異,特別是接收機(jī)發(fā)送機(jī)和參數(shù)區(qū)域,只是定義名和寄存器值名稱有區(qū)別,所以閱讀代碼切換時就會容易很多。
3、封裝腳位:SX127x系列切換SX126x或者LLCC68系列是從芯片上定義,但是安信可的驅(qū)動是基于模塊來開發(fā)的,兩個系列模組的腳位也有一定區(qū)別,不是SPI接口有差異,都是ST的SPI封裝庫,直接添加調(diào)用即可。
4、BUSY腳:差異在于SX126x或者LLCC68系列上有一個BUSY腳位,用于提示主控當(dāng)前芯片的工作狀態(tài),此腳位配合中斷進(jìn)程,可以簡化代碼編輯的復(fù)雜程度,提高運(yùn)行效率。
SPI通信接口測試
以下代碼用于測試當(dāng)前主控STM32與LoRa的SPI通信情況,通過讀寫某個寄存器的返回值來判斷當(dāng)前SPI驅(qū)動是否正常工作,同理SX126x和LL68模組也可以用同樣方法測試。

1、讀寫SX1278寄存器:

2、在主函數(shù)中調(diào)用ReadWriteSX1278Register()函數(shù):

本篇文章已經(jīng)結(jié)束,以上就是關(guān)于SX1278轉(zhuǎn)到LLCC68和SX1268/SX1262的軟件細(xì)節(jié)教程,主要使用demo進(jìn)行分解測試,demo代碼中含有大量注釋,并且使用的是STM32F103系列單片機(jī),便于上手操作,有興趣的朋友可以用于參考
審核編輯 黃宇
-
模組
+關(guān)注
關(guān)注
6文章
1556瀏覽量
30758 -
安信可
+關(guān)注
關(guān)注
0文章
168瀏覽量
4134 -
sx1278
+關(guān)注
關(guān)注
1文章
14瀏覽量
11716 -
SX1262
+關(guān)注
關(guān)注
1文章
4瀏覽量
1883
發(fā)布評論請先 登錄
相關(guān)推薦
SX1278轉(zhuǎn)到LLCC68和SX1268/SX1262的軟件細(xì)節(jié)教程

LLCC68簡介
關(guān)于SX1262IMLTRT、SX1261、SX1268選型指南分析對比
關(guān)于SX1262IMLTRT、SX1261、SX1268選型指南分析對比
ASR6501是否能取代SX1278、SX1276、SX1262
關(guān)于SX1262IMLTRT、SX1261、SX1268選型指南分析對比
關(guān)于SX1262IMLTRT、SX1261、SX1268選型指南分析對比
關(guān)于SX1262IMLTRT、SX1261、SX1268選型指南分析對比
無線收發(fā)器芯片SX1268與SX1278、SX1276的區(qū)別是什么?
分享一款安信可新出的lora模塊“Ra-01S”
Sub-1GHz LoRa射頻收發(fā)器-LLCC68
強(qiáng)續(xù)航能力的Ra-01SC系列模組驅(qū)動測試方式

LLCC68與SX1278 LoRa模塊的優(yōu)勢對比

評論