LoraWAN论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7129|回复: 6
打印 上一主题 下一主题

lora 跳频

[复制链接]

100

主题

459

帖子

5249

积分

论坛元老

Rank: 8Rank: 8

积分
5249
楼主
发表于 2017-5-25 15:38:57 | 显示全部楼层
跳频主要用于北美地区,像美国规定,一个Radio在某信道上的驻留时间,不能超过400ms。
跳频的双方,需要做2件事:同步(即同时切换频率),频率序列(切换相同的频率)。
这一般通过如下完成:
  1. 首先定义一个频率数组:
     const int32_t HoppingFrequencies[] =
     {
      916500000,
      923500000,
      。。。。。。
     }
  2. 通过寄存器 FreqHoppingPeriod 设置跳频周期;
  3. 周期到时,会触发中断 ChangeChannelFhss;
  4. 有一个寄存器 FhssPresentChannel 会累加跳频次数(0 -> 1 -> 2 ->......)
  5. 在中断服务程序里,根据数组 HoppingFrequencies[FhssPresentChannel ],切换下一个频率。
回复

使用道具 举报

100

主题

459

帖子

5249

积分

论坛元老

Rank: 8Rank: 8

积分
5249
沙发
发表于 2017-5-25 15:43:35 | 显示全部楼层
是的,跳频是在同一个数据包中完成。
比如,发送一个数据包,需要1200ms,第一part=freq#1,第二part=freq#2, 第三part=freq#3.
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|LoraWAN论坛  

GMT+8, 2024-5-5 02:25 , Processed in 0.062344 second(s), 8 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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