我想知道外部晶体规格如何影响 CC1352P 的无线电性能。 我们使用的晶体的规格为48MHz、频率稳定性 约为+-30ppm。 最近、我们将晶体更改为频率稳定性为+-15ppm 的更好版本。 问题在于采用新晶体(+-15ppm)的器件无法与采用旧晶体(+-30ppm)的器件通信。 具有更好频率稳定性晶振的器件可以互相通信、而不会出现任何问题。 我们在频谱分析仪上通过检查了两个器件的 TX 音调、发现 TX 音调没有任何差异。
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.
我想知道外部晶体规格如何影响 CC1352P 的无线电性能。 我们使用的晶体的规格为48MHz、频率稳定性 约为+-30ppm。 最近、我们将晶体更改为频率稳定性为+-15ppm 的更好版本。 问题在于采用新晶体(+-15ppm)的器件无法与采用旧晶体(+-30ppm)的器件通信。 具有更好频率稳定性晶振的器件可以互相通信、而不会出现任何问题。 我们在频谱分析仪上通过检查了两个器件的 TX 音调、发现 TX 音调没有任何差异。
https://www.ti.com/lit/an/swra682/swra682.pdf 的第4章给出了所需的 RX BW。 此处的情况可能是30ppm xtals 在正极侧有一个位、而15ppm xtals 在负极侧(偏移与中心间的关系)
- 两个 Xtal 是否需要相同的负载电容?
-当您测量中心频率时,您是使用 RBW = 1 kHz 还是更低并放大?
您好!
要添加到 TheGhostOf 的注释:
SWRA122 (CC11xx 灵敏度与频率偏移和晶体精度间的关系): https://www.ti.com/lit/swra122
虽然是为 CC11xx 器件编写的、 第2款 概述 了 SWRA682描述的内容。 您需要按照应用手册中所述相应地调整 RXBW。
SWRA495 (晶体振荡器和晶体选择、用于 CC26xx 和 CC13xx 系列无线 MCU): https://www.ti.com/lit/swra495
本应用手册提供了有关晶体选择的更多详细信息。 表6-1 提供了推荐晶体列表。此致、
扎克
Zack、谢谢您提供的信息。 实际上、我使用 Smart RF Studio 以不同的晶体 ppm 测试了两个器件、它们似乎工作正常。 当我们在固件上运行器件时、会出现问题。 另一个重要的一点是、在固件中、我们实际上在 Smart RF Studio 上配置了射频设置、并从 Smart RF Studio 中导出代码、并将其与我们自己的固件集成(有时可能需要几周时间)。 我们是否可以选择将源代码的射频部分发送给像您一样的 TI 专家进行审阅并获取反馈。
内部电容器阵列从不关闭。 当您写入已禁用它的设置时、我假设您已将其设置为默认值、这意味着您的负载电容过高。 "SET_CCFG_MODE_CONF_XOSC_CAP_MOD 定义告诉系统它应该使用默认值还是使用由 SET_CCFG_MODE_CONF_XOSC_CAPARRAY_DELTA 设置的相对于默认值的偏移量。 ":见 www.ti.com/.../swra640g.pdf 中的6.4
GhostOf 事实证明 CapArray 未如您所说的那样关闭、并且被设置为其默认值。 似乎即使您未选中 Smart RFStudio 上的 CapArray 功能、在您设置其他射频参数并从 Smart RFStudio 导出代码时、也会应用默认的 CapArray 值-43。
我们发现在调整 CapArray 值方面有了一些改进。 我们还需要确认与在运行时更改 CapArray 值相关的一个事项。
我们 尝试在运行时使用函数 OSC_AdjustXoscHfCapArray (这是使用 SET_CCFG_MODE_CONF_XOSC_CAPARRAY_Delta 的替代方法)来调整 XOSC_HF 的电容器阵列值。
我们想知道如何 在我们的代码中实现 API 说明中的以下内容
"调整后的值在 XOSC_HF 停止并重新启动之前不会生效"
目前、我们实现了 如下内容、
static void apply_xocap_delta(int delta)
{
OSCHF_SwitchToRcOscTurnOffXosc();
OSC_AdjustXoscHfCapArray(delta);
OSCHF_TurnOnXosc();
}上面提到的代码操作和 CapArray 值被调整为我们定义的值。 我们想知道的是,这是否正确的方法? 此外、在更改 CapArray 值时、我们还需要考虑任何其他事项吗?
谢谢
尊敬的 Adnan:
我认为这线程会给你固件,它应该怎么做:
看起来实际上应该轮询 OSCHF_AttemptToSwitchToXosc 以确保它确实已关闭。
此致、
Arthur