请问CC1101接收和发送时,频道会出现对称偏移是怎么回事?
我们按照CC1101数据手册中图10的典型电路开发了一套CC1101的收发系统,并批量生产了一批产品,起初运行一切正常(可以成功的执行接收和发送数据)。但是运行了半个月后某天,突然出现有大约20%的产品无法正常通信:这些故障机彼此之间、以及这些故障机和剩下的80%的正常机之间都不能实现数据通信,而剩下的80%的正常机之间依然可以继续通信一切正常。
我们对这些故障产品收发的信号质量进行频道扫描测量(即,在固件中将故障产品的频道依次从最低设置到最高,并在每个频道执行发送preamble或检查接收信号强度的操作),发现了一个现象:信号最强的频道,在接收和发送的时候,分别偏移了正(对应故障机发送)和负(对应故障机接收)3个频道。
接着,我们在故障机的固件中故意做如下修改设置:在故障机发送时,将频道数设置为期望数加3,而在故障机接收时,又故意将频道数设置为期望频道数减3,其他部分和正常机完全一样没有做任何修改,实验的结果是故障机可以和正常机之间实现正常的通信了。比如,我们在正常机上将频道设置为6,无论收发都使用频道6;然后在故障机上的固件中,在发送前将频道设置为9,而在接收前将频道设置为3;然后就发现,故障机之间、故障机和正常机之间,都可以正常通信了。
于是,我们就只在这些20%的故障机的固件中临时做出如上的特别处理,一切运行正常(看起来和没有出故障的机器没有区别)。这样持续运行了大约一个月后的某天,这些原来的故障机又不能正常通信了,出现的现象和上面第一段的描述相同,然后我们按照上述第二段中的描述做实验检查,发现这个时候的频偏的数据变成了2。而前面正常机中,有一些也出现了类似的问题。于是,我们又按上述第三段中的描述对故障机的固件进行类似的特别处理,然后通信暂时又恢复正常了。
请教,以上这种情况是什么原因造成的了?该如何优化和改正?
谢谢!
"信号最强的频道,在接收和发送的时候,分别偏移了正(对应故障机发送)和负(对应故障机接收)3个频道"
请问信号最强的频道是什么意思?你在设定一个频道后,信号最强就应该在那个频道。你有没有发送连续波看看是否有频偏?(可以参照用SmartRF Studio中的设置)
首先建议你通过实验判断这是硬件问题还是软件问题。 硬件主要看是不是时钟晶振(Fast Clock)有问题,这个可以通过发连续波用频谱仪来看, 也可以用示波器直接测量晶振引脚)。如果这里没有问题,就应该是软件问题了。
可以定时重载频率校正寄存器。
参考http://www.ti.com/lit/an/swra370/swra370.pdf
的3 Frequency Correction