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.

[参考译文] CC1310:如何更改射频频率

Guru**** 2482105 points
Other Parts Discussed in Thread: CC1310

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1265163/cc1310-how-to-change-rf-frequency

器件型号:CC1310

您好!
我工作的是基于 CC1310的专有硬件。 您能解释一下改变射频频率的正确方法吗? 我看到过之前的线程、并尝试应用这些线程、但是我的应用程序中有一些问题。   
我需要有关更改小于1 MHz 和大于1 MHz 的射频频带的分步说明。 如果您可以指导我或与我分享一些示例代码、那将是非常好的选择。

此致、

克南

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kenan:

    如果需要、软件专家将能够提供更多信息、但您是否 看过该主题?  https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/858575/cc1310-cc1310-examples-change-of-the-frequency-by-end-program-user

    还有以下有关 CC1310的主题帖讨论该主题:

    此致、

    扎克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zack、

    我以前检查过一个、现在全部检查过。 然而、线程中的信息对我来说既不是新的、也不是有用的。 我需要分步指南、尤其是关于更改设置 和重新启动射频的中心频率。 我使用了 RF_cmdF 来更改频率、但由于某种原因、代码中存在问题。 系统无法正常工作、因此我需要确定我更改频率的方式。

    此致、

    克南

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经通知了我们软件团队中的某个人、以便他们会 在本主题中向您提供更多指导。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用 RF_cmdF 更改频率一段时间,但由于某种原因,代码中存在问题。 系统无法正常工作,因此我希望确定更改频率的方式。

    尊敬的 Kenan:  

    您能否说明哪些功能不起作用?

    此致、

    SID

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!
    我尝试了来自不同线程的几个序列。 尽管我更改的频率超过了1 MHz、但我只更改了 RF_cmdF、而没有更改了 RF_cmdPropRadioDivSetup、并且系统运行良好。 然后组织应用程序代码更改几次、导致通信变得不一致。 这些信息有时被接收,有时不被接收。 然后、我检查了很多主题、并更改了  RF_cmdPropRadioDivSetup、注意了更改。 稍后、我会注意到、如果我在 I alter 和 post cmd 之后立即发出一个 RF 命令、系统将无法正常工作。 如果我延迟或使用 RF_runCmd 而不是发布、则一切都正常。 我当前更改频率的顺序如下:

    void Bsp_Rf_switchChannel(uint16_t freq)
    {
        RF_flushCmd(g_initParams.handle, RF_CMDHANDLE_FLUSH_ALL, 1);
    
        // Update center frequency using RF_cmdPropRadioDivSetup
        RF_cmdPropRadioDivSetup.centerFreq = freq;
        // Update setup configuration using RF_control
        RF_control(g_initParams.handle, RF_CTRL_UPDATE_SETUP_CMD,
                   (void*) &RF_cmdPropRadioDivSetup);
    
        // Yield the RF core to apply setup configuration changes
        RF_yield(g_initParams.handle);
    
        // Change frequency using RF_cmdFs
        RF_cmdFs.frequency = freq;
        RF_runCmd(g_initParams.handle, (RF_Op*) &RF_cmdFs, RF_PriorityNormal, NULL,
                  0);
    }


    但是、如果我移除与 RF_cmdPropRadioDivSetup 相关的部件、系统仍然可以正常运行、甚至可以更好地运行、因为射频内核未重新启动、它的速度更快。  

    您能否在这里解释我的情况并确认或纠正我的顺序?

    此致、

    Kenan Onat Kaplan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kenan:

    1MHz 时调节输出电压。 您需要 使用新的中心频率和 CmdFS 运行新的 RF_cmdPropRadioDivSetup 命令。

    这样可确保正确设置频率、并且频率合成器锁定在正确的所需频率。  

    如果频率差异小于1MHz,则可以简单地 运行新的命令行函数,而不必运行 RF_cmdPropRadioDivSetup。  

    关于你的第二个问题也是预期行为。  

    稍后,我注意到,如果我在更改后立即发出了 RF 命令,系统将无法正常工作。 如果我延迟或使用 RF_runCmd 而不是发布、则一切都正常。 [/报价]

    使用 RF_postCmd ()您只需发布无线电内核运行的命令。 您未等待对讲机完成执行此命令。 但使用 RF_runCmd (),您正在等待 CMDF 完成执行。 您需要先完成该执行、然后才能进行 TX 或 RX。  

    所以、更改1MHz 以上频率的命令序列是正确的。 只需运行一个新的 RF_cmdF、就可以在小于1MHz 的情况下运行。

    此致、

    SID