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.

[参考译文] CC2340R5:[CC2340]有关 CC2340R5 TX 功率设置的两个问题。

Guru**** 2587345 points
Other Parts Discussed in Thread: CC2340R5, CC2652P

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1282489/cc2340r5-cc2340-two-questions-about-the-tx-power-settings-of-cc2340r5

器件型号:CC2340R5
主题中讨论的其他器件: CC2652P

您好、TI 专家。

抱歉、我还有两个有关 TX 功率的问题。

问题1:CC2340R5的 TX 功率设置是否分为高级 TX 功率和连接 TX 功率?

我使用了 DATA_STREAM 例程。 我在 syscfg 中仅将最大功率设置为8dbm。

然后、我使用频谱分析仪测量功耗。 我发现只有 Adv 通道的功率大约为8dbm、而连接通道大约为0dBm、

因此我想问 CC2340R5是否有两个参数:广播功耗和转换功耗。 如果是、我应该如何设置它?

---------------------------------------------------------------------------------------------------------------------------------------------------------

问题2:当我在广播期间使用 HCI_EXT_SetTxPowerDbmCmd 来更改功率时、我看不到频谱分析仪发生了任何实际的变化。

步骤1:我使用 DATA_STREAM 示例代码、我们将 syscfg 设置为0dBm、


步骤2:最终在 Peripheral_start 中调用 HCI_EXT_SetTxPowerDbmCmd (8、0);(还使用了 HCI_EXT_SetTxPowerDbmCmd (8、1);)

bStatus_t Peripheral_start()
{
    bStatus_t status = SUCCESS;

    status = BLEAppUtil_registerEventHandler(&peripheralConnHandler);
    if(status != SUCCESS)
    {
        // Return status value
        return(status);
    }

    status = BLEAppUtil_registerEventHandler(&peripheralAdvHandler);
    if(status != SUCCESS)
    {
        return(status);
    }

    status = BLEAppUtil_initAdvSet(&peripheralAdvHandle_1, &advSetInitParamsSet_1);
    if(status != SUCCESS)
    {
        // Return status value
        return(status);
    }

    status = BLEAppUtil_advStart(peripheralAdvHandle_1, &advSetStartParamsSet_1);
    if(status != SUCCESS)
    {
        // Return status value
        return(status);
    }

    HCI_EXT_SetTxPowerDbmCmd(8,0);//add by weli set tx power to 8dBm.
    //HCI_EXT_SetTxPowerDbmCmd(8,1);//add by weli set tx power to 8dBm.

    // Return status value
    return(status);
}

步骤3:观察频谱分析仪、查看广播功率是否达到8dBm。


预期结果:广播 TX 功率应接近8dBm、但实际上仍保持0dBm。 因此
、我认为 HCI_EXT_SetTxPowerDbmCmd 对于 CW 测试很有用、但似乎无法设置广播 TX 功率。


公司此前开发过 CC2640R1/R2、CC2642、CC2652P、全部使用 HCI_EXT_SetTxPower 设定广播 TX 功率。

很抱歉、我在过去两天一直在提问。

我们是 TI 第三方成员。 我们很早就开发出了 CC2340的命令软件、但当时 TX 功率存在一些问题。

我们将其移植到 SDK v7.2以进行验证。 但是对于 TI 的团队和产品、我们还是非常满意的。

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

    您好、Weli:

    感谢您的联系。

    如您所指出的那样、可以使用 syscfg (广播集-广播参数- TX 功率和 TX 值)来修改广播 TX 功率。

    但是、在连接期间修改 TX 功率是使用 HCI 命令完成的。 如果您正在使用 based_ble 项目( \examples\rtos\LP_EM_CC2340R5\ble5stack\based_ble)、此操作可在 start 函数的 app_central.c 或 app_peripheral.c 上完成、如下所示:

    bStatus_t Peripheral_start()
    {
        bStatus_t status = SUCCESS;
    
        status = BLEAppUtil_registerEventHandler(&peripheralConnHandler);
        if(status != SUCCESS)
        {
            // Return status value
            return(status);
        }
    
        // CHANGE TX POWER::
        const int8_t txPower = 8;
        const uint8_t fraction = 0;
        HCI_EXT_SetTxPowerDbmCmd(txPower, fraction);
    
        status = BLEAppUtil_registerEventHandler(&peripheralAdvHandler);
        if(status != SUCCESS)
        {
            return(status);
        }
    
        status = BLEAppUtil_initAdvSet(&peripheralAdvHandle_1, &advSetInitParamsSet_1);
        if(status != SUCCESS)
        {
            // Return status value
            return(status);
        }
    
        status = BLEAppUtil_advStart(peripheralAdvHandle_1, &advSetStartParamsSet_1);
        if(status != SUCCESS)
        {
            // Return status value
            return(status);
        }
    
        // Return status value
        return(status);
    }

    请记住使用分数= 0、因为目前不支持不同的数字。

    希望它有所帮助。

    此致、

    大卫。

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

    尊敬的 David:

    感谢您的支持。 关于 TX 功率器件、我们清除了一切。