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

发布时间:2024-01-05  

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 前导码。



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



MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio_driver.c



MiddlewaresThird_PartySubGHz_Phystm32_radio_driver adio.c 中RadioIrqProcess 函数中



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



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




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



3.2.在 subghz_phy_app.c 中配置声明


包含头文件 radio_driver.h



修改测试模式为 RADIO_RX



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



定义 CAD 检测结果标志 RadioCadDone_flag



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



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



声明 CAD 状态机处理函数 Cad_Process



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


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



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



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



开启 CAD



注册 CAD 状态机处理函数 Cad_Process



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



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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    老板不懂硬件怎么办?(2024-11-25 11:22:04)
    老板不懂硬件怎么办?; 很多有硬件产品的公司,很多老板不懂硬件。如果作为供应商或者合作伙伴甚至下属员工与其沟通的话,大家会非常难受,因为老板觉得硬件非常简单。所以......
    三菱PLC的漏洞,它的编程软件是先将密码读到电脑内存在和用户输入的密码进行比较,密码对就可以读出程序。我试验了一下,用串口软件把倒数第二行字符发到PLC,PLC同样返回了密码。说到这大家知道这个解密软件怎么......
    子上运行。 假如要在内部SRAM中运行的话把0x5000 0000改成0即可   make生产led.bin文件怎么加载到tiny6410的DDR中运行呢? 我使用的是minitool工具, 准备......
    讨论的是更新事件产生的允许问题,而更新事件源则讨论的是更新事件怎么来的,它可以因计数器的溢出、工作在复位模式的从定时器收到触发信号或者由软件操作寄存器而产生。 ......
    模具行业的健康发展。大会上,新迪数字以其领先的创新成果新迪天工CAD备受瞩目,吸引了众多行业专家驻足。 新迪天工CAD融合了新迪数字收购的国际一流三维CAD软件技术和十几年CAD软件......
    英特工程和中望龙腾为主的中国厂商市场份额不足10%,而基础软件及硬件设备对中游影响进一步压榨作为中国厂商的利润率,例如当前行业龙头的达索和ANSYS在2021年分别有15.6%和21.3%的净利润率,而作为中国唯一同时掌握CAD......
    一个.a .o目标文件怎么生成? %.o:%.c和%.o:%.S是生成规则,就是依赖于.c或.S文件,使用交叉编译命令生成。 .a是库文件,到lib子目录里去找,在子目录里用make命令生成 下面......
    件怎么学?!300G硬件学习资料合集,移动......
    后者若非透过云平台与CAD/CAE软件兼容加值,便是更深入专用加工领域,与工业机器人协同作业。基于现今制造业数字孪生()技术涵括各领域、架构,大多数硬软件......
    对象的编程语言。 程序化CAD的优点包括:对象的可重用性和抽象性;重复性任务的自动化;参数化设计以及软件开发(比如版本控制)的常......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>