请选择 进入手机版 | 继续访问电脑版
查看: 1593|回复: 5

[应用笔记] SX126X RxDutyCycle工作介绍

[复制链接]

63

主题

96

帖子

559

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
559
发表于 2020-7-2 09:43:21 | 显示全部楼层 |阅读模式
一、工作原理
RxDutyCycle是一种特殊的RX模式,允许通过周期性地接收来降低功耗,同时保持微控制器处于睡眠模式。当一个包被SX126X接收,它为微控制器触发一个中断,以唤醒它
file:///C:/Users/Lenovo/AppData/Local/Temp/企业微信截图_15936538978073.png file:///C:/Users/Lenovo/AppData/Local/Temp/企业微信截图_15936538978073.png
1  RxDutyCycle工作流程图

二、周期设定

RxDutyCycle模式执行及周期时间设置:



RxDutyCycle式下执行的操作radio将花费大约1毫秒来保存上下文并进入睡眠模式,然后重新初始化radio,锁定PLL并进入RX。延迟是不准确的,可能会根据XTAL启动、PLL锁定等所需的时间而变化。


2 RX占空比能量分布图


三、周期时间设置

处于RxDutyCycle模式SX126X大部分时间都处于休眠状态。为了确保对传入消息的检测,需要有足够长的前导发射时间来覆盖休眠期+/头检测所以需要满足以下:
Tpreamble > sleepPeriod + 2 bytes in FSK                        1)
>sleepPeriod + 8 symbols in LoRa®
只有满足以上设置,才能在接收打开期间,在最差的情况下有足够的前导让SX126X进行前导检测;


3 发射前导长度要求
当接收检测到前导后,接收窗口的时时间被置为2 * rxPeriod + sleepPeriod值重新启动即检测到前导后接收窗口为2 * rxPeriod + sleepPeriod这么长的时间进行前导同步和报头接收,如果这这期间没有检测到报头或者报头(topTimerOnPreambleDisabled ,那么接收窗口的超时时间到就恢复到RxDutyCycle模式,如果检测到报头且正确就会停止RxDutyCycle的超时定时器,直到产生RXDone,然后进入Standby模式,所以要求:
Tpreamble + Theader ≤ 2 * rxPeriod + sleepPeriod         2)


4 接收时RX占空比

四、topTimerOnPreamble 使能与非使能区别

topTimerOnPreamble设置对SX1261X芯片的功耗有影响,以防出现错误的前导(FSK)或报头(LoRa®)。如果这个选项是启用的,RX超时将停止,芯片将保持在RX模式,直到下一次接收。

SX126XRxDutyCycle上设置,并启用了StopTimerOnPreamble

5 启用StopTimerOnPreambleRxDutyCycle

当假报头发生时,芯片保持在RX模式,直到接收到下一个帧,然后切换回STDBY_RC模式。


RxDutyCycle上设置SX1261,禁用StopTimerOnPreamble


6 禁用StopTimerOnPreambleRxDutyCycle


五、实现代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2

主题

6

帖子

18

积分

助理工程师

Rank: 1

积分
18
发表于 2023-4-23 16:18:42 | 显示全部楼层
系统主要的功耗来自与RX开窗的几ms时间,开窗时间越短功耗越低,但唤醒概率也随之变低,有没有一个最低开窗时间或者symbol的个数时间,保证成功率还降低功耗?
回复

使用道具 举报

2

主题

6

帖子

18

积分

助理工程师

Rank: 1

积分
18
发表于 2023-4-23 16:24:38 | 显示全部楼层
使用RxDutyCycle需要一直打开射频开关,会产生一个40uA的基础电流,这个有什么办法处理?
等到RxDutyCycle开窗时候自动打开射频开关,结束以后再自动关上
回复

使用道具 举报

63

主题

96

帖子

559

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
559
 楼主| 发表于 2023-4-25 18:49:30 | 显示全部楼层
1038258653@qq.c 发表于 2023-4-23 16:24
使用RxDutyCycle需要一直打开射频开关,会产生一个40uA的基础电流,这个有什么办法处理?
等到RxDutyCycle ...

首先您说的确实是存在这样的问题,所以不建议用RxDutyCycle,仅以用定时器做。
然后你这个RxDutyCycle状态下 CTL控制为RX模式电流是40uA的值是用我司那个型号的模组测试出来的。如果是我司带CTL1和CTL2的模组这个值因该是12uA以下。  最后你一定要用RxDutyCycle并且要电流低的话目前只能选择我司的外部不带CTL1和CTL2的模组,这个模组内部用了功耗更低的开关 按照你的应用可以把您把你提到的这个RxDutyCycle的sleep窗口期的电流减低到3uA
回复

使用道具 举报

2

主题

6

帖子

18

积分

助理工程师

Rank: 1

积分
18
发表于 2023-6-26 10:27:19 | 显示全部楼层
RF_002 发表于 2023-4-25 18:49
首先您说的确实是存在这样的问题,所以不建议用RxDutyCycle,仅以用定时器做。
然后你这个RxDutyCycle状 ...

能提供一下贵司这个模组具体的型号吗,十分感谢。
回复

使用道具 举报

71

主题

166

帖子

561

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
561
发表于 2023-6-27 09:54:01 | 显示全部楼层
1038258653@qq.c 发表于 2023-6-26 10:27
能提供一下贵司这个模组具体的型号吗,十分感谢。

470-510MHz(LSD4RFC-2L722N10)带CTL1 CTL2
433-510MHz(LSD4RFC-2L714N10)带CTL1 CTL2
860-930MHz(L-LRMRL22-97NN4)带CTL1 CTL2
868/915MHz(L-LRMFL22-97NN4)带CTL1 CTL2
470~510MHz(L-LRMFL22-77NN4)不带CTL1 CTL2
860~930MHz(L-LRMFL22-97NN4-01)不带CTL1 CTL2
如上是常用的,
如果没有您需要的
您需要那个频段的?需要LLCC68的还是 SX1268 的 还是SX127X的?需要带CTL的还是不带CTL的?需要有源晶振的还是无源晶振的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表