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.

[参考译文] CC2651P3:采用 RKP 封装的+10dBm TX 功率

Guru**** 633805 points
Other Parts Discussed in Thread: CC2651P3, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1178234/cc2651p3-10dbm-tx-power-with-rkp-package

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

在"CC2651P3:DIO_21"主题中、Ryan Brown 发布 了一个 ti_radio_config.c、用于使用采用 RKP 封装(40引脚)的 CC2651P3提供+10dBm 输出功率。 当时我没有硬件、因此无法测试。 现在我有硬件、我的配置有问题。

发布的文件包含此电源表:

RF_TxPowerTable_Entry txPowerTable_2400_pa5_10[TXPOWERTABLE_2400_PA5_10_SIZE]=

{-20、RF_TxPowerTable_DEFAULT_PA_Entry (8、3、0、2)}、 // 0x04C8
{-18、RF_TxPowerTable_DEFAULT_PA_Entry (10、3、0、2)}、 // 0x04CA
{-15、RF_TxPowerTable_DEFAULT_PA_Entry (13、3、0、3)}、 // 0x06CD
{-12、RF_TxPowerTable_DEFAULT_PA_Entry (16、3、0、5)}、 // 0x0AD0
{-10、RF_TxPowerTable_DEFAULT_PA_Entry (19、3、0、5)}、 // 0x0AD3
{-9、RF_TxPowerTable_default_pa_entry (20、3、0、6)}、 // 0x0CD4
{-6、RF_TxPowerTable_default_pa_entry (19、2、0、11)}、 // 0x1693
{-5、RF_TxPowerTable_default_pa_entry (21、2、0、11)}、 // 0x1695
{-3、RF_TxPowerTable_DEFAULT_PA_Entry (25、2、0、12)}、 // 0x1899
{0、RF_TxPowerTable_DEFAULT_PA_Entry (29、1、0、22)}、 // 0x2C5D
{1、RF_TxPowerTable_DEFAULT_PA_Entry (33、1、0、25)}、 // 0x3261
{2、RF_TxPowerTable_DEFAULT_PA_Entry (38、1、0、31)}、 // 0x3E66
{3、RF_TxPowerTable_DEFAULT_PA_Entry (47、1、0、36)}、 // 0x486F
{4、RF_TxPowerTable_DEFAULT_PA_Entry (32、0、0、65)}、 // 0x8220
{5、RF_TxPowerTable_DEFAULT_PA_Entry (46、0、0、59)}、 // 0x762E
{6、RF_TxPowerTable_HIGH_PA_Entry (42、0、1、39、 20)}、// 0x144F2A
{7、RF_TxPowerTable_HIGH_PA_Entry (31、1、0、20、 20)}、// 0x14285F
{8、RF_TxPowerTable_HIGH_PA_Entry (26、1、1、25、 16)}、// 0x10335A
{9、RF_TxPowerTable_HIGH_PA_Entry (31、1、1、31、 16)}、// 0x103F5F
{10、RF_TxPowerTable_HIGH_PA_Entry (38、1、1、39、 16)}、// 0x104F66
RF_TxPowerTable_termination_entry
};

但是,当我使用此表时, 如果任何大于5dBm 的值,RF_setTxPower()都将失败。 我正在使用 rfDiagnostics 示例项目。 我在 radio.c 中的这个位置设置一个断点:

