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

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

3天内不再提示

实战经验 | 如何使用 S2LP 的 sniff 模式同时满足通讯和低功耗要求

STM32单片机 来源:未知 2023-12-16 15:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


关键词:S2LP, Sniff 模式,低功耗


目录预览

1、引言

2、预设应用场景

3、LDC/Sniff 模式简介

4、解决方案

5、小结


01

引言


某些客户在其 S2LP 的设计方案中,发送端设备常供电,可以不考虑低功耗;而接收端设备一般用电池功能,对低功耗的要求比较高。发送和接收端的通讯是异步的,也就是说发送端在满足某些检测条件的情况下,可以在任意时刻发送数据包;而要求接收端设备在满足其低功耗要求的情况下,及时接收到数据包,保证响应的实时性。针对以上的应用场景,一般推荐客户使用 S2LP 的 sniff 模式。


02

预设应用场景


发送端设备(如烟感设备等)可能随时收到警报信息,在任意时刻收到警报信息后将连续发送数据包,连续发包时长 10 秒钟。


数据包结构如图 1。2-FSK 调制方式,Data rate=38.4Ksps, 中心频点=868MHz。


图1.数据包格式


根据图 1 数据包格式,可知前导码占 576 个 bit,同步字 4 字节,用户数据占 25 个字节,采用 1 字节 CRC 校验字段。

• 数据包中每个 bit 发送的时间= 1/38.4Ksps≈26us。

• 前导码时长=576/38.4Ksps=15ms。

• 前导码+同步字时长= (576+32)/38.4Ksps=15.83ms。

• 完整数据包发送时长=(576+32+200+8)/38.4Ksps = 21.25ms。

接收端设备要求每 8 秒钟唤醒一次,连续检测 100ms,并确保不会漏掉这 100ms 时间窗口中内的有效数据包。并在 100ms 以后进入低功耗模式。


03

LDC/Sniff 模式简介


S2LP 支持 LDC (Low Duty Cycle) 和 Sniff 这两种模式,这两种模式都可以实现低功耗。区别在于 LDC 模式实现发送、接收端的同步通信;而 Sniff 模式是基于 LDC 模式,在兼顾低功耗的要求的同时支持异步通信。


如图 2,LDC 模式示意图。发送端和接收端设备按照约定的唤醒周期同步进入发送、接收状态和进入低功耗模式。接收端为了保证不丢包,会在约定的唤醒时间点之前唤醒并提前进入接收状态。


图2.LDC 模式


如图 3 所示,Sniff 模式示意图。Sniff 模式下的 S2LP,按照唤醒定时器 (Wakeup Timer) 设定的唤醒时间有规律地从睡眠状态唤醒,并开启一个非常短的称为 FastRX 的接收窗口。在这个 FastRX 接收窗口中检测信号强度 (RSSI 值) 。如信号强度低于设定的阈值,则认为外部没有发送数据包,接收端在 FastRX 窗口结束后快速进入睡眠状态;如检测的信号强度值高于阈值,说明检测到有效数据包在发送,则启动接收超时定时器(RX Timeout),接收端继续保持接收状态,如在超时时间内检测到有效的同步字字段,则停止接收超时定时器,并继续保持接收状态直到接收到完整的数据包后进入低功耗模式;如在超时时间内没有检测到有效的同步字则在接收超时后立刻进入低功耗模式。


图3.Sniff 模式


04

解决方案


基于 ST 官方提供的 S2LP 的 SDK 软件包中的 SDK_Sniff_B 项目实现上述预设应用场景中接收端的功能。代码更改量不多,但基本可以实现预设应用场景中的要求。


基于原始代码,更改函数 SysTickUserAction(图 4),借助于 lSystickCounter 计数变量,实现 8 秒钟和 8 秒窗口开始边界后 100ms 的计时。具体更改内容请参考附件“SDK_Sniff_B.c”


图4.函数 SysTickUserAction 更改内容


