对于CC2500,24L01等IC,在实际运用时都会加入跳频以跳开干扰的频点保证数据传送正确,对于跳频具体如何实现?下面是我的想法,各位大侠帮忙看看是否能够实现或有什么认为更好的方法:
有一个发送端(类似遥控器),一个接收端,采用半双工,发送端每发送一次数据如果接收端收到正确的数据则会回应一个应答.
跳频思路: 发送端(类似遥控器)------每发送一个数据packet,等待从机发送的应答,在规定的时间内如果没有收到接收端的应答,则重新发送,如果在规定的时间内仍未应答,则发送端换下一个频率通道发送.这样两次未收到的折腾的时间我姑且设为T. 接收端----每一个单位时间换一个频率通道,现在设通道数为64个,这个单位时间必须大于(T*64),这样确保发送的64个频率点的数据packet总有一个一定可以落在接收端的单位时间内让接收端接收到.
详细的工作过程: 开始假设环境中有2400M的干扰源持续在传送数据,同时假设产品发送端和接收端工作在CHANNEL 0 2400M下. 按下发送端按键开始传送一个键数据packet,此时如果干扰源干扰够大,接收端将无法收到发送端的数据,折腾两次后(查看跳频思路),发送端换下一频率通道,假设频率为2433M,当然因为接收端还是2400M,所以发送端再换下一通道直到64个通道换完均无法成功,此时接收端的单位时间到了,自动换到下一个频率2433M,此时由于避开了2400M的干扰源,发送端第二次循环时,发送成功.同理可以保证其它频点的干扰源也可以克服.达到可靠的目的.
|