anjiyifan 发表于 2019-4-22 15:50:33

关于2.4G RF遥控器的跳频算法

在做一款产品,因为其表面会被覆盖,所以不能使用红外遥控器。
目前准备用2.4G的RF通信IC来做,为了增强抗干扰性,所以想加入跳频功能。

初步设想工作流程如下:遥控器平时都是处于休眠模式以减小待机功耗,按下按键后单片机被唤醒,发送一帧按键数据,等待接收端发回的ACK,没收到则重发,超过重发次数则取消。然后重新进入休眠模式。
如果每一次按键收发都跳频一次,那如果遇到超出通信距离,或者因为干扰通信失败,或者遥控器换电池等因素会导致两边使用的频率失去同步,导致不能通信。
所以想请教一下,有没有现成比较适合应用于这种场合的跳频算法?

不知道汽车遥控钥匙除了滚动码外,是否还有跳频功能,如果也有跳频功能的话,是怎么实现频率的同步的呢?

anjiyifan 发表于 2019-4-22 16:35:57

我先试试单次按键收不到ACK就把所有频点都跳一遍

布心 发表于 2019-4-22 17:48:57



anjiyifan 发表于 2019-4-22 18:49:33

布心 发表于 2019-4-22 17:48


谢谢!我仔细看一下

xad74 发表于 2019-4-23 07:53:50

设定一个频段,收不到ACK信号就轮流发送最简单的方案

anjiyifan 发表于 2019-4-23 08:35:44

xad74 发表于 2019-4-23 07:53
设定一个频段,收不到ACK信号就轮流发送最简单的方案

嗯,我的数据量不大,这种方法应该可行的。

anjiyifan 发表于 2019-4-23 21:37:34

布心 发表于 2019-4-22 17:48


这份资料我看了一下,键鼠的接收器是通过是否接收到鼠标8ms一次的数据来决定是否需要跳频的,如果超时接收不到鼠标数据就跳一个频道。
然后键盘和鼠标是通过发送数据后是否连续两次接收不到ACK来决定是否需要跳频。每次通信如果把跳频表里的频道都试了还是没有ACK则取消发送。

我的遥控器不像鼠标一样,会有确定间隔时间通信一次,所以用这个键鼠协议没法判断接收端什么时候跳频。

但是看了这份文档后我对跳频原理感觉比之前更理解一点了,我再自己想想有什么办法,自定义一个协议好了。

布心 发表于 2019-4-24 08:33:17

anjiyifan 发表于 2019-4-23 21:37
这份资料我看了一下,键鼠的接收器是通过是否接收到鼠标8ms一次的数据来决定是否需要跳频的,如果超时接 ...

可以参考一下BLE的广播协议,这个对你也许有帮助。


anjiyifan 发表于 2019-4-24 08:38:33

布心 发表于 2019-4-24 08:33
可以参考一下BLE的广播协议,这个对你也许有帮助。

好的,我再看看,谢谢!
页: [1]
查看完整版本: 关于2.4G RF遥控器的跳频算法