關鍵詞:LoRa, CAD, Channel Activity Detection
目錄預覽
1、LoRa CAD 應用場景舉例
2、STM32WL LoRa CAD 原理和驅動
3、如何在示例工程 SubGHz_Phy_Per 中開啟 CAD
4、小結
01
LoRa CAD 應用場景舉例
在 STM32WL LoRa 某些應用中,尤其是電池供電的設備上,需要按需發送數據,如下發指令,讓 STM32WL LoRa 發送數據,或做相應的操作。為了降低功耗,STM32WL不能一直處于接收狀態,這樣功耗會很高。我們可以開啟 LoRa CAD(信道活動檢測)功能,STM32WL 通過開啟 CAD 功能,檢測前導碼的前 1/2/4/8/16 個碼元,當檢測到 LoRa(喚醒)信號后再開啟接收,否則系統進入低功耗,這樣會極大的降低系統的整體功耗。
02
STM32WL LoRa CAD 原理和驅動
LoRa 信號可以在低于噪聲強度的情況下被正確解調。所以,僅簡單通過 RSSI 確定信道是否被占用是行不通的,需要通過信道活動檢測 CAD 來檢測 LoRa 信號。
LoRa 包幀格式,如下圖,前導碼,可選報頭,有效數據負載。信道活動檢測 CAD 模式旨在以盡可能高的功耗效率檢測信道上的 LoRa 前導碼。
![wKgZomWKocuAaK7zAAC3Is1xhfE409.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocuAaK7zAAC3Is1xhfE409.jpg)
STM32WL LoRa CAD 檢測方法:
STM32WL LoRa 設備設置好頻率和擴頻因子,開啟CAD 模式,(注意:無論是否檢測到 LoRa 信號,都會產生CAD 檢測完成中斷 SUBGHZ_IT_CAD_DONE);當有匹配(相同的頻率和擴頻因子)的 LoRa 信號檢測到時,就會產生 CAD 檢測到中斷 SUBGHZ_IT_CAD_ACTIVITY_DETECTED,SUBGHZ_IT_CAD_DONE 也會產生,并且 SUBGHZ_IT_CAD_DONE和 SUBGHZ_IT_CAD_ACTIVITY_DETECTED 會同時產生。
所以,可通過在產生SUBGHZ_IT_CAD_DONE 中斷時是否也同時產生了SUBGHZ_IT_CAD_ACTIVITY_DETECTED 中斷來區別是否檢測到了 LoRa 信號,進而調用相應的回調函數,或做相應的處理。
DriversSTM32WLxx_HAL_DriverSrcstm32wlxx_hal_subghz.c 中HAL_SUBGHZ_IRQHandler
![wKgZomWKocuAZXxCAAEXdel5Jb0518.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocuAZXxCAAEXdel5Jb0518.jpg)
MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio_driver.c
![wKgZomWKocuASp99AABXrwrnN0g388.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocuASp99AABXrwrnN0g388.jpg)
MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio.c 中RadioIrqProcess 函數中
![wKgZomWKocuAEzZ8AAEEi-E39IY751.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocuAEzZ8AAEEi-E39IY751.jpg)
STM32Cube_FW_WL_V1.3.0 的驅動中已經支持 CAD 功能 :
MiddlewaresThird_PartySubGHz_Phy adio.h
MiddlewaresThird_PartySubGHz_Phy adio_ex.h
MiddlewaresThird_PartySubGHz_Phy adio_def.h
MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio_driver.h
MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio_driver.c
MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio.c
但是如何在用戶應用中加入 CAD 功能呢?下面介紹如何在示例工程SubGHz_Phy_Per 中開啟 CAD 功能。
03
如何在示例工程 SubGHz_Phy_Per 中開啟 CAD
3.1.修改 subghz_phy_app.h 中配置
選擇 MODEM 類型為 LORA
![wKgZomWKocuAPE5qAAAyxZ0N99k612.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocuAPE5qAAAyxZ0N99k612.jpg)
設置 CAD 檢測的頻率和 LORA 接收參數
![wKgZomWKocuANyMNAAAd56G5Ixw048.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocuANyMNAAAd56G5Ixw048.jpg)
![wKgZomWKocyAC-0lAACRVCfwJxg312.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocyAC-0lAACRVCfwJxg312.jpg)
根據擴頻因子 LORA_SPREADING_FACTOR 設置相應的 CAD 檢測參數
![wKgZomWKocyAd9mIAALo1NzIzaI313.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocyAd9mIAALo1NzIzaI313.jpg)
3.2.在 subghz_phy_app.c 中配置聲明
包含頭文件 radio_driver.h
![wKgZomWKocyAJmArAAAywXlelbI357.jpg](https://file1.elecfans.com//web2/M00/B9/14/wKgZomWKocyAJmArAAAywXlelbI357.jpg)
修改測試模式為 RADIO_RX
![wKgZomWKocyADic6AAAxYygILBs492.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKocyADic6AAAxYygILBs492.jpg)
可選,設置串口輸出為紅色 RED 和綠色 GRN 時的配置
![wKgZomWKocyAElUDAAAsjbbebWk398.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKocyAElUDAAAsjbbebWk398.jpg)
定義 CAD 檢測結果標志 RadioCadDone_flag
![wKgZomWKocyAXs6WAAB420_JxW8225.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKocyAXs6WAAB420_JxW8225.jpg)
定義 CAD 檢測計數 cad_max_count,cad_count 和 detect_count
![wKgZomWKocyANvCaAAA93zBACSI086.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKocyANvCaAAA93zBACSI086.jpg)
聲明 CAD 檢測完成事件后執行的函數 OnCadDone
![wKgZomWKoc2ARNb9AAA7HH16424649.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc2ARNb9AAA7HH16424649.jpg)
聲明 CAD 狀態機處理函數 Cad_Process
![wKgZomWKoc2AZp7qAAAzq8lW_GU430.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc2AZp7qAAAzq8lW_GU430.jpg)
3.3.在subghz_phy_app.c 中配置 SubghzApp_Init 函數
在 SubghzApp_Init 函數中,打印 LoRa 配置參數(可選)
![wKgZomWKoc2ATBY_AADlQAfkD-k048.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc2ATBY_AADlQAfkD-k048.jpg)
在 RadioEvents 中注冊 CAD 檢測到要執行的回調函數 OnCadDone
![wKgZomWKoc2AQTD8AABdxIyIRls389.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc2AQTD8AABdxIyIRls389.jpg)
設置 CAD 檢測的頻率,接收參數,最大包長,CAD 檢測的參數
![wKgZomWKoc2ALnRNAACaJG-FOdY343.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc2ALnRNAACaJG-FOdY343.jpg)
開啟 CAD
![wKgZomWKoc2AfWv6AAAco_y12DY358.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc2AfWv6AAAco_y12DY358.jpg)
注冊 CAD 狀態機處理函數 Cad_Process
![wKgZomWKoc2AQnH-AAAqpc72RyA442.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc2AQnH-AAAqpc72RyA442.jpg)
3.4.在 subghz_phy_app.c 中配置 CAD 檢測完成處理函數和狀態機處理函數
![wKgZomWKoc6AHPNgAADfZsqMyJY426.jpg](https://file1.elecfans.com//web2/M00/B9/15/wKgZomWKoc6AHPNgAADfZsqMyJY426.jpg)
04
小結
本 LAT 舉例介紹了 LoRa CAD 應用場景,STM32WL LoRa CAD 的原理和相關的驅動,著重介紹了如何在示例工程(SubGHz_Phy_Per)中添加 LoRa CAD 功能。
在此基礎之上也可以很容易在 SubGHz_Phy_PingPong 和 SubGHz_Phy_AT_Slave示例工程中加入 LoRa CAD 功能。
當然也可以在 LoRaWAN_End_Node 示例工程中加入 LoRa CAD,但是還需要調整如下驅動,后續再補充介紹。
MiddlewaresThird_PartyLoRaWANMacLoRaMacInterfaces.h
MiddlewaresThird_PartyLoRaWANMacLoRaMac.c
MiddlewaresThird_PartyLoRaWANLmHandlerLmHandler.h
MiddlewaresThird_PartyLoRaWANLmHandlerLmHandler.c
完整內容請點擊“閱讀原文”下載原文檔。
原文標題:實戰經驗 | 如何在用戶應用中開啟 LoRa CAD
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
-
單片機
+關注
關注
6043文章
44622瀏覽量
638518 -
STM32
+關注
關注
2272文章
10923瀏覽量
357549
原文標題:實戰經驗 | 如何在用戶應用中開啟 LoRa CAD
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
提升開關電源效率的理論分析與實戰經驗
![提升開關電源效率的理論分析與<b class='flag-5'>實戰經驗</b>](https://file1.elecfans.com/web3/M00/05/55/wKgZPGd_LySAYShvAAAZtQjQtaA655.jpg)
使用MCUXpresso for VS Code插件開發Zephyr的hello world
![使用MCUXpresso for VS Code插件開發Zephyr的hello world](https://file1.elecfans.com/web3/M00/04/A6/wKgZPGd3PBeAcAcFAABDETVNApk954.png)
什么是PLM中的多CAD,PLM中的多CAD為什么重要
基于LORA模塊的智能城市應用
LORA模塊的優缺點分析
SOLIDWORKS 2025 CAD :協作的新增功能
LoRa網關和LoRa基站的區別是什么?一文弄懂
物聯網系統中Lora組網中的輪詢模式實現
![物聯網系統<b class='flag-5'>中</b><b class='flag-5'>Lora</b>組網<b class='flag-5'>中</b>的輪詢模式實現](https://file1.elecfans.com//web2/M00/08/D4/wKgaombzsHCAXNvPAAB67tmM1WU278.jpg)
LoRa模塊是什么?LoRa模塊的優勢和缺點
愛普生晶振在物聯網LoRa通訊中的應用
LoRa數模模塊設置開啟LBT功能
![<b class='flag-5'>LoRa</b>數模模塊設置<b class='flag-5'>開啟</b>LBT功能](https://file1.elecfans.com/web2/M00/C7/6F/wKgaomYKa2WANF7QAACTyt4lmXY779.png)
評論