在 8 秒窗口开始时间点通过调用函数“S2LPTimerLdcrMode(S_ENABLE);”使能 Sniff模式;在 100ms 时间窗口结束时通过调用函数“S2LPTimerLdcrMode(S_DISABLE);”关闭 Sniff 模式。并调用函数 “S2LPCmdStrobeSleep();”进入低功耗。


需要注意的关键点:

• 为了不错过发送端的前导码,需要将接收端的唤醒定时器设定的时长设定为小于数据包格式中前导码的发送时长。

• 接收端的接收超时时间(RX Timeout)的时长≥前导码时间+同步字时间,但在满足条件的情况下尽量使用小的设定值,有助于降低功耗。

• 初始化结束后通过函数“S2LPTimerLdcrMode”可以直接打开、关闭 sniff 模式。并结合函数“S2LPCmdStrobeSleep();”控制 S2LP 的低功耗模式。


4.1.验证方法和结果


4.1.1. 接收端功能测试平台


使用一套“NUCLEO-L053R8+X-NUCLEO-S2868A1”测试平台运行更改后的SDK_Sniff_B 项目程序。使用 ST 官方提供的 X-NUCLEO-LPM01A 功耗测试板,通过 XNUCLEO-S2868A1 板上的 JP1 测试 S2LP 的工作状态, 通过抓取 S2LP 的实时功耗确认预设场景中 8 秒时间窗口和 100ms 接收窗口的定时是否正确?以及 S2LP 是否能正确进入低功耗模式?测试平台如图 5 所示


图5.测试平台


测试结果如图 6 所示,上电初始化后,由于已经使能了 sniff 模式,但第一个 8 秒窗口计时还没有溢出,所以一直保持sniff工作模式(客户也可以更改代码使其在初始化后立刻进入低功耗模式)。第二个 8 秒窗口开始后的 100ms 还处于 sniff 工作状态。当第二个 8 秒窗口中的 100ms 接收窗口结束后,S2LP 进入低功耗模式。后续的 8 秒窗口以此类推。从图6 中还可以看到每个 100ms 中有 7 个 FastRX 窗口,这是因为原始代码中把唤醒时间设定为差不多 12.9ms(必须小于前导码时间 15ms),那么在 100ms 的接收窗口里正好可以容纳7 个 FastRX 快速接收窗口。


图6.S2LP 功能测试结果


根据图 6 测试结果,证明更改后的 SDK_Sniff_B 代码运行结果符合预设应用场景的要求。


4.1.2. 验证数据包发送接收


发送接收测试平台如图 7, 使用两套 NUCLEO-L053R8+X-NUCLEO-S2868A1 测试平台:

• DevB 作为接收端,运行前面的 SDK_Sniff_B 程序。


图7.发送接收测试平台说明


• DevA 模拟应用场景中的发送端设备,烧录 SDK 中默认的 S2LP_CLI_Project 程序,通过 USB 线连接 PC 段的 GUI 工具(如图 8) 。按照预设场景分别设定调制方式为 2-FSK,前导码,用户数据(Payload)。保证连续发送的数据包数量和发送间隔的设置值使发送端的连续发送时间维持 10 秒钟。


图8.S2LP GUI 工具界面及参数设定


验证结果,S2LP GUI 工具每次点击“START”按键,在其连续过程中接收端设备必然可以收到一个数据包,则实验结果成功。


图9.数据包接收状态


05

小结


S2LP 支持的 LDC 模式和 sniff 模式都是低功耗模式,LDC 模式支持同步通讯的场景,Sniff 模式支持异步通讯模式。客户基于自己的应用场景,可以选择合适的模式。另外通过附加的定时控制 S2LP 在 sniff 模式下的工作时长可以进一步降低 S2LP 的功耗。

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


原文标题:实战经验 | 如何使用 S2LP 的 sniff 模式同时满足通讯和低功耗要求

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

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

    关注

    6078

    文章

    45624

    浏览量

    675094
  • STM32
    +关注

    关注

    2313

    文章

    11205

    浏览量

    375144

