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.

[参考译文] LAUNCHXL-CC1312R1:Smart RF Studio 7 (2.25.0) TXCO 配置

Guru**** 2587345 points
Other Parts Discussed in Thread: CC1312R, SYSCONFIG, CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1113711/launchxl-cc1312r1-smart-rf-studio-7-2-25-0-txco-config

器件型号:LAUNCHXL-CC1312R1
主题中讨论的其他器件:CC1312RSysConfigCC1310

您好!

我尝试使用 SmartRF Studio 7 (2.25.0)将 CC1312R 评估板配置为使用 TXCO。  我通过在硬件之间交换来证明输出(尽管从 VDDS 而不是 DIO30运行 TCXO)。

此处的第26页建议 TCXO 设置为"设备配置"、但我找不到该菜单。  最接近的只能选择在差分或单端之间设置射频输出、但输入时钟上没有任何设置。

https://www.tij.co.jp/jp/lit/an/swra640f/swra640f.pdf?ts=1656490895088&ref_url=https%253A%252F%252Fwww.google.com%252F

我的目标是在尽可能小的相位噪声下生成固定频率 CW 输出。  这里有第13.3节介绍相位噪声、但这是代码导出输出-是否有任何信息说明如何使用各个寄存器的覆盖编辑器来实现此目的?

