目前 2.4g 遥控系统除了 futaba 以外,都是两点,三点跳频的(也有不跳的),而且都需
要发射机上有开关或者按键用来对码,而且对码都比较麻烦。有没有办法做一个设计,能
实现匹敌 futaba 的性能呢。我就在这里抛砖引玉,纸上谈兵,先提一个方案。
射频部分:
phy: ml2726 (2Mbps), 同 futaba 使用的 ml2724 同属于 rfmd 公司的产品(收购了别
的公司得来的),提供了一个透明的无线串口。为了达到 20dbm 的发射功率,可以使用
rfmd 同时提供的参考设计。https://estore.rfmd.com/RFMD_Onl ... s/PID-
P_ML2724.aspx
如果设计支持 20 个通道,每个通道使用两个字节,则一包数据为 40 个字节,加上一些附
加信息,就算 500bit 吧,传送也就是 0.25ms。
射频带宽 2400M 到 2483.5M,每频道 1Mhz,一共 80 个频道(凑个整儿)。
MAC 部分:
功能上要支持:
1,容易对码,即发射机采用无模式设计,不区分对码和正常工作状态。
2,支持断线重连。3,支持 100 个发射机同时使用。4,产送更新速度大于 50 次/s,传
输延迟尽可能小。
基于以上要求,可采用基于 ARM cortex M3 的 MCU,STM32103 就是个不错的选择。
调试器功能强,且异常便宜,国产 jlink 不到 100 元,usb 的,jtag 速度稳定在 4Mhz,
可达 6Mhz,是我用过的最为可靠的 jtag 调试器,(显摆一下我用的 jtag 调试器:arm
multi-ice, ti black halk, adi usb jtag, avr usb jtag, silabs u-ec5, bdi2000...)
跳频协议:
发射机,每台发射机有一个全局唯一的 id,发射的时候每真数据都包含这个 id。发射机每
2ms,跳频一次,要跳到的频率随机生成,但是选频道的范围要剔除上一次的频率。可以
随机生成 3 个,并把这 3 个频点加到要发送的数据帧中。这样可以保证 160ms 内,所有
的频点都能跳到。
接收机,接收机上有一个按键,按住以后进入对码模式。在对码模式下,旁边只能有一台
发射机,或者以可以只接收信号强度大于某个阈值的数据帧。接收机提取数据帧中的发射
机 id,并存到自己的 eeprom 中,并从这时起,检查每帧收到的数据中的 id,只有同这个
id 相同时才接受。
接收机有两种跳频接收模式,慢跳和快跳。在开始时慢跳,每 200ms 跳一次。起始频率
是随机从 80 个频道中选取的。反正 200ms 以后一定能收到发射机发来的数据,一旦受到
一帧以后就知道了发射机下一个频点,马上转到那个频点。这样就实现了跳频多址。