0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实战经验 | 如何在用户应用中开启 LoRa CAD

STM32单片机 来源:未知 2023-12-26 17:45 次阅读

关键词: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

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

MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio_driver.c

wKgZomWKocuASp99AABXrwrnN0g388.jpg

MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio.c 中RadioIrqProcess 函数中

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

设置 CAD 检测的频率和 LORA 接收参数

wKgZomWKocuANyMNAAAd56G5Ixw048.jpg

wKgZomWKocyAC-0lAACRVCfwJxg312.jpg

根据扩频因子 LORA_SPREADING_FACTOR 设置相应的 CAD 检测参数

wKgZomWKocyAd9mIAALo1NzIzaI313.jpg

3.2.在 subghz_phy_app.c 中配置声明

包含头文件 radio_driver.h

wKgZomWKocyAJmArAAAywXlelbI357.jpg

修改测试模式为 RADIO_RX

wKgZomWKocyADic6AAAxYygILBs492.jpg

可选,设置串口输出为红色 RED 和绿色 GRN 时的配置

wKgZomWKocyAElUDAAAsjbbebWk398.jpg

定义 CAD 检测结果标志 RadioCadDone_flag

wKgZomWKocyAXs6WAAB420_JxW8225.jpg

定义 CAD 检测计数 cad_max_count,cad_count 和 detect_count

wKgZomWKocyANvCaAAA93zBACSI086.jpg

声明 CAD 检测完成事件后执行的函数 OnCadDone

wKgZomWKoc2ARNb9AAA7HH16424649.jpg

声明 CAD 状态机处理函数 Cad_Process

wKgZomWKoc2AZp7qAAAzq8lW_GU430.jpg

3.3.在subghz_phy_app.c 中配置 SubghzApp_Init 函数

在 SubghzApp_Init 函数中,打印 LoRa 配置参数(可选)

wKgZomWKoc2ATBY_AADlQAfkD-k048.jpg

在 RadioEvents 中注册 CAD 检测到要执行的回调函数 OnCadDone

wKgZomWKoc2AQTD8AABdxIyIRls389.jpg

设置 CAD 检测的频率,接收参数,最大包长,CAD 检测的参数

wKgZomWKoc2ALnRNAACaJG-FOdY343.jpg

开启 CAD

wKgZomWKoc2AfWv6AAAco_y12DY358.jpg

注册 CAD 状态机处理函数 Cad_Process

wKgZomWKoc2AQnH-AAAqpc72RyA442.jpg

3.4.在 subghz_phy_app.c 中配置 CAD 检测完成处理函数和状态机处理函数

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

wKgZomWKoc6AelxeAAHiBpzEGaQ051.png

完整内容请点击“阅读原文”下载原文档。


原文标题:实战经验 | 如何在用户应用中开启 LoRa CAD

文章出处:【微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6050

    文章

    44687

    浏览量

    641184
  • STM32
    +关注

    关注

    2276

    文章

    10947

    浏览量

    359160

原文标题:实战经验 | 如何在用户应用中开启 LoRa CAD

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NX CAD软件:数字化工作流程解决方案(CAD工作流程)

    NXCAD——数字化工作流程解决方案(CAD工作流程)使用西门子领先的产品设计软件NXCAD加速执行基于工作流程的解决方案。我们在了解行业需求方面累积了多年的经验,并据此针对各个行业的具体需求提供
    的头像 发表于 02-06 18:15 129次阅读
    NX <b class='flag-5'>CAD</b>软件:数字化工作流程解决方案(<b class='flag-5'>CAD</b>工作流程)

    提升开关电源效率的理论分析与实战经验

    在这里有电源技术干货、电源行业发展趋势分析、最新电源产品介绍、众多电源达人与您分享电源技术经验,关注我们,与中国电源行业共成长! 提升开关电源效率的理论分析与实战经验 引言 开关电源设计,为获得
    的头像 发表于 01-09 10:04 466次阅读
    提升开关电源效率的理论分析与<b class='flag-5'>实战经验</b>

    使用MCUXpresso for VS Code插件开发Zephyr的hello world

    本期来到Zephyr实战经验演练,小编带着大家一起使用MCUXpresso for VS Code插件来开发一个属于Zephyr的hello world。
    的头像 发表于 01-03 09:21 757次阅读
    使用MCUXpresso for VS Code插件开发Zephyr的hello world

    LoRa数据究竟是如何传输的?

    一概述在物联网(IoT)的浪潮LoRa(LongRange)技术凭借其远距离通信、低功耗和低成本的优势,成为了众多应用场景的佼佼者。那么,LoRa数据是如
    的头像 发表于 12-19 19:33 657次阅读
    <b class='flag-5'>LoRa</b>数据究竟是如何传输的?

    什么是PLM的多CAD,PLM的多CAD为什么重要

    ,这无疑给产品生命周期管理 (PLM) 带来了巨大挑战。 PLM的目标是管理产品从构思到报废的整个生命周期,其中涉及各利益相关方之间的复杂协调和大量数据的管理。如果PLM系统无法适应,使用多个CAD系统会加剧这些挑战。 什么是PLM的多
    的头像 发表于 11-22 11:20 345次阅读

    二代LoRa模组CAD检测常见异常处理

    在使用LoRa模组的过程,对于依赖电池供电的设备而言,载波活动检测(CAD)是极为重要的。然而,在实际应用CAD检测时,用户可能会遭遇若干
    的头像 发表于 11-15 01:03 524次阅读
    二代<b class='flag-5'>LoRa</b>模组<b class='flag-5'>CAD</b>检测常见异常处理

    基于LORA模块的智能城市应用

    基于LoRa模块的智能城市应用广泛而多样,主要得益于其低功耗、远距离传输、低成本和高可靠性等特点。以下是LoRa模块在智能城市的几个主要应用场景: 一、智能抄表 智能电表和水表 :LoRa
    的头像 发表于 10-31 18:22 2852次阅读

    LORA模块的优缺点分析

    随着物联网技术的快速发展,低功耗广域网(LPWAN)技术成为连接大量分布式设备的优选方案。LoRa技术以其独特的优势在众多LPWAN技术脱颖而出。 LoRa技术概述 LoRa是基于扩
    的头像 发表于 10-31 16:41 885次阅读

    SOLIDWORKS 2025 CAD :协作的新增功能

    随着SOLIDWORKS 2025版本的发布,这款在CAD领域久负盛名的软件再次展示了其强大的创新能力和用户导向的设计理念。SOLIDWORKS 2025不仅在CAD设计功能上进行了全方面升级,更在协作和数据管理方面取得了显著突
    的头像 发表于 10-17 16:43 401次阅读

    LoRa网关和LoRa基站的区别是什么?一文弄懂

    LoRa技术被广泛应用于物联网领域,它是一种低功耗、支持长距离传输、支持多节点通信的无线通信技术。LoRa网关和LoRa基站是两个非常重要的LoRa设备,它们都是连接物联网设备和云平台
    的头像 发表于 10-10 10:46 676次阅读

    物联网系统Lora组网的轮询模式实现

    。如图 Lora技术可用于很多场合,例如隧道通信、电网监视、电表、水表、智能农业、智能水利、智能交通、智能社区、环境监视、工业自动化测试、水产养殖等电表的数据收集等。 二 轮询模式 轮询的优点在于其简单性和能够同时检查多个设备的能力。它不需要复杂的
    的头像 发表于 09-25 14:40 671次阅读
    物联网系统<b class='flag-5'>中</b><b class='flag-5'>Lora</b>组网<b class='flag-5'>中</b>的轮询模式实现

    LoRa模块是什么?LoRa模块的优势和缺点

    什么是LoRa模块? LoRa是一种基于扩频的远距离无线通信系统。该技术使用直接序列扩频,提供高接收灵敏度和强大的抗干扰性,同时满足低功耗要求。LoRa是一个突出的低功率广域网(LPWAN)协议
    的头像 发表于 04-29 15:38 1965次阅读

    爱普生晶振在物联网LoRa通讯的应用

    LoRa 是LPWAN通信技术的一种,是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输方案。这一方案改变了以往关于传输距离与功耗的折衷考虑方式,为用户提供一种简单的能实现
    发表于 04-29 14:09 0次下载

    LoRa数模模块设置开启LBT功能

    LoRa数传模块LBT功能是一种用于无线通信的协议或技术,旨在减少或避免信道碰撞,提高通信质量和效率。在LBT,设备在发送数据之前会先监听信道,以确保信道空闲,从而减少碰撞的可能性
    的头像 发表于 04-01 16:08 923次阅读
    <b class='flag-5'>LoRa</b>数模模块设置<b class='flag-5'>开启</b>LBT功能

    STM32H5 DA证书链实战经验

    之前我们已经讲过了如何通过 DA 认证来回退芯片产品状态,或者重新打开调试口,这样开发人员在芯片为 Closed 状态下时仍可以调试芯片。
    的头像 发表于 03-12 14:08 1258次阅读
    STM32H5 DA证书链<b class='flag-5'>实战经验</b>