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.
您好!
================================================================================
以下是我的环境、SKD 和示例代码
SDK:simplelink_cc13x2_26x2_SDK_4_10_00_78
示例:example/rtos/CC26X2R1_LAUNCHXL/ble5stack/host_test
测量仪器:LitePoint IQxel
PS:不是 LaunchPad
================================================================================
我在 UART 上发送此命令以设置 TxPower:01 FC 01 (07~0C)
我希望当它设置为4dBm 或5dBm 时、它可以保持在3dBm。
我尝试修改并添加以下代码。
[ ble_user_config.c (添加)]

[ ble_user_config.h (添加)]

修改 ble_user_config_stack.c 和 ble_user_config.c 中的所有引用参数
[ BLE_USER_CONFIG_STACT.c (已修改)]

[ BLE_USER_CONFIG.c (已修改)]

遗憾的是、我无法将 txPower 限制为3dBm。
我可以尝试哪些后续步骤来解决此问题?
谢谢、
此致
您好!
感谢您的详细描述。
您能否指定哪些 HCI 命令使您超过3dBm Tx 功率?
此致、
我使用此 HCI 命令更改我的 txPower。 (01 01 FC 01 0C)
但是、我不使用 BTool。
我通过 UART 发送此命令。
感谢您的回复、
此致
您好!
更改 TxPower 后、您使用哪个命令将器件置于 Tx 模式? 我之所以提出这一问题、是因为一些测试命令将器件设置为使用其最高 TxPower 进行传输
此致、
您好 Clement、
感谢您的回复。
使用 HCIExt_ModemTestTxCmd 命令选择通道并启动 Tx 模式。
还有其他需要检查的内容吗?
谢谢、
此致
您好!
HCIExt_ModemTestTxCmd 将器件设置为以最大功率传输。 您将得到预期的结果。
如果您希望在最远模式下修改 TxPower、则应考虑使用命令 HCI_EXT_SetMaxDtmTxPowerCmd。
此致、
您好 Clement、
谢谢您的回复。
我不确定我是否明白您的意思。
我只需要将 HCIExt_SetTxPowerCmd 更改为 HCIExt_SetMaxDtmTxPowerCmd。
对吧?
谢谢、
此致
您好 Clement、
谢谢您的回复。
我已尝试执行以下步骤
1)
步骤(1) HCIExt_SetTxPowerCmd: 01 FC 01 0C
步骤(2) HCIExt_ModemTestTxCmd:01 08 FC 02 00 11.
2)
步骤(1) HCIExt_SetMaxDtmTxPowerCmd:01 11 FC 01 0C
步骤(2) HCIExt_SetTxPowerCmd: 01 FC 01 0C
步骤(3) HCIExt_ModemTestTxCmd:01 08 FC 02 00 11.
3)
步骤(1) HCIExt_SetMaxDtmTxPowerCmd:01 11 FC 01 0C
步骤(2) HCIExt_ModemTestTxCmd:01 08 FC 02 00 11.
遗憾的是、所有测试都无法将 txPower 限制为3dBm。
我可以尝试哪些后续步骤来解决此问题?
谢谢、
此致
您好!
我使用 SDK 5.20.00.52中提供的 host_test 映像自行运行一些测试。 我已在 CC26x2R launchpad 上刷写映像。 HCI 命令使用 BTool (包含在 SDK 5.20.00.52中)发送到电路板。
由于我没有射频分析仪、因此我使用 EnergyTrace 进行功耗测量(launchpad 上包含所需的硬件、EnergyTrace 可从 CCS 运行)。 结果显示了更改 TxPower 时的功耗差异(注意:为了获得较大的功耗差异、我在5dBm 和0dBm 之间切换)
以下是发送的命令:
HCI_Reset
01 03 0C 00
HCIExt_SetTxPowerCmd (5 DBM)
01 01 FC 01 0E
HCIExt_ModemTestTxCmd
01 08 FC 02 00 00
HCIExt_EndModemTestCmd
01 0b FC 00
HCIExt_SetTxPowerCmd (0 DBM)
01 01 FC 01 09
HCIExt_ModemTestTxCmd
01 08 FC 02 00 00
HCIExt_EndModemTestCmd
01 0b FC 00
结果显示以5dBm 传输时的平均功耗为9.7mA。 以0dBm 传输时的平均功耗为7.7mA。
重要提示:校准未正确完成、未针对能效进行任何优化。 请仅从定性角度考虑这些功率测量值。
(大尖峰对应于 UART 操作)
如果您有更多问题、请告诉我。
此致、
您好 Clement、
感谢您的回复。
您的回复显示平均功耗已更改。
所以... 我能解释一下、修改上述 txPowerTable 后、TX 功率不能限制为3dBm 吗?
我希望能够将 TxPower 限制为3dBm。
谢谢、
此致、
您好!
实际上、只要您不发送要求更大值的 HCI 命令、TxPower 就会限制为您想要的任何值。
我的意思是、这些是测试命令、因此没有理由修改它们的行为(并可能使它们不兼容)。 但是、如果您有充分的理由并真正了解您正在执行的操作、您可以修改它们的行为以拒绝命令、从而将器件设置为传输到更高的 TxPower。
我坚持认为这不是我建议的,除非你知道它可能产生的所有影响。
此致、
您好 Clement、
我知道只要我不发送 HCI 命令,我就可以将其限制为任何值。
但是、我们希望避免测试仪设置高于3dBm、因此我们必须限制 Tx 功率。
过去、我们团队中的人员可以限制 SDK 3.10中的 TxPower。
我知道他们已经修改了 ble_user_config.c 中的 TxPowerTable
它可以实现限制 TxPower 的效果。
如果您有其他建议、请向我提供。
谢谢、
最棒的地方!!