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:为2.4 GHz启用高PA

Guru**** 2454880 points
Other Parts Discussed in Thread: CC1352P, CC2652P, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1093263/cc1352p-enabling-high-pa-for-2-4-ghz

部件号:CC1352P
主题中讨论的其他部件: CC2652P,sysconfig,

您好,

我知道在论坛中多次询问此功能,但这些线程中的大多数都较旧,因此我希望此功能在此期间可用,或者有一个解决方法。

我想在专有模式下测试CC1352P在2.4 GHz频段中的范围。 当然,我也想用高传输功率来测试它。  

该线程 指出,高PA可以在802.15 .........4模式下激活,但在我的情况下,即使如此也是不可能的(使用Smart RF 2.24 7版本。0)。  链接到的线程 表示在选择具有20 dBm的CC2652P的BLE模式时,您可以通过SmartRF Studio的代码导出工具将pOverridesTx20[]和txPowerTable添加到RF配置中(但它围绕CC2652P)。  当我从那里使用pOverridesTx20时,CC1352P似乎使用了非常低的传输功率设置(RSSI约为-68 dBm,用于位于发射器旁边的另一个LaunchPad,而使用5 dBm传输功率时为-15 dBm)。 如果我使用CC2652P的802.15 4模式中的pOverrideTx20,也会发生同样的情况。

高PA在2.4 GHz专有模式下是否仍然不可用? 是否有解决方法至少评估我们应用的频段范围?  

提前感谢您的参与。

