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.

[参考译文] 是否可以禁用1M PHY?

Guru**** 2589245 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1392049/is-it-possible-to-disable-1m-phy

器件型号:CC2340R5

工具与软件:

大家好!

在本例中、通信器件支持2M PHY、我只想使用这个 PHY、连接后是否有办法禁用1M PHY?

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

    你好 Xuefeng.jin

    我希望你做得好。 我想问您在哪种 SDK 上进行开发以及使用哪种基本示例。 您要尝试使用哪个特定的2M PHY?  

    参考我们的 TX RX SLA、获取有关使用 proprf (基本 RX 和 TX)进行设置的帮助(TI.com)

    谢谢!
    Alex F

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

    您好、Alex、

    在此链接中、它使用了自定义射频堆栈、但我在 BLE 射频堆栈中进行了很多设置。

    是否有办法用代码禁用1M PHY?

    谢谢。

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

    您好 Xuefeng.jin、

    请参考以下图片(CCS 12.7、F3 SDK 8.10)、了解如何从1M BLE 更改为2M 或编码 BLE:

    如果您恰好在代码中定义了射频配置、您可以定义要使用的"功能":  

    谢谢!
    Alex F

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

    尊敬的 Alex F:

    是否有用于设置 PHY 的示例代码? 在我的代码中,我发现了一个初始代码如下

    #ifdef USE_RCL
        llUserConfig.lrfTxPowerTablePtr = &LRF_txPowerTable;
        llUserConfig.lrfConfigPtr = &LRF_config;
        llUserConfig.defaultTxPowerDbm = defaultTxPowerDbm;
        llUserConfig.defaultTxPowerFraction = 0;
        llUserConfig.rclPhyFeature1MBPS = RCL_PHY_FEATURE_SUB_PHY_1_MBPS;
        llUserConfig.rclPhyFeature2MBPS = RCL_PHY_FEATURE_SUB_PHY_2_MBPS;
        llUserConfig.rclPhyFeatureCoded = RCL_PHY_FEATURE_SUB_PHY_CODED;
        llUserConfig.rclPhyFeatureCodedS8 = RCL_PHY_FEATURE_CODED_TX_RATE_S8;
        llUserConfig.rclPhyFeatureCodedS2 = RCL_PHY_FEATURE_CODED_TX_RATE_S2;
    #endif

    该位置是否可以保持2M 设置并禁用其他设置?

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

    您好 Xuefeng.jin、

    请参考下面的示例代码片段、了解我如何配置过去的代码来实现此功能:

     /* Initialize and open RCL */
                       if(phy == 0)  //these are the selectable PHYs
                       {
                           txCmd.common.phyFeatures = RCL_PHY_FEATURE_SUB_PHY_1_MBPS_BLE;
                           rclHandle = RCL_open(&rclClient, &LRF_configBle);
                       }
                       else if(phy == 1)
                       {
                           rclHandle = RCL_open(&rclClient, &LRF_configMsk250Kbps); 
                       }
                       else if(phy == 2)
                       {
                           rclHandle = RCL_open(&rclClient, &LRF_configMsk250KbpsFec);
                       }
                       else if(phy == 3)
                       {
                           txCmd.common.phyFeatures = RCL_PHY_FEATURE_SUB_PHY_2_MBPS_BLE ;
                           rclHandle = RCL_open(&rclClient, &LRF_configBle);
                       }
                       else if(phy == 4)
                       {
                           txCmd.common.phyFeatures = RCL_PHY_FEATURE_SUB_PHY_CODED_BLE;
                           rclHandle = RCL_open(&rclClient, &LRF_configBle);
                       }

    您只需要在打开 RCL 之前在自己的代码中定义2_Mbps PHY 功能(将其他功能留空)。  

    谢谢!
    Alex F

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

    您好、Alex、

    您能支持更多详细信息吗?

    我 在.syscfg 中有 RCL、但我不知道在哪里放置示例代码。

    在定义 phy 和 txCmd 的位置、以及如何获取 phy 值...

    谢谢!

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

    您好 Xuefeng.jin、  

    抱歉、此处没有说明、因此"phy"术语只是一个用于选择要使用哪个 PHY 功能的变量、您不需要在您的情况下使用它。

    如果要在 syscfg 中使用 RCL、您可以在专门在 debug/syscfg/ti_radio_config.c/.h 中构建后、在调试文件夹中查看文件(RF configs)  

    基本上、如果您想使用2M BLE PHY、您应该:

    设置 RCL 命令(只需遵循此处的 rfpacketTx 和 rfpacketRx)  

    定义 RCL_PHY_FEATURE_SUB_PHY_2_MBPS  

    使用 rcl_open (&R rclClient、&L LRF_config)打开 RCL 实例;  

    "txCmd"基本上是命令的扩展、例如、它也可以定义为 rclPacketTxCmdGenericTx:

    谢谢!
    Alex F

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

    尊敬的 Alex F:

    感谢您提供的信息、但我需要更多详细信息。

    在我的工程中、 可以在 syscfg 文件夹中生成 ti_radio_config.c/.h 、但不要在顶部应用代码处  调用 RCL_open、在 SDK 函数 RCL_AdcNoise_get_samples_blocking 中调用 RCL_open。  

    没有 像您的 RCL 命令。

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

    您好!

    [报价 userid="575559" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1392049/is-it-possible-to-disable-1m-phy/5328719 #5328719"]

    是否有用于设置 PHY 的示例代码? 在我的代码中,我发现了一个初始代码如下

    全屏
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    #ifdef USE_RCL
    llUserConfig.lrfTxPowerTablePtr =&LRF_txPowerTable;
    llUserConfig.lrfConfigPtr =.lrf_config;
    llUserConfig.defaultTxPowerDbm = defaultTxPowerDbm;
    llUserConfig.defaultTxPowerFraction = 0;
    llUserConfig.rclPhyFeature1MBPS = RCL_PHY_FEATURE_SUB_PHY_1_MBPS;
    llUserConfig.rclPhyFeature2MBPS = RCL_PHY_FEATURE_SUB_PHY_2_MBPS;
    llUserConfig.rclPhyFeatureCoded = RCL_PHY_FEATURE_SUB_PHY_CODED;
    llUserConfig.rclPhyFeatureCodedS8 = RCL_PHY_FEATURE_CODED_TX_RATE_S8;
    llUserConfig.rclPhyFeatureCodedS2 = RCL_PHY_FEATURE_CODED_TX_RATE_S2;
    #endif
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    该位置是否可以保持2M 设置并禁用其他设置?

    [报价]

    是、只需保留 llUserConfig.rclPhyFeature2MBPS = RCL_PHY_FEATURE_SUB_PHY_2_MBPS;并删除所有其他参数(1_Mbps、编码、RATE_s8、RATE_s2)。  

    您使用的是 BLE Proprf PHY 还是 BLE 堆栈?  

    谢谢!
    Alex F

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

    尊敬的 Alex F:

    我使用 BLE 堆栈。

    非常感谢。

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

    您好、Alex、

    通过测试、似乎这种强制2M PHY 代码不起作用。

    我使用了一台带有4.x 蓝牙的旧笔记本电脑、它还可以正常转换数据。

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

    您好 Xuefeng.jin、

    简而言之、我在 BLE 堆栈方面的经验不如使用 proprf 时那样丰富、但我应该能够帮助指导完成初始步骤:
    您能否在 syscfg 中检查广播设备配置? 这里有一个 PHY 设置字段、它与我上文建议的字段略有不同。  

    要启用2M PHY、我们需要将广播类型从"旧"更改为"扩展"、并将辅助 PHY 设置为2M (主 PHY 的唯一选项似乎是1M)。

    谢谢!
    Alex F

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

    您好、Alex、

    感谢您的解释。 当将其更改为扩展时、请提出以下问题。

    1.使用扩展模式时、不允许扫描响应。 但我在这部分进行了一些手动修改。

    该 主 PHY 不具有2M。 因此它不能只保持2M。

    3.这部分是广告,但我关心的只是连接数据传输后。

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

    您好 Xuefeng.jin、

    扩展广播可以被扫描。  

    2M PHY 仅适用于扩展广播。  

    我们提供良好的 SLA 培训、让您能够很好地开始使用 TI 器件上的 BLE 堆栈: SimpleLink basic_ble 示例(TI.com)

    谢谢!
    Alex F