https://www.ti.com/lit/an/swra682/swra682.pdf?ts=1655300689499&ref_url=https%253A%252F%252Fwww.google.com%252F

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

    您好、Pete、

    您所指的第26页中的设置将在 Code Composer Studio 应用程序的 SysConfig 中进行配置。 不支持从 SmartRF Studio 启用 TXCO。 您可以在  simplelink SDK 中找到的正确射频示例(根据使用的堆栈和射频技术选择哪个示例)中应用 SysConfig 中提到的设置。

    此致、

    高斯图

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

    您好、Fausto、

    好的、谢谢-我认为"SmartRF Studio 2.17或更早版本不支持 TCXO"这一行意味着较新版本的版本。 我想这意味着它是在2.17是最新版本时编写的、目前不支持、而我的阅读中却说2.18和更新版本包含支持。

    我希望能够在稍后将软件交付到实施之前完成 SmartRF Studio 的基准测试-但我将下载 Code Composer Studio 并查看是否可以使其正常工作。

    谢谢、

    Pete

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

    您好、Pete、

    不可以、很遗憾、SmartRF Studio 7在任何发布版本中都不支持 TCXO。 我已与该工具的开发人员确认了这一点。

    此致、

    高斯图

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

    您好、Fausto、

    感谢您迄今提供的帮助。

    我在这方面取得了一些进展-使用 CSS、我使用了 CC1310 Launchpad 并根据 swra682评估了环路带宽。  然后、我获得了用于 CC1312R1 launchXL tr RTOS 7版本的 rfCarrierWave 演示、该版本可以引导 CC1312R 板。

    我更改了硬件以使用 TCXO、而不是晶体、但它不是由 GPIO 供电、而是从 VDDS 挂起。  这仍然适用于 RF Studio 以及 rfCarrierWave 演示的默认设置。

    但是、我正在努力解决两个问题:

    -我无法看到 SmartRF_settings 可以在何处迁移到其中以调整 Tx 输出。

    -我无法调整 syscfg 文件以正确定义它从 TCXO 运行。swra640显示了器件配置中所需的模式、但我很难在"电源"设置之间轻松切换。  我最初实际上并不需要"启用 TCXO 功能"、因为我已经使 TCXO 永久通电-但我无法确定如何禁用对该功能的需求。  我也找不到有关 GPIO 分配函数声明的任何文档。  主 c 文件调用 ti_drivers_config.h 的板头文件、但我无法在我的文件结构中找到它(也无法在驱动器上进行搜索)、以了解如何在我将 TCXO 迁移到 GPIO 控制时正确声明 GPIO 分配。

    抱歉、如果这一切都有点基础、我是从硬件角度来的、所以可能需要用软件的勺子来喂食- 抱歉、请提前!

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

    您好、Pete、  

    以下是您帖子中2个问题的答案:

    -配置射频设置的正常方法是直接修改 SysConfig 中的值。 假设您使用的是专有协议,您可以在专有射频用户指南 https://dev.ti.com/tirex/explore/node?node=AKo8sAEb13jFuenht-NmOQ__BSEc4rl__LATEST 中找到更多信息 。 更具体地说  ,在系统配置工具部分,您可以找到有关如何从 SysConfig dev.ti.com/.../node 中选择射频设置的更多详细信息。 如果您真的想从 Smart RF Studio 导出设置、这将需要更多的工作、但可以完成此工作、相关详细信息也可以在上面链接的部分或以下指南(https://software-dl.ti.com/lprf/smartrftm_studio/docs/help/html/cmd_code_export.html)中找到。  

    - SysConfig 中没有明确的方法来删除 Enable TCXO 函数。 如果您的 TCXO 始终处于通电状态、您可以创建一个函数并将其保留为空。 请记住、一旦您修改设计并将 TCXO 连接到 GPIO、就要修改此函数。

    例如:

    void Power_enableTCXO(bool turnOn)
    {
    
        // do nothing if TCXO is always powered-on
    
    }

    要控制 GPIO、您需要定义要从 SysConfig 接口使用的新 GPIO。 然后、使用由 GPIO 驱动程序定义的函数(在 docs/drivers/tidriversAPI.html -> gpio.h 中找到文档)来控制引脚的状态。

    请告诉我是否有不清楚的事情。  

    此致、

    高斯图  

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

    您好、Fausto、

    谢谢-我很高兴能在 Code Studio 中执行所有操作、我现在找到了重新配置位来设置频率等-当它认为它从晶体运行时、现在可以正常工作。

    但是、我仍然无法使其从 TCXO 模式运行。  我已经尝试按照您的建议添加空函数、并在其中使用一个断点运行(我在函数声明部分中将其添加到 rfCarrierwave.c 中)、它确实会经过这个过程-但在 PowerCC26X2.c 中、继续运行会遇到一段时间(1)

    *==== switchXOSCHF ======
    *在 XOSC_HF 稳定后切换到它。
    *
    静态空 switchXOSCHF (空)

    bool readyToCal;
    unsigned int key;

    KEY = Hwip_disable();

    if (!PowerCC26X2_oschfTrySwitchToXosc ()){
    /*在我们被告知 XOSC 准备就绪后无法切换到 XOSC
    *切换。 如果我们旋转、没有合理的恢复、这是很好的
    *防止此类错误的机制。
    *
    while (1);

    当我将其设置为使用 TCXO 时、为什么它会尝试切换到 HF OSC? 除了这三个步骤之外、是否还有其他地方需要修改才能定义从 TCXO 而不是晶体运行?:

    - TI 器件>器件配置

    - TI 驱动程序>电源

    -电源使能路由添加到代码中

    感谢您的耐心等待、

    Pete  

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

    您好、Pete、

    您使用的是哪个 SImplelink SDK 版本和编译器? simplelink SDK 6.10.00.29中存在一个错误、导致您在从内部振荡器切换到外部 TCXO 时看到的行为相同。 此错误已在内部修复、将在下一个第2季度 Simplelink SDK 中发布。  

    这是由于时间略有变化。 您可以尝试在切换前增加一个小延迟、将 switchXOSCHF 修改为以下内容:

    static void switchXOSCHF(void)
    {
        bool readyToCal;
        unsigned int key;
    
        key = HwiP_disable();
    
        delayUs(5); 
    
        if (!PowerCC26X2_oschfTrySwitchToXosc()) {
            /* Unable to switch to XOSC after we were informed it is ready to
             * switch. It is fine if we spin, there is no sensible recovery
             * mechanism from such an error.
             */
            while(1) ;
        }

    请告诉我这是否可以解决问题。

    此致、

    高斯图

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

    您好、Fausto、

    非常好-是的、我使用的是6.10.00.29、这已经结束了。  

    因此、尝试获得最小相位噪声(但尝试不增加杂散负载)的下一位将是评估如何改变环路带宽(因此返回 swra682第13.3节环路带宽)。  这就是我在1310上使用 Smart RF Studio 输出的原因、因为该代码部分位于 SmartRF_Settings 中。  我在 syscfg 的射频堆栈或射频系统中看不到等效产品-您能不能向正确的方向指示我?

    谢谢、

    Pete

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

    您好、Pete、

    要添加这些覆盖、您可以使用 SysConfig 中的"应用程序覆盖"功能。 从 SysConfig 界面打开"Custom "->"Custom PHY settings"->"Code export configuration "->"Application Override":

    然后创建头文件 ex. my_overrides.h 并添加一个包含覆盖项的宏、而无需添加到 pOverrides 结构中:

    #ifndef MY_OVERRIDES_H_
    #define MY_OVERRIDES_H_
    
    #define MY_OVERRIDES() \
    /* Synth: Set loop bandwidth after lock to 20 kHz (K2) */ \
    (uint32_t)0x0A480583, \
    /*Synth: Set loop bandwidth after lock to 20 kHz (K2) */ \
    (uint32_t)0x000005A3, \
    /* Synth: Set loop bandwidth after lock to 20 kHz (K3, LSB) */ \
    (uint32_t)0x7AB80603, \
    /* Synth: Set loop bandwidth after lock to 20 kHz (K3, MSB) */ \
    (uint32_t)0x00000623, \
    /* Synth: Set FREF = 8 MHz */ \
    (uint32_t)0x000684A3
    
    #endif /* MY_OVERRIDES_H_ */

    请注意、不要在最后一次覆盖上添加逗号、因为 SysConfig 已在宏名称之后添加了该逗号。 此外,宏中的注释需要采用“/*注释此处*/”的样式,以便能够如上所述使用多行宏。  

    修改 ti_radio_config.c 文件以将覆盖项添加到该另一帖子 https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/849768/ccs-cc1312r-sysconfig-radio-overrides/3142651?tisearch=e2e-sitesearch&keymatch=pOverrides%20sysconfig#3142651中所述的 pOverrides 结构的其他 hacky 方法。 但是、它们要么需要为生成的无线电文件禁用 SysConfig、要么需要在运行时创建更大的新覆盖结构。

    此致、

    高斯图  

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

    谢谢 Fausto、太棒了。  32kHz 时钟在输出上似乎有了很大的突破、随着本底噪声的降低、这一点变得更加明显、并阻碍了下底板的实用性-因此我将了解我是否可以对此做任何事情。  但是、在控制和设置方面(除非有方法在运行时禁用32kHz?) 这已经回答了我的问题-感谢您的支持!