bool Radio_setPower (INT8_t i8TxPowerDbm)

  rf_TxPowerTable_value newValue;

  newValue =
    RF_TxPowerTable_findValue (((RF_TxPowerTable_Entry *) PhySettings_supportedPhys[currentPhyNumber].rf_pTxPowerTable、
    i8TxPowerDbm);
  if (newValue.rawValue =RF_TxPowerTable_INVALID_VALUE)
  {
    返回 false;
  }

-> RF_Stat rfStatus = RF_setTxPower (rfHandle、newValue);

  if (rfStatus =RF_StatusSuccessess)
  {
    返回 true;
  }
  其他
  {
    返回 false;
  }

当我尝试设置+10dBm 时, 使用有效的 rfHandle 调用 RF_setTxPower(),newValue = 0x104F66,这是 PowerTable 中的正确值。 但是, RF_setTxPower()返回 RF_StatusInvalidParamsError。 当我尝试设置+5dBm 或更低时, RF_setTxPower()返回 RF_Successess。

我对 RF_setTxPower()没有源访问权限,因此我不知道问题是什么。

此致、
Andy

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

    尊敬的 Andy:

    您是否从 rfDiagnostics.syscfg Custom -> IEEE 选项中启用了"High PA"?  之后、您仍需要在   ti_radio_config.c 中将 txPowerTable_2400_pa5_20替换为 txPowerTable_2400_pa5_10、这将需要从 SysConfig 中删除此文件->生成的文件->包含在编译设置中、并将副本直接放置在主工程目录中。

    此致、
    Ryan

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

    您好、Ryan、

    不、我没有在 IEEE 选项中启用"High PA"。 启用/禁用此选项会更改 ti_radio_config.c 中的代码 我使用了您发送给我的 ti_radio_config.c 中的代码、因为我认为您希望我这样做。

    以下是在选择"High PA"和取消选择时生成的代码之间的差异:

    "高 pa"取消选择:

    // CMD_RADIO_SETUP_PA
    //预定义方案的无线电设置命令
    RFC_CMD_RADIO_SETUP_PA_t RF_cmdRadioSetup_ie154 =

    .commandNo = 0x0802、
    .status = 0x0000、
    .pNextOp = 0、
    .StartTime = 0x00000000、
    .startTrigger.triggerType = 0x0、
    .startTrigger.bEnaCmd = 0x0、
    .startTrigger.triggerNo = 0x0、
    .startTrigger.PastTrig = 0x0、
    .condition.rule = 0x1、
    .condition.nSkip = 0x0、
    .mode = 0x01、
    .loDivider = 0x00、
    .config.frontEndMode = 0x0、
    config.biasMode = 0x1、
    config.analogCfgMode = 0x0、
    config.bNoFsPowerUp = 0x0、
    CONFIG.bSynthNarrowBand = 0x0、
    TxPower = 0x762E、
    .pRegOverride = pOverrides_ie154、
    .pRegOverrideTxStd = 0、
    .pRegOverrideTx20 = 0
    };

    选择的"高 PA":

    //覆盖 CMD_RADIO_SETUP_PA
    uint32_t pOverrides_ie154TxStd[]=

    // override_txstd_placeholder.json
    // TX 标准功率覆盖
    TX_STD_POWER_OVERRIDE (0x762E)、
    //基于 LO 分频器和前端设置的 ANADIV 无线电参数
    (uint32_t) 0x05320703、
    // override_txstd_settings.json
    // IEEE 15.4:将标准 PA 的 RTIM 偏移设置为默认值
    (uint32_t) 0x00008783、
    // IEEE 15.4:将同步多路复用器设置为标准 PA 的默认值
    (uint32_t) 0x050206C3、
    //在 RX 中将 TXRX 引脚设置为0、在 IDLE/TX 中将高阻抗设置为0
    HW_REG_OVERRIDE (0x60A8、0x0401)、
    (uint32_t) 0xFFFFFFFF
    };

    //覆盖 CMD_RADIO_SETUP_PA
    uint32_t pOverrides_ie154Tx20[]=

    // override_Tx20_placeholder.json
    // TX 高功率覆盖
    Tx20_POWER_OVERRIDE (0x003F75F5)、
    //基于 LO 分频器和前端设置的 ANADIV 无线电参数
    (uint32_t) 0x01C20703、
    // override_Tx20_settings.json
    // IEEE 15.4:将高功率 PA 的 RTIM 偏移设置为3
    (uint32_t) 0x00030783、
    // IEEE 15.4:为高功率 PA 设置同步多路复用器
    (uint32_t) 0x010206C3、
    //在 RX/TX 中将 TXRX 引脚设置为0、在空闲状态下设置为高阻抗
    HW_REG_OVERRIDE (0x60A8、0x0001)、
    (uint32_t) 0xFFFFFFFF
    };

    // CMD_RADIO_SETUP_PA
    //预定义方案的无线电设置命令
    RFC_CMD_RADIO_SETUP_PA_t RF_cmdRadioSetup_ie154 =

    .commandNo = 0x0802、
    .status = 0x0000、
    .pNextOp = 0、
    .StartTime = 0x00000000、
    .startTrigger.triggerType = 0x0、
    .startTrigger.bEnaCmd = 0x0、
    .startTrigger.triggerNo = 0x0、
    .startTrigger.PastTrig = 0x0、
    .condition.rule = 0x1、
    .condition.nSkip = 0x0、
    .mode = 0x01、
    .loDivider = 0x00、
    .config.frontEndMode = 0x0、
    config.biasMode = 0x1、
    config.analogCfgMode = 0x0、
    config.bNoFsPowerUp = 0x0、
    CONFIG.bSynthNarrowBand = 0x0、
    txPower = 0xFFFF、
    .pRegOverride = pOverrides_ie154、
    .pRegOverrideTxStd = pOverrides_ie154TxStd、
    .pRegOverrideTx20 = pOverrides_ie154Tx20
    };

    这里是您发送给我的 ti_radio_config.c 文件中的代码:

    // CMD_RADIO_SETUP_PA
    //预定义方案的无线电设置命令
    CONST RFC_CMD_RADIO_SETUP_PA_t RF_cmdRadioSetup_ie154 =

    .commandNo = 0x0802、
    .status = 0x0000、
    .pNextOp = 0、
    .StartTime = 0x00000000、
    .startTrigger.triggerType = 0x0、
    .startTrigger.bEnaCmd = 0x0、
    .startTrigger.triggerNo = 0x0、
    .startTrigger.PastTrig = 0x0、
    .condition.rule = 0x1、
    .condition.nSkip = 0x0、
    .mode = 0x01、
    .loDivider = 0x00、
    .config.frontEndMode = 0x0、
    config.biasMode = 0x1、
    config.analogCfgMode = 0x0、
    config.bNoFsPowerUp = 0x0、
    CONFIG.bSynthNarrowBand = 0x0、
    TxPower = 0x2C5D、
    .pRegOverride = pOverrides_ie154、
    .pRegOverrideTxStd = 0、
    .pRegOverrideTx20 = 0
    };

    您发布的代码对应于"高 PA 取消选择"案例。

    在我测试时、我尝试使用"High PA Selected"代码。 在本例中、我能够将功率级别设置为+10dBm、我看到 PA 端口的输出。 但是、我不知道这是否正确、因为它来自+20dBm 配置、我有+10dBm PA。  (我尚未设置为测量电路板的实际输出功率水平)。

    RGZ 和 RKP 封装之间的 PA 硬件有何差异? 它是否是相同的硬件、但由于热限制、我们在 RKP 中的功率限制为+10dBm? 或者它实际上是不同的硬件吗?

    此致、
    Andy

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

    您是正确的、我 之前 的文件可能没有考虑必要的 IEEE 无线电设置命令 更改、仅考虑 PA 表、因为我目前没有正确的硬件进行测试。  您将需要使用高 PA 设置来输出+10dBm 功率。 我将询问 SimpleLink 硬件团队这两种封装之间有何差异、这两种封装将 RKP 5x5设计限制为+10dBm 的最大输出功率。

    此致、
    Ryan

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

    您的假设是正确的 Andy、这是一种热限制、可防止5x5 RKP 设计达到+20dBm、因为它会超过结温限制。

    此致、
    Ryan

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

    您好、Ryan、

    我现在已设置为测量器件上的 TX 功率。 当配置为+10dBm 时、实际输出约为+3dBm。

    请注意、在 launchpad 原理图中、显示 PA 路径在使用+10dBm 时应由 VDDR 偏置。 当使用+20dBm 时、它由 VDDS 偏置。 默认情况下、LaunchPad 由 VDDS 偏置、但它可以选择由 VDDR 偏置、方法是将 R6移动到位置 R7。 我们的设计由 VDDR 偏置、因为我们使用的是+10dBm。

    作为测试、我检查了 LaunchPad 的偏置从 VDDS 更改为 VDDR 时的行为。 我使用了您发送给我的文件中的+10dBm PA 表条目。 当由 VDDS 偏置时、测得的输出功率为+10dBm。 当由 VDDR 偏置时、测得的功率约为+3dBm。 因此、我能够在 launchpad 上重现低 TX 功率问题。

    当 PA 被 VDDR 偏置时、似乎需要对其进行不同的配置才能正常工作。 但是我找不到任何有关这方面的文档。 请提供建议。

    此致、
    Andy

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

    尊敬的 Andy:

    感谢您更新这些结果。  您是否参考 了《Z-Stack 用户指南 》和 SWRA640的"定制硬件"部分?  或者、这与 SysConfig -> RF Design 设置有关吗?  如有必要、我建议您创建单独的 E2E 主题、以便 SimpleLink 硬件专家可以进一步调查并提供他们的专业知识。  您还可以考虑将设计提交 到 SIMPLELINK-2-4GHz-design-reviews 以供进一步审阅。

    此致、
    Ryan

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

    您好、Ryan、

    是的、我查看了这些文档、但我找不到答案。

    在我们进行原型设计之前、TI 已经对该设计进行了审查。 由于是硬件审查、因此未提供有关固件配置的反馈。

    我将重新发布此问题。

    此致、
    Andy