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.

[参考译文] CC2564C:如何读取现有 Tx 功率?

Guru**** 2754655 points

Other Parts Discussed in Thread: CC2564C

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/758064/cc2564c-how-to-read-existing-tx-power

器件型号:CC2564C

您好!

如果您能澄清以下问题、将会非常有帮助:

1.是否有任何 API 可用于读取现有 BLE Tx 功率?

2.请解释更改 Tx 功率的步骤?

3.如果我们无法访问当前功率级别表,如何提取该信息?

谢谢、

Sneha

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

    1.您能解释一下您何时需要此 API 吗?

    您可以使用:
    SEND_HCI_LE_READ_Advertising_Channel_TX_Power
    Wait_HCI_Command_Complete_LE_Read_Advertising_Channel_TX_Power_Event 5000、任意、HCI_LE_Read_Advertising_Channel_TX_Power、0、0x00

    2.没有标准 API 可更改 TX 功率-您能否详细说明您为什么需要它、我将看到是否存在这样的 API。

    3.如上所述,您可以读取广播通道 TX 功率。

    BR、
    陈洛威
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们想知道器件的 BLE Tx 功率。 在任何给定时间检查/设置 Tx 功率是否有任何限制?

    我们使用 HCI_LE_Read_Advertising_Channel_Tx_Power ()读取当前 Tx 电平。 Transmit _Power_LevelResult 参数的返回值为4。 根据 BT 规范、我们认为这意味着发射功率为4dBm。 请确认。

    3.我们将 MaxPower 作为0传递给 VS_SET_MAX_OUT_Power ()。 当我们使用 HCI_LE_READ_Advertising_Channel_Tx_Power ()读回 Tx 功率时、正如预期的那样、Transmit _Power_LevelResult 返回0。 这是否意味着 BLE Tx 功率级别设置为0dBm?

    4.是否有任何方法将负值(例如-23dBm)设置为 BLE Tx 功率? (VS_SET_MAX_OUTPUT 功率的说明显示"最大输出功率指定为0至12"。 因此问题。)

    如果我们只需使用 VS_SET_MAX_OUT_Power ()来更改 Tx 功率,这是否意味着 GFSK 功率级别矢量根本不会产生影响? 请对此进行澄清。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sneha、您好!

    我们支持标准 HCI API。
    对于任何 VS -我将检查可以执行和不能执行的操作、然后返回给您。

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

    将等待与 VS 相关的内容的更新。
    您是否会为我之前的帖子中的问题提供内联答案? 这将有助于清楚地理解。

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

    对我们来说,获得上述问题的答案是有点紧迫的。 我们依靠这个论坛来及时获得适当的信息。 是否有人可以帮助澄清问题?
    提前感谢!

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

    很抱歉耽误你的时间。

    为了准确了解您的工作、我需要您提供以下信息。

    1.您使用的确切 initscript。
    2.您使用的确切 xml。
    3.您要发送的确切命令

    我已经回答了您的问题:

    我们想知道器件的 BLE Tx 功率。 在任何给定时间检查/设置 Tx 功率是否有任何限制?

    我可以看到一个操作码、使您能够为 CC2564C 设置 TX 功率-
    SEND_HCI_VS_LE_Output_Power (获取功率级别索引)-但出于某种原因,我使用的.xml 不支持该目录-(您说您使用的是另一个命令 VS_SET_MAX_OUT_Power ()-您使用的操作码是吗?

    我们使用 HCI_LE_Read_Advertising_Channel_Tx_Power ()读取当前 Tx 电平。 Transmit _Power_LevelResult 参数的返回值为
    根据 BT 规范、我们认为这意味着发射功率为4dBm。 请确认。

    是的。

    3.我们将 MaxPower 作为0传递给 VS_SET_MAX_OUT_Power ()。 当我们使用 HCI_LE_READ_Advertising_Channel_Tx_Power ()读回 Tx 功率时、正如预期的那样、Transmit _Power_LevelResult 返回0。 这是否意味着 BLE Tx 功率级别设置为0dBm?

    这似乎是这样的-因为您限制了最大输出功率-但我需要您使用的确切命令和文件。

    4.是否有任何方法将负值(例如-23dBm)设置为 BLE Tx 功率? (VS_SET_MAX_OUTPUT 功率的说明显示"最大输出功率指定为0至12"。 因此问题。)

    如果我们只需使用 VS_SET_MAX_OUT_Power ()来更改 Tx 功率,这是否意味着 GFSK 功率级别矢量根本不会产生影响? 请对此进行澄清。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    更多详细信息。

    与 BT 不同、我们仅为 BLE 保留一个级别。
    由于 BLE 在连接的两侧之间没有协商机制、因此它们不能要求增加或降低输出功率。

    您可以设置负功率级别。

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

    您好、Chen、

    我们希望 BLE 信号仅在距离源极~50cm (任意值)的半径内可用。 这就是我们希望尽可能降低 BLE Tx 功耗的原因。  我们的目的是限制源和目的之间的距离。

    此致、

    Sneha

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

    您好、Chen、

    我不确定您所指的 initscript 是什么。 SDK 向应用层暴露的命令很少。 以下 是我们使用的确切命令:

    1.设置 BLE Tx 功率->

      byte_t MaxPower = 0;

      unsigned int 结果= vs_set_Max_Output_Power (btStackId ()、MaxPower);

    2.读取当前 Tx 功率->

      byte_t status;

      byte_t power;e2e.ti.com/.../BTVSAPI.he2e.ti.com/.../HCIAPI.h

      unsigned int 结果= HCI_LE_READ_Advertising_Channel_Tx_Power (btStackId ()、&status、&power);

    请查找随附的 SDK 源文件。

    传递给 VS_SET_MAX_OUT_Power ()、功率级别指数还是 Tx 功率值的 MaxPower 参数?

    如果我们只需使用 VS_SET_MAX_OUT_Power()来更改 Tx 功率,这是否意味着 GFSK 功率级矢量根本不会产生影响? 请对此进行澄清。

    此致、

    Sneha

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

    您好、Chen、

    希望附件和命令包含您所查找的信息。 如果您需要我这边的任何其他输入、请告诉我。

    请回复我之前的帖子吗?

    此致、

    Sneha

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

    Sneha、您好!

    是的、其中的参数应设置最大功率。

    我还将循环访问 Vihang 和 Hari 以进行检查-因为我对上层协议栈 API 不太熟悉

    HCI-API 的更多信息。

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

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

    您尝试了 HCI spec 命令:
    HCI_READ_Transmit Power_Level

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

    您好 Hari、

    根据您的建议,我使用 了 HCI_READ_Transmit Power_Level ()。 它将 Transmit _Power_Level 返回为4dBm。  

    然后、当 耳机运行时、我使用 VS_SET_MAX_OUT_Power ()将 Tx 功率级别设置为0。 我能够看到 HCI_READ_Transmit Power_Level ()按预期返回0dBm。

    通常、蓝牙芯片运行时、我们可以将 Tx 功率设置为不同的值吗? 是否存在与更改 Tx 功率相关的任何限制?

    我们的观察结果是、即使 Tx 功率级别从4降低到0、移动设备也会在与耳机保持相同距离时接收到信号。

    我们的期望是:如果手机距离手机只有'x'厘米的距离,则手机不应接收信号。

    请您澄清上述问题以及如何限制信号的距离/范围。

    谢谢、

    Sneha

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

    您好、Sneha、

    您是否检查了不同功率级别之间接收器端的 RSSI 的固定距离? RSSI 的差异应该与发射器的输出功率变化密切相关。

    当然、测试输出功率变化的最准确方法是使用频谱分析仪测量两个输出功率水平的输出功率。

    [引用 USER="Sneha Nayaka]]一般来说,蓝牙芯片运行时,我们可以将 Tx 功率设置为不同的值吗? 是否存在与更改 Tx 功率相关的任何限制?[/quot]

    输出功率更改之后是 TCP 校准(这是一项资源密集型任务)。 因此、最好在进行任何连接(和/或启动 LE 广播或扫描)之前在器件初始化期间更新输出功率。 对于我可以想象的几乎所有用例来说、这非常方便。

    [引述 USER="Sneha Nayak"]我们的期望是:如果手机距离手机只有'x'厘米的距离,手机就不应该接收到信号。

    考虑到 CC2564C 以及大多数现代手机的接收器灵敏度和输出功率、您可能会在几十米内看到距离、即使是 BT 规格允许的最低输出功率(-20dBm)也是如此。 如上所述、测量输出功率变化的最佳方法是使用频谱分析仪。

    此致、

    Vihang