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:如何在 ZNP 应用程序中将自定义 PA 配置为 Rx/Tx/SLEEP 操作

Guru**** 2465890 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1171694/cc1352p-how-to-configure-custom-pa-into-rx-tx-sleep-operations-in-znp-application

器件型号:CC1352P
Thread 中讨论的其他器件:SysConfig

我正在使用 simplelink_cc13xx_cc26xx_sdk_6_30_01_03、我已经使用 SmartRF-Studio 测试了 PA 并验证了它是否正常工作、我只需要知道代码中应该打开 Tx PA 的位置、何时将其设置为 Rx 以及何时关闭。 目前、我们正在使用 ZNP 进行评估、但最终将成为 ZED。

谢谢!

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

    您好、Luis、  

    只需确认一下、您谈论的是内部高 PA、而不是外部 PA?  内部高 PA 由射频层自动控制、ZNP 可配置为休眠 ZED 节点、以便在无活动期间进入待机模式。  对于外部 PA 控制、 射频内核信号可路由到物理引脚。  您到底要实现什么目标?

    此致、
    Ryan

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

    您好、Ryan、

    它符合您提到的第二个选项、即外部 PA、此处显示了该真值表:

    status_t uNodeRFSetDriverState(RFPAState_t RFPAState)
    {
    
        switch(RFPAState)
        {
        case RF_STATE_SLEEP:
            GPIO_write(RF_PA_EN, CONFIG_GPIO_LED_OFF);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_EN, CONFIG_GPIO_LED_OFF);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_SELECT, CONFIG_GPIO_LED_OFF);
            break;
        case RF_STATE_RX:
            GPIO_write(RF_PA_EN, CONFIG_GPIO_LED_ON);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_EN, CONFIG_GPIO_LED_OFF);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_SELECT, CONFIG_GPIO_LED_OFF);
            break;
        case RF_STATE_TX_SUBG:
        case RF_STATE_TX_G:
            GPIO_write(RF_PA_EN, CONFIG_GPIO_LED_ON);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_EN, CONFIG_GPIO_LED_OFF);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_SELECT, CONFIG_GPIO_LED_OFF);
            break;
        case RF_STATE_TX_LONG_RANGE_SUBG:
            GPIO_write(RF_PA_EN, CONFIG_GPIO_LED_ON);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_EN, CONFIG_GPIO_LED_ON);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_SELECT, CONFIG_GPIO_LED_OFF);
            break;
        case RF_STATE_TX_LONG_RANGE_G:
            GPIO_write(RF_PA_EN, CONFIG_GPIO_LED_ON);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_EN, CONFIG_GPIO_LED_ON);
            GPIO_write(RF_PA_LONG_RANGE_G_SUBG_SELECT, CONFIG_GPIO_LED_ON);
            break;
        }
    
        return STATUS_SUCCESS;
    }

    射频内核的映射似乎是我们所需要的、但是 、我们需要找到一种方法将2个信号混合到同一个 GPIO 中...

    当 Tx 和 Rx 操作完成时、RF_PA_EN 需要打开。

    而 RF_PA_LON_RANGE_G_SUBG_EN 仅在 Tx 操作完成时才需要启用。

    RF_PA_LON_RANGE_G_SUBG_SELECT 由运行2.4GHz 或 SubGHz 的应用驱动。

    是否有办法做到这一点、或者我们是否应该有一些外部组件根据射频内核提供的内容创建此逻辑?

    谢谢!

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

    您好、Ryan、

    很抱歉、我的硬件人员感到困惑。 因此、我们没有外部 PA、我们将使用内部 PA、但我们有射频开关、我们需要根据 所做的工作来启用信号... 因此、对于路由器件的开发、我们可以始终开启射频开关(使用 GPIO API 始终开启射频开关并开启所需的配置)、 但在某些时候、我们将在需要有射频内核的终端器件上工作、以启用/禁用我们需要混合射频内核信号(或它们)的射频开关控制、例如将信号多路复用为2个不同的 GPIO。

    当我们使用无线电时、DIO5需要为逻辑"1"、这是当射频内核执行 Rx 或 Tx 操作时... 但是、我看到信号配置似乎是互斥的、因此 RFC_DBELL_SYSGPOCTL_GPOCTL0_CPEGPO1 和 RFC_DBELL_SYSGPOCTL_GPOCTL0_CPEGPO0不能同时使用...

    此外、DIO7还需要由 RFC_DBELL_SYSGPOCTL_GPOCTL0_CPEGPO0驱动、DIO5已经使用了该路径(DIO7启用了使用高功率传输时所需的高功率射频路径)。

    如果这无法通过射频内核 GPIO 映射来完成、那么我想我们需要对终端器件的射频模块进行重新设计、对吧? 是否有任何其他方法可以通过软件配置/实现这一点?

    感谢您在这方面提供的任何帮助。 谢谢、很抱歉造成混淆。

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

    您好、Luis、

    感谢您的澄清。  您可以在 工程编译后参考由 ti_drivers_config.c 内的 SysConfig 生成的 rfDriverCallbackAntennaSwitching、以了解默认的无线电引脚控制。  该函数被定义为弱标记、以便您可以根据项目的需要重新定义它。 您将需要将该知识与先前的 Prop RF 用户指南中提供的信息结合使用、以便根据您的需求进一步开发您的应用。

    此致、
    Ryan