原文标题:实战经验 | 如何使用 S2LP 的 sniff 模式同时满足通讯和低功耗要求

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探秘LP3905-30评估板:为低功耗手持应用助力

    探秘LP3905-30评估板:为低功耗手持应用助力 在电子设计的世界里,低功耗手持设备的电源管理是一个关键课题。今天,我们就来深入了解一下TI的LP3905-30评估板,看看它如何为
    的头像 发表于 04-21 14:50 149次阅读

    AP6301 低功耗模式对比:待机 / 关断 / 睡眠(功耗实测)

    AP6301 三种低功耗模式满足不同产品待机需求: 充电完成待机 :≈85μA 关断模式 (PROG 悬空) :≈25μA 睡眠 (VCC 掉电) :电池反向漏电流 <1μA 实测案
    发表于 04-11 11:02

    探索DS1232LP/LPS低功耗微监控芯片:功能、特性与应用

    低功耗微监控芯片,看看它究竟有哪些独特之处。 文件下载: DS1232LP.pdf 芯片特性 低功耗优势 DS1232LP/LPS是DS1232的超
    的头像 发表于 02-27 16:15 281次阅读

    探索LMX2572LP2GHz低功耗宽带RF合成器的卓越性能

    探索LMX2572LP2GHz低功耗宽带RF合成器的卓越性能 作为一名资深电子工程师,在日常的硬件设计开发中,我们总是在寻找性能卓越、功能丰富且功耗较低的器件。今天,我想和大家详细探
    的头像 发表于 02-08 10:40 490次阅读

    CW32L052的低功耗模式

    CW32L052工作温度为-40℃~85℃,宽工作电压1.65V~5.5V,支持Sleep和DeepSleep两种低功耗工作模式,在DeepSleep模式下工作电流仅为500nA,从这一模式
    发表于 01-07 07:45

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

    CD7377CZ 的四通道模式驱动前后车门 4 个喇叭,即可满足日常聆听需求,其 7W / 通道的功率输出足以覆盖车内声场,且小体积 FZIP15 封装能适配轿车中控台紧凑的 PCB 布局;而中大型 SUV 或
    发表于 12-05 09:53

    CW32 UART低功耗模式详解

    ,往往是靠电池来供电,所以设计人员从每一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。因此,大部分芯片都会有低功耗模式,以CW32L083为例,它就是一个32位低功耗微控制器。 一、芯片
    发表于 11-12 07:24

    【RA4M2-SENSOR】+低功耗模式功耗测试

    RASC中,将K3键赋予中断处理功能的配置如图2和图3所示,此外还需添加串口通讯低功耗模式功能入栈,并对属性加以设置,见图4和图5所示。 图2
    发表于 10-01 09:13

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

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

    ‌LMX2572LP 2-GHz低功耗宽带RF合成器(带FSK调制)技术文档总结

    该LMX2572LP是一款低功耗、高性能宽带合成器,无需使用内部倍频器即可产生12.5 MHz至2 GHz的频率。PLL具有出色的性能,同时3.3 V单电源仅消耗70 mA电流。
    的头像 发表于 09-12 14:04 1236次阅读
    ‌LMX2572<b class='flag-5'>LP</b> <b class='flag-5'>2</b>-GHz<b class='flag-5'>低功耗</b>宽带RF合成器(带FSK调制)技术文档总结

    【RA4M2-SENSOR】5、外部中断按键+低功耗模式+功耗测量

    进行激活。 之后将原先压栈的寄存器取出,继续运行之前的程序。 电源管理——低功耗模式 在很多应用场合中都对电子设备的功耗要求非常苛刻,如某些传感器信息采集设备,仅靠小型的电池提供电源,
    发表于 09-01 20:53

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

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

    请问如何使用低功耗 UART (LP UART) 波特率补偿?

    如何使用低功耗 UART (LP UART) 波特率补偿?
    发表于 08-21 07:05

    【RA4L1-SENSOR】07 低功耗待机模式功耗实测

    1. 前言 本次实验的目标是设置低功耗模式,并配置RTC周期中断唤醒,在时钟模式下保持低功耗。然后外接INA226电流计做功耗测试。
    发表于 06-20 09:36

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

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