Alex

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

    链接到的E2E线程仍然有效。  

    我目前没有任何硬件可用(从远程位置工作),因此无法测试。 但您能否发布当前的代码实施? 特别是,您是否检查交换机是否设置为正确的路径?  

    既然您询问SmartRF Studio,这是否意味着您使用相对较旧的SDK版本而不使用syscfg? 我从之前的帖子中得到的印象是,您打算使用最新的SDK?  

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

    很抱歉这么长的回答,但也许我应该说明我做了什么以及我将来要做什么。

    目前我刚刚开始开发我的软件。 首先,我处理了各种示例项目,只是为了看看硬件和SDK的功能。 我使用的主要示例是rfEasyLinkEcho和rfAudio示例。

    • 从rfEasyLinkEcho中,我喜欢sysconfig工具,它可以轻松地添加和更改驱动程序,特别是PHY配置。 这非常好,因为 我们目前正在评估 如何与多个参与者一起实施音频应用程序。 通过sysconfig进行的简单配置将使我们能够评估我们的选项(频段,数据速率,TX功率等),以便在以后的产品实施中使用CC1352P。 为什么使用EasyLink? 好的,因为它有一些很好的功能,比如CCA,异步传输和接收,就像我在之前的回复中所说的。
    • rfAudio示例非常好,因为它已经实现了音频压缩编解码器。  

    这是我对 你最后一个问题的较长的回答 ,这可能会让我之前的帖子更加清晰。 简而言之,是的,我想使用sysconfig,但问题是rfAudio示例没有实现它。 我把这两个项目合并起来的第一次尝试并不是很成功,导致了许多汇编和链接错误,但这是另一个问题。

    现在,在我继续尝试合并这些项目之前,我想用不同的PHY配置测试范围,使用rfAudioTx/Rx示例进行简单的音频传输。 所以对于这个问题,我只使用了这个项目。 我使用了SmartRF Studio和代码导出工具,正如您 在此处建议的那样。 我配置了三种不同的PHY配置(91.5868万和2400 MHz),它们都工作正常。 Sub-GHz频率的高PA设置似乎也正常工作。 为2400 MHz频段启用高PA是个问题。  

    下面,您可以找到我尝试过的三个pOverrideTx20定义:两个来自CC2652P (BLE和IEEE),一个是我在其中使用了来自Sub-GHz PHY (868 MHz)的CC1352P的pOverrideTx20。 所有这些都是从SmartRF Studio导出的。 它们都不起作用。 在所有情况下,传输功率都会下降,因此接收器板测得的RSSI值约为-70 dBm,即使这些板彼此相邻。  我没有更改示例中的任何其他内容(音频编解码器的某些设置除外,因此现在应该不相关)。

    // 20 dBm override from CC2652P, IEEE 802.15.4
    // does not work
    // Overrides for CMD_PROP_RADIO_DIV_SETUP_PA
    uint32_t pOverridesTx20[] =
    {
        // The TX Power element should always be the first in the list
        TX20_POWER_OVERRIDE(0x003F75F5),
        // The ANADIV radio parameter based on the LO divider (0) and front-end (0) settings
        (uint32_t)0x01C20703,
        // override_tx20_settings.xml
        // Set RTIM offset to 3 for high power PA
        (uint32_t)0x00038783,
        // Set synth mux for high power PA
        (uint32_t)0x010206C3,
        // Set TXRX pin to 0 in RX/TX and high impedance in idle.
        HW_REG_OVERRIDE(0x60A8,0x0001),
        (uint32_t)0xFFFFFFFF
    };
    
    // 20 dBm override from CC2652P, BLE
    // does not work
    // Overrides for CMD_BLE5_RADIO_SETUP_PA
    uint32_t pOverridesTx20[] =
    {
        // The TX Power element should always be the first in the list
        TX20_POWER_OVERRIDE(0x003F75F5),
        // The ANADIV radio parameter based on the LO divider (0) and front-end (0) settings
        (uint32_t)0x01C20703,
        // override_tx20_settings.xml
        // Bluetooth 5: Set RTIM offset to 3 for high power PA
        (uint32_t)0x00030783,
        // Bluetooth 5: Set synth mux for high power PA
        (uint32_t)0x010206C3,
        // Set TXRX pin to 0 in RX/TX and high impedance in idle.
        HW_REG_OVERRIDE(0x60A8,0x0001),
        // Bluetooth 5: Turn off DTX gain adjustment
        (uint32_t)0x000007E3,
        // Bluetooth 5: Set default TX shape
        (uint32_t)0x00008C73,
        (uint32_t)0xFFFFFFFF
    };
    
    // CC1352P, 868 MHz
    // does not work
    // Overrides for CMD_PROP_RADIO_DIV_SETUP_PA
    uint32_t pOverridesTx20[] =
    {
        // The TX Power element should always be the first in the list
        TX20_POWER_OVERRIDE(0x001B8ED2),
        // The ANADIV radio parameter based on the LO divider (0) and front-end (0) settings
        (uint32_t)0x11C10703,
        // override_phy_tx_pa_ramp_genfsk_hpa.xml
        // Tx: Configure PA ramping, set wait time before turning off (0x1F ticks of 16/24 us = 20.3 us).
        HW_REG_OVERRIDE(0x6028,0x001F),
        // Set TXRX pin to 0 in RX/TX and high impedance in idle.
        HW_REG_OVERRIDE(0x60A8,0x0001),
        (uint32_t)0xFFFFFFFF
    };
    
    
    // CMD_PROP_RADIO_DIV_SETUP_PA
    // Proprietary Mode Radio Setup Command for All Frequency Bands
    rfc_CMD_PROP_RADIO_DIV_SETUP_PA_t RF_cmdPropRadioDivSetup =
    {
        .commandNo = 0x3807,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .modulation.modType = 0x1,
        .modulation.deviation = 0x1F4,
        .modulation.deviationStepSz = 0x0,
        .symbolRate.preScale = 0xF,
        .symbolRate.rateWord = 0x28000,
        .symbolRate.decimMode = 0x0,
        .rxBw = 0x5B,
        .preamConf.nPreamBytes = 0x4,
        .preamConf.preamMode = 0x0,
        .formatConf.nSwBits = 0x20,
        .formatConf.bBitReversal = 0x0,
        .formatConf.bMsbFirst = 0x1,
        .formatConf.fecMode = 0x0,
        .formatConf.whitenMode = 0x0,
        .config.frontEndMode = 0x0,
        .config.biasMode = 0x1,
        .config.analogCfgMode = 0x0,
        .config.bNoFsPowerUp = 0x0,
        .config.bSynthNarrowBand = 0x0,
        .txPower = 0xFFFF,
        .pRegOverride = pOverrides,
        .centerFreq = 0x0988,
        .intFreq = 0x0800,
        .loDivider = 0x00,
        .pRegOverrideTxStd = 0,
        .pRegOverrideTx20 = pOverridesTx20
    };
    

    如果您需要更多的源代码,请告诉我。

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

    要了解基础知识:我假设您正在使用此主板: LAUNCHLL-CC1352P-2?  

    您是否有RF仪器? 如果您能够直接测量输出功率,则更容易查看代码是否有效。 但在这种情况下,很明显,这不是因为测量到的RSSI非常低。 我需要比覆盖更多的代码,最重要的是验证是否实际使用了正确的覆盖。  

    如果我要检查一下我是否可以以20 dBm的速度启动并运行prop 2.4 GHz,我会从rfCarrierWave示例开始,因为它的简单性。  

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

    我使用的是LAUNCXL-CC1352P1。

    我必须与我们的硬件工程师讨论我们的射频仪器。 可能要等到下周开始。  

    也许我不明白您的意思,我假定确实使用了覆盖,因为RF_cmdPropRadioDivSetup包括指向覆盖的指针,并且在启动时的示例中调用了setup命令。 根据CC1352P的参考手册,第1995页的25.3 .3.1 2节:

    每次数据包传输开始设置输出功率时,都会存储并应用txPower参数
    带温度补偿。 以后可以使用命令CMD_SET_TX_POWER更改此设置
    (请参阅25.3 .3.2 .16节)。 如果txPower为0xFFFF,则选择20 dBm PA而不是正常的PA。 这个
    只允许在"P"设备上进行设置。 如果使用此设置,则会按照表中的定义进行20 dBm PA功率覆盖
    25-22为必填项;如果缺少setup命令,则命令将以错误结束。

    正如您在代码片段中看到的那样,txPower字段是0xFFFF,并相应地设置了覆盖指针。 由于该板发送软件包(但电源不正确),我认为 对讲机设置命令 本身以及覆盖执行过程不会出错(根据手册)。 对讲机设置命令的调用如下所示(原示例,不由我更改)

    /* Setup radio */
    RF_Params rfParams;
    RF_Params_init(&rfParams);
    
    
    /* Request access to the radio */
    rfHandle = RF_open(&rfObject, &RF_prop,
                       (RF_RadioSetup*)&RF_cmdPropRadioDivSetup, &rfParams);
    
    RF_runCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0);

    我不知道Tx20的覆盖内容是否正确。

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

     在LAUNCHLL-CC1352P1上,20 dBm PA路径针对915 MHz进行了优化。 如果您要测试10 dBm或20 dBm @ 2.4 GHz,则应使用 LAUNCHLL-CC1352P-2。

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

    哦。 我明白了。 我不知道与其他主板的区别,因为我没有自己选择硬件。 谢谢你。 我认为这条线已关闭。