团队、
我的客户需要根据测试功率级别5限制模块的 BLE 输出功率。
他们可以在测试设置中通过 HCI 命令执行此操作。
是否可以限制模块的 BLE 功率、使其与测试功率级别5相匹配?
谢谢!
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.
团队、
我的客户需要根据测试功率级别5限制模块的 BLE 输出功率。
他们可以在测试设置中通过 HCI 命令执行此操作。
是否可以限制模块的 BLE 功率、使其与测试功率级别5相匹配?
谢谢!
菲律宾、
上述链接的用户指南中介绍了标准电源设置(例如默认设置)。
[引用 user="Philipp Blumberg"]然后,我们可以将级别6和级别7的功率降低到级别5的功率。
为任何调制设置功率矢量时、BT 规格有两个主要要求。
最高功率级别(功率级别7)决定器件的类别。 每个类别的功率(以 dBm 为单位)范围可在 BT 规范文档中找到。
2.步进(两个连续功率级别之间的差值)最好为4dBm 或5dBm。 因此、一旦您确定了功率级别7值、您可以从该值中减去步进值、以确定给定矢量的其余功率级别值。
将功率级别5、6和7全部设置为相同的值不是一个好主意、并且违反了 BT 规格要求。
此致、
Vihang
Vihang、您好!
我尝试验证命令。 执行"hcitool 扫描"时、频谱分析仪上的输出功率在命令前后是相同的(大约8.7dBm)。 我们如何验证命令的效果?
下面是我们要发送的命令:
您好、 Philipp、
[引用 user="Philipp Blumberg">我们如何验证命令的效果? [/报价]
您可以通过为特定调制执行连续 TX 测试来验证更新的输出功率值。 有关这些测试所需的 HCI 命令以及如何将它们转换为 hcitool 格式、请参阅以下指南。
http://processors.wiki.ti.com/index.php/WL18xx_Bluetopia_PM_Bluetooth_RF_Testing#Continuous_TX_2
此致、
Vihang
Vihang、您好!
我尝试验证输出功率的变化。 我使用频谱分析仪执行了测量。 我接着说:
1.验证未更改的输出功率:
-启用"BT_EN"引脚
-执行"hciattach -s 115200 /dev/ttymxc0 Texas (hciattach -s 115200德州仪器)"
-开始连续 TX 测试 ACC。 参考指南
hcitool cmd 0x03 0x001a 0x00 hcitool cmd 0x3f 0x01fb 0x01 0xff 0x00 0x00 0x00 0x01 hcitool cmd 0x3f 0x01ca 0x62 0x09 0x01 0x00 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
=> 2.402 GHz 时的输出功率为8.0dBm
2.验证输出功率的变化:
-启用"BT_EN"引脚
-执行"hciattach -s 115200 /dev/ttymxc0 Texas (hciattach -s 115200德州仪器)"
-发送上述10条命令以降低输出功率
所有10条命令都返回返回状态0x00
-开始连续 TX 测试 ACC。 参考指南
hcitool cmd 0x03 0x001a 0x00 hcitool cmd 0x3f 0x01fb 0x01 0xff 0x00 0x00 0x00 0x01 hcitool cmd 0x3f 0x01ca 0x62 0x09 0x01 0x00 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
=> 2.402 GHz 时、输出功率仍然为8.0dBm
您好、Philipp、
[引用 user="Philipp Blumberg"]-发送上述10条命令以降低输出功率[/引用]
您能否分享您正在使用的确切命令(具有新的功率值)? 请注意、除了写入新功率矢量值的10条命令外、 还 必须向控制器发送 HCI_VS_DRPb_SET_Class2_Single_Power 和 HCI_VS_DRPb_Enable_RF_Calibration_Enhanced (用于 TPC 校准)命令、以便新的功率矢量能够生效。 您可以在供应商特定命令文档的第42页上找到详细信息。
http://www.ti.com/lit/pdf/swru442
[引用 user="Philipp Blumberg"]=> 2.402 GHz 时输出功率仍然为8.0dBm [/quot]
另请提供此测试的 BT 固件日志、以便我验证 WL18xx 控制器中的功率矢量是否已正确更新。
此致、
Vihang
Vihang、您好!
下面是我们正在做的详细操作:
1) 1)为器件加电
[root]~# echo 1 >/var/links/gpios/bt_enable [root]~# hciattach -s 115200 /dev/ttymxc0德州仪器 (TI)找到了一款芯片! 固件文件:/lib/firmware/ti-connectivity/TIInit_11.8.32.bts 加载了 BTS 脚本版本1 Texas:将波特率更改为3000000,将流控制更改为1 器件设置完成
2) 2)设置功率矢量
[root]~# /usr/bin/hcitool cmd 0x3F 0x182 0x00 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 00 C1 CA D3 DC E5 EE F7 00 3F FF > HCI 事件:0x0E PLEN 4 01 82 FD 00 [root]~# /usr/bin/hcitool cmd 0x3F 0x182 0x01 BD 0xC6 0xCF 0xD8 0xE1 0xEA 0xF3 0xFC 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 01 BD C6 CF D8 E1 EA F3 FC 3F FF > HCI 事件:0x0E PLEN 4 01 82 FD 00 [root]~# /usr/bin/hcitool cmd 0x3F 0x182 0x02 0xBD 0xC6 0xCF 0xD8 0xE1 0xEA 0xF3 0xFC 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 02 BD C6 CF D8 E1 EA F3 FC 3F FF > HCI 事件:0x0E PLEN 4 01 82 FD 00 [root]~# /usr/bin/hcitool cmd 0x3F 0x182 0x03 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 03 C1 CA D3 DC E5 EE F7 00 3F FF > HCI 事件:0x0E PLEN 4 01 82 FD 00 [root]~# /usr/bin/hcitool cmd 0x3F 0x182 0x04 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 04 C1 CA D3 DC E5 EE F7 00 3F FF > HCI 事件:0x0E PLEN 4 01 82 FD 00 [root]~# /usr/bin/hcitool cmd 0x3F 0x182 0x08 0xC5 0xCF 0xD9 0xE3 0xED 0xF7 0x01 0x0B 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 08 C5 CF D9 ED F7 01 0B 3F FF > HCI 事件:0x0E PLEN 4 01 82 00 [根]~# FD FD /usr/bin/hcitool cmd 0x3F 0x182 0x09 0xC5 0xCF 0xD9 0xE3 0xED 0xF7 0x01 0x0B 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 09 C5 CF D9 ED F7 01 0B 3F FF > HCI 事件:0x0E PLEN 4 01 82 00 [根]~# FD FD /usr/bin/hcitool cmd 0x3F 0x182 0x0A 0xC5 0xCF 0xD9 0xE3 0xED 0xF7 0x01 0x0B 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 0A C5 CF D9 ED F7 01 0B 3F FF > HCI 事件:0x0E PLEN 4 01 82 00 [根]~# FD FD /usr/bin/hcitool cmd 0x3F 0x182 0x0B 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 0B C1 CA D3 DC E5 EE F7 00 3F FF > HCI 事件:0x0E PLEN 4 01 82 00 [根]~# FD /usr/bin/hcitool cmd 0x3F 0x182 0x0C 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0x00FF < HCI 命令:ogf 0x3f、ocf 0x0182、PLEN 11 0C C1 CA D3 DC E5 EE F7 00 3F FF > HCI 事件:0x0E PLEN 4 01 82 FD 00
3) 3)设置2类单电源并执行射频校准
[root]~# /usr/bin/hcitool cmd 0x3f 0x187 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 < HCI 命令:ogf 0x3f、ocf 0x0187、PLEN 10 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 > HCI 事件:0x0E PLEN 4 01 87 FD 00 [root]~# /usr/bin/hcitool cmd 0x3f 0x1FB 0x00 0x00000800 0x01 < HCI 命令:ogf 0x3f、ocf 0x01fb、PLEN 3 00 01 > HCI 事件:0x0E PLEN 4 01 FB FD 00
4) 4)执行连续 TX 测试
[root]~# hcitool cmd 0x03 0x001a 0x00 < HCI 命令:ogf 0x03、ocf 0x001a、PLEN 1 00 > HCI 事件:0x0E PLEN 4 01 1A 0C 00 [根]~# hcitool cmd 0x3f 0x01fb 0x01 0xff 0x00 0x00 0x00 0x00 0x01 < HCI 命令:ogf 0x3f、ocf 0x01fb、PLEN 7 01 FF 00 00 00 01 > HCI 事件:0x0E PLEN 4 01 FB FD 00 [root]~# hcitool cmd 0x3f 0x01ca 0x62 0x09 0x01 0x09 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 < HCI 命令:ogf 0x3f、ocf 0x01ca、PLEN 13 62 09 01 09 07 00 00 00 00 00 00 00 00 > HCI 事件:0x0E PLEN 4 01 CA FD 00
执行上述步骤2-3或不执行步骤时、我可以看到输出功率没有差异(仍然大约为8.0dBm)。
您是指 HCI 输出" BT 固件日志"、还是需要更多信息?
菲律宾、
[引用 user="Philipp Blumberg"]执行上述步骤2-3或不执行步骤时,我可以看到输出功率没有差异(仍然大约为8.0dBm)。
hcitool cmd 格式的有效负载字节序很可能是未成功实现功率更改的原因。 由于 ogf 和 ocf 之后 hcitool 格式的所有参数都是字节、因此您需要在小端字节序中表示 HCI_VS_*命令的16位或32位参数。 请针对您的功率值尝试以下操作。
2) 2)设置功率矢量
hcitool cmd 0x3F 0x182 0x00 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0xFF 0x00 hcitool cmd 0x3F 0x182 0x01 0xBD 0xCF 0xCF 0xD88 0xE1 0xEA 0xF3 0xFC 0x3F 0xFF 0x00 hcitool cmd 0x3F 0x02 0xBD 0xC6 0xC6 0xFC 0xE1 0x3F 0xFF 0x3F 0xFC 0x3F 0xC1 0xC1 0xC6 0xFF 0x3F 0xC1 0xC2 0xC6 0xC1 0xC1 0xC1 0xC1 0xC1 0xFF 0xF3 0xFC 0xFF 0x3F 0x3F 0x3F 0x182 0x03 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0xFF 0x00 hcitool cmd 0x3F 0x182 0x04 0xC1 0xCA 0xD3 0xDC 0xE5 0xEE 0x3F 0xFF 0x00 0x3F 0xFF 0x00 hcitool D9 0x3F 0x182 0x08 0xC5 0xCF 0xE3 0x3F 0x3F 0xF8 0x3F 0x3F 0x3F 0xF8 0x3F 0x3F 0x3F 0xF8 0x3F 0x3F 0xF8 0x3F 0x3F 0xF8 0x3F 0x3F 0xF8 0x3F 0x3F 0xF8 0x3F 0x3F 0x3F 0x3F 0x09 0xC5 0xCF 0xD9 0xE3 0xED 0xF7 0x01 0x0B 0x3F 0xFF 0x00 hcitool cmd 0x3F 0x182 0x0A 0xC5 0xCF 0xD9 0xE3 0xF7 0xF7 0x01 0x0B 0x3F 0xFF 0x00 hcitool cmd 0x182 0x0B 0xC1 0xCA 0xD3 0xD3 DC 0xF7 0x3F 0x3F 0x00 0x3F 0x3F 0x3F 0x3F 0xC1 0xC2 0x3F 0xC2 0x3F 0x3F 0xC2 0x3F 0x3F 0xC2 0x3F 0xC2 0x3F 0xC2 0x3F 0x3F 0xC2 0xF8 0x3F 0xF8 0x3F 0x 0xCA 0xD3 0xDC 0xE5 0xEE 0xF7 0x00 0x3F 0xFF 0x00
3) 3)设置2类单电源并执行射频校准
hcitool cmd 0x3f 0x187 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 hcitool cmd 0x3f 0x1FB 0x00 0x00 0x08 0x00 0x00 0x01
[引用 user="Philipp Blumberg"]您是指 HCI 输出(按 BT 固件日志),还是需要更多信息?
我是指从 WL18xx 器件/模块的 BT_UART_DBG 引脚捕获的固件日志。
您好、Philipp、
无法永久更改 WL18xx 蓝牙控制器内部的功率值、因为它在每次启动后默认为器件 ROM 中的原始值。 如果您希望使用除默认设置以外的任何电源设置,则需要在每次启动后向控制器发送 HCI_VS*命令。
请注意、控制器仅需要通过 HCI UART 使用这些命令(或等效字节流)来实现功率更改。 如果您担心的是安全问题是每次使用诸如 hcitool 之类的用户空间应用程序、则可以在嵌入式 C 应用程序中实施相同的命令。
此致、
Vihang