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.

[参考译文] CC1312R:如何在代码中动态设置射频频率?

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1197570/cc1312r-how-to-dynamically-set-the-rf-frequency-in-the-code

器件型号:CC1312R

大家好、

// CMD_FS
// Frequency Synthesizer Programming Command
rfc_CMD_FS_t RF_cmdFs_slr2500bps2gfsk433mhz_0 =
{
    .commandNo = 0x0803,
    .status = 0x0000,
    .pNextOp = 0,
    .startTime = 0x00000000,
    .startTrigger.triggerType = 0x0,
    .startTrigger.bEnaCmd = 0x0,
    .startTrigger.triggerNo = 0x0,
    .startTrigger.pastTrig = 0x0,
    .condition.rule = 0x1,
    .condition.nSkip = 0x0,
    .frequency = 0x01BC,
    .fractFreq = 0x0000,
    .synthConf.bTxMode = 0x0,
    .synthConf.refFreq = 0x0,
    .__dummy0 = 0x00,
    .__dummy1 = 0x00,
    .__dummy2 = 0x00,
    .__dummy3 = 0x0000
};

ti_radio_config.c 中的此段包含与频率相关的信息。 如果 我想在代码中动态设置它、 我该怎么做? 频率设置是否有阶跃限制?

此致、

Katherine

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

    您好、Katherine、  

    您需要对频率进行多大的变化? 您希望多久进行一次该更改?

    此致、

    SID

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

    尊敬的 Sid:

    我使用了 NVS 中的参数 在 启动后进行初始化。 我没有在正常运行时修改频率 、仅在现场频率被占用时设置射频 、以避免信道繁忙。

    此致、

    Katherine

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

    您好、Katherine、  

    更新频率的方法取决于所需的频率变化大小。  频率由设置命令(CMD_RADIO_SETUP)和频率合成器命令(CMD_FS)控制。  

    检查所需命令差异的最佳方法是使用 SmartRFStudio。 

    如果更改小于 setup 命令中定义的 centerFreq 值1MHz,则只需修改 CMD_FS 中的 fractFreq 字段即可。  在更新 fractFreq 字段后,应再次运行命令行函数。  

    运行 CMD_FS 后、无线电将以新频率传输或接收、即使在睡眠之间也会保持该频率设置。  

    但是、每次从设置命令中的初始中心频率增加到1MHz 以上时、需要在设置命令中更改中心频率时、情况就不同了。 这需要对 setup 命令本身进行更新。

    无论何时需要更改 setup 命令,都需要执行以下步骤。  

    1.更新所需设置命令中的字段。 在您的情况下是 centerFreq。

    2.使用 RF_CONTROL() API 让对讲机知道设置命令需要在下一次对讲机开机时更新。  

    RF_control(handle, RF_CTRL_UPDATE_SETUP_CMD, 0);

    3.然后执行 rf_yelle()。 这将关闭无线电。  

    4.然后调度 TX 命令。 现在、无线电将唤醒、然后以您需要的新频率进行传输。 执行上述序列后、即使在睡眠之间、对讲机也将具有此新设置、直到您再次更改设置。

    希望这对您有所帮助。

    此致、

    SID

     

     

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

    尊敬的 Sid:

    感谢您的答复。 要设置的频率是否有阶跃限制、或者它是否可以在频率和 fractFreq 允许的范围内自由设置?

    此外、433M 远距离模式的 默认频率为433.9203M、而其它模式的默认频率为433M。 该频率是否有特殊指示?

    此致、

    Katherine

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

    尊敬的 Sid:

    感谢您的答复。 要设置的频率是否有阶跃限制、或者它是否可以在频率和 fractFreq 允许的范围内自由设置?

    此外、433M 远距离模式的 默认频率为433.9203M、而其它模式的默认频率为433M。 该频率是否有特殊指示?

    此致、

    Katherine

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

    您好、Katherine、  

    我会通知我们的射频专家。 他们会很快回复给您。  

    此致、
    SID

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

    尊敬的 Sid:

    我的问题是否有任何更新?

    此致、

    Katherine

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

    您能否分享您编写的代码?

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

    -频率必须设置在 数据表中8.9 RF 频段中定义的频段内"。 可以在频带内自由设置频率。 这是从无线电角度来看的。 对于实际使用、您必须检查您希望在哪个/哪些国家/地区操作的法规、并确定您可以使用哪些频率(等等)。  433.92 MHz 是这个频带内的一个典型频率、如果您观察很多或者车库开门器等、您将看到他们使用这个频率。  

    - VCO 具有有限的分辨率、请参阅  https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/792488/cc1310-frequency-resolution-of-the-modulator

    不记得 CC1312R 是否具有不同的分辨率、但它会为您提供指示。 另请参阅 www.ti.com/.../swra682.pdf