This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于CC1120的Frequency Compensation的应用

根据SWRU295E 《CC112X/CC1175 Low-Power High Performance Sub-1 GHz RF Transceivers/Transmitter User’s Guide》文档中的第67页中,9.12 RF Programming 章节中的说明。

里面涉及到了FREQOFF0、FREQOFF1、FREQOFF_EST0和FREQOFF_EST1寄存器,还提及到了SAFC命令。

但是根据文档以上的说明以及寄存器的说明,我们并不知道这些寄存器该怎么使用,还有SAFC命令使用的时机以及会产生的效果(或影响)。

我们当前使用的配置如下:

Xtal Frequency   32MHz

Symbol Rate       76.8KSps

Deviation             38.4KHz

Modem Format   2FSK

Rx Filter BandWidth 200KHz

请教该如何使用SAFC指令或者配置FREQOFF相关的寄存器来提高我们的通信性能?是否有相关的说明文档或者例程?

 

希望能得到贵司技术人员的答复,非常感谢!

  • 请参考这边的类似问题,里面提供了例程:e2e.ti.com/.../580857
  • 非常感谢,我们根据此链接找到了 swra493 - CC112x-CC1190 Boost Software Examples,该例程对我们开发非常有帮助。

    但是却仍然没有关于SAFC指令的使用例子,我们也阅读了swrc253e 的源码,也找不到使用的相关例子。在SWRU295E 《CC112X/CC1175 Low-Power High Performance Sub-1 GHz RF Transceivers/Transmitter User’s Guide》文档中也没有更多的描述。

    可否再提供一下指导或说明,这条指令在什么情况下适用?执行了之后会有什么效果或者影响?

    非常感谢!

  • 我找了一些资料,这个指令比较旧,而且实践下来,效果不如手动做频偏补偿。

    FREQOFF_EST里的数据是最后收到的那个数据包的频偏估算值,RF频率由 FREQ及 FREQOFF设置。你可以用SAFC,把 FREQOFF_EST中的数值赋给FREQOFF。但是鉴于上文所诉,效果不如手动做频偏补偿。如果在时间0找到偏移量并将该偏移量放在FREOFF寄存器中,则获得的性能会非常好。 但是随着时间的流逝,由于晶振的漂移(温度原因和老化原因),RX和TX端的中心频率都会随着时间而变化。 因此,读取每个接收到的数据包的频偏估计值并相应地调整FREQOFF寄存器的内容将提供更好的性能。

    关于手动频偏补偿的操作,请参考:DN015_Permanent_Frequency_Offset_Compensation.pdf