TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1312R: 这么在代码中动态设置射频频率?

Part Number: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中这段包含了频率信息,如果要在代码中动态设置的话,要怎么操作,频率设置是否有step限制?

Katherine Wang:

已为您联系TI工程师,稍后给您回复

,

Katherine Wang:

您需要频率改变多少?您希望多久进行一次此更改?

,

Jiachen Zhu:

启动时使用NVS中的参数进行初始化,正常使用时不修改频率,仅当现场频率被占用时对RF进行设置,避开忙碌信道

,

Katherine Wang:

已为您咨询TI资深工程师,一旦得到回复会立刻回复给您

,

Katherine Wang:

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

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

如果变化小于设置命令中定义的 centerFreq 的 1 MHz,您可以只修改 CMD_FS 中的 fractFreq 字段。更新 fractFreq 字段后,您应该再次运行 cmdFs。

运行 CMD_FS 后,无线电将以新频率发送或接收,即使在睡眠之间也会保持此频率设置。

但是,您每次从设置命令中的初始 centerFreq 增加 > 1MHz 时,都需要更改设置命令中的中心频率,这种情况下就不一样了,此时需要更新设置命令本身。

每当您需要更改设置命令时,您需要执行以下序列。

1. 根据需要更新设置命令中的字段,在您的案例中是centerFreq。

2. 使用 RF_control() API 让无线电知道设置命令需要在下次无线电上电时更新。

RF_control(handle, RF_CTRL_UPDATE_SETUP_CMD, 0);

3. 然后执行RF_yield(),这应该关闭无线电。

4. 然后安排您的 TX 命令。现在,无线电将唤醒,然后以您需要的新频率进行传输。一旦执行了上述序列,即使在睡眠之间,无线电也会保留这个新设置,直到您再次更改设置。

希望对您有所帮助。

,

Jiachen Zhu:

感谢解答,设置的频率是否有step限制,还是可以在frequency、fractFreq允许的范围内随意设置?

另外,433M的long range 模式,默认频率是433.9203M,而别的模式是433M整,这个频率是否有特殊含义?

,

Katherine Wang:

您能分享您写的代码吗?

,

Katherine Wang:

– 频率必须设置在数据表中“8.9 射频频段”中定义的频段内。频率可以在频段内自由设置。这是从无线电的角度来看的。对于实际使用,您需要查看您想在其中操作的国家/地区的法规(s) 并找到允许您使用的频率(等)。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

赞(0)
未经允许不得转载:TI中文支持网 » CC1312R: 这么在代码中动态设置射频频率?
分享到: 更多 (0)