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单片机】欢迎添加关注!文章转载请注明出处。


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

    关注

    6074

    文章

    45344

    浏览量

    663787
  • STM32
    +关注

    关注

    2305

    文章

    11122

    浏览量

    371206

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    智能破局焊接痛点!连接器 PIN 脚零缺陷检测方案,3C & 汽车电子质控利器

    本期我们将聚焦 连接器 PIN 脚焊接环节的质量管控难点,结合近期成功交付的实战经验,详细解读智能视觉检测方案的落地实践经验,为您提供视觉智能化升级的参考范例。
    的头像 发表于 12-08 15:14 88次阅读

    车载音频功放芯片实战经验与深度疑问

    1. 通道配置与车型需求的适配经验 在为不同车型设计音响系统时,CD7377CZ 与 CD7388 的通道配置需紧密结合车型空间与用户需求。例如,针对紧凑型家用轿车,车内空间较小,采用
    发表于 12-05 09:53

    UART、SPI、I2C 实战对比:哪个更适合你的项目?

    在嵌入式开发,设备之间的通信是绕不开的话题。常见的三种总线接口——UART、SPI、I2C——各有优缺点。不同项目需求决定了选择哪一种协议最合适。本文结合实战经验,逐项对比三者,并附带实战代码
    的头像 发表于 11-24 19:04 335次阅读
    UART、SPI、I2C <b class='flag-5'>实战</b>对比:哪个更适合你的项目?

    解锁物联网摄像头潜力:低成本低功耗硬件设计实战技巧!

    摄像头是物联网视觉感知的关键,但高成本与高功耗常成落地阻碍。本文基于实战经验,提炼硬件设计实用技巧——从简化外围电路到动态功耗管理,助您以更低成本、更低功耗打造物联网摄像头,适配智能家居、安防监控等场景。
    的头像 发表于 09-20 15:22 916次阅读
    解锁物联网摄像头潜力:低成本低功耗硬件设计<b class='flag-5'>实战</b>技巧!

    泰克TBS2000在电源测试实战应用技巧

    电源测试是电子工程至关重要的一环,泰克TBS2000系列示波器凭借其高精度、多功能性和易用性,成为工程师的得力工具。本文结合实战经验,总结TBS2000在电源测试的核心应用技巧,帮助提升测试效率
    的头像 发表于 09-17 16:56 561次阅读
    泰克TBS2000在电源测试<b class='flag-5'>中</b>的<b class='flag-5'>实战</b>应用技巧

    数据库慢查询分析与SQL优化实战技巧

    今天,我将分享我在处理数千次数据库性能问题中积累的实战经验,帮助你系统掌握慢查询分析与SQL优化的核心技巧。无论你是刚入门的运维新手,还是有一定经验的工程师,这篇文章都将为你提供实用的解决方案。
    的头像 发表于 09-08 09:34 632次阅读

    电商数据API开发实战经验分享(实操)

    全球电商API
    的头像 发表于 08-29 10:18 263次阅读
    电商数据API开发<b class='flag-5'>实战经验</b>分享(实操)

    Linux企业网络安全防护体系建设

    构建完整的Linux安全防护体系不是简单的工具堆砌,而是需要从架构设计、监控告警、应急响应到持续改进的完整闭环。本文将分享我在大型企业环境实战经验
    的头像 发表于 08-27 14:39 517次阅读

    Linux服务器性能调优的核心技巧和实战经验

    如果你正在为这些问题头疼,那么这篇文章就是为你准备的!作为一名拥有10年经验的运维工程师,我将毫无保留地分享Linux服务器性能调优的核心技巧和实战经验
    的头像 发表于 08-27 14:36 725次阅读

    Docker与Kubernetes在生产环境的最佳应用

    在我过去8年的运维经历,见证了从传统物理机到虚拟化,再到容器化的完整演进。今天,我将分享在管理超过1000个容器、日均处理10亿请求的生产环境积累的实战经验
    的头像 发表于 08-18 11:25 632次阅读

    鸿蒙5开发宝藏案例分享---优化应用包体积大小问题

    ;] 无用代码剔除 :开启ProGuard(仅保留运行时用到的类)。 ?** 结语** 包体积优化不是“高级技巧”,而是直接影响用户留存的关键操作!以上这些方法都是鸿蒙官方团队验证过的实战经验,赶紧试试吧
    发表于 06-13 10:09

    移动电源EMC整改:认证失败到一次通过的实战经验

    深圳南柯电子|移动电源EMC整改:认证失败到一次通过的实战经验
    的头像 发表于 05-26 11:25 579次阅读
    移动电源EMC整改:认证失败到一次通过的<b class='flag-5'>实战经验</b>

    南方测绘2025用户大会河南站圆满收官

    近日,南方测绘 2025 用户大会(河南站)在2025河南省地理信息产业高质量发展交流研讨会现场隆重举行,为本年度的省级用户大会画上了一个圆满的句号。大会汇聚了众多行业领域的领导及用户代表,洞察前沿趋势,分享
    的头像 发表于 04-23 09:15 810次阅读

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

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

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

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