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.

[参考译文] CC2640R2F-Q1:单端放大器的射频前端配置;内部偏置模式(CC2640R2F 7x7)

Guru**** 2539780 points
Other Parts Discussed in Thread: CC2640, CC2650, CC2640R2F

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/623012/cc2640r2f-q1-rf-front-end-configuration-for-single-ended-internal-bias-mode-cc2640r2f-7x7

器件型号:CC2640R2F-Q1
主题中讨论的其他器件:CC2640CC2650CC2640R2F

尊敬的 TI 专家:

我们检查了差分和内部偏置模式是否能够很好地实现定制板上的远距离功能。

顺便说一下、我们需要使用单端和内部偏置模式是有原因的。

但是、我们在将其用于它方面面临一个问题(范围太短)。

据我了解、您的应用 SDK 基本上基于 CC2640R2 LP 板等射频设计的差分和内部偏置模式。

因此、我们尝试通过参考单端或差分模式或内部或外部偏置模式的每个模式来更改硬件和软件的相关器件。

此外、我找到了以下与软件更改相关的内容:

我的问题是有关现有 CC26xx 系列(适用于 CC2640或 CC2650)和 BLE_USER_CONFIG.C 中 CC26xx_R2系列的相关宏定义或其他内容

首先、我认为现有的 CC2650EM_7ID 宏定义对 R2系列也有效、如下注释所示、预处理器包含两个定义。

 

/*

*====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

* TI 参考设计和

*套件的射频前端和偏置配置符号。 此符号在 ble_user_config.h

*中设置射频前端配置、并在 ble_user_config.c 中选择适当的 PA 表

*其他配置可通过编辑这些文件来使用。

*

*仅定义一个符号:

 * CC2650EM_7ID   -差分射频和内部偏置 

                     (CC2640R2 LaunchPad 的默认值) * CC2650EM_5XD?差分射频和外部偏置 * RF-P 上的 CC2650EM_4XS?单端射频和外部偏置 * CC2640R2DK_CXS - WCSP:RF-N 上的单端射频和外部偏置 * (请注意、WCSP 仅针对 *进行了测试和特性描述 单端配置、它具有特定于 WCSP 的* PA 表) * *注意:CC2650EM_xxx 参考设计适用于所有 CC26xx 器件。 *==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== *

 

但是、我不确定它对 R2仍然有效。

您能告诉我我们的配置应该使用哪种模式吗?

让我知道我们添加的宏定义对于每个模式配置是否正确和有效。 如果还有其他器件沿着这个方向运行。

 

 在 BLE_USER_CONFIG.c 中

 

#elif defined (CC2650EM_4IS)<--我们将以下值用于单端和内部偏置模式

regOverride_t rfRegTbl[]={

//推荐的低功耗蓝牙覆盖、单端模式内部偏置

//uint32_t bleIsOverrides[]={

0x00001007、

0x00354038、

0x4001402D、

0x00608402、

0x4001405D、

0x1801F800、

0x000784A3、

0xA47E0583、

0xAE00603、

0x00010623、

0x02010403、

0x40014035、

0x177F0408、

0x38000463、

0x000288A3、

0x00456088、

0x013800C3、

0x036052AC、

0x01AD02A3、

0x01680263、

#ifdef cache_as RAM

0x00018063、

#endif //cache_as RAM

0xFFFFFFFF

、};



#else //未知的器件封装



#error "*** BLE 用户配置构建错误***未知的封装类型!"



#endif // 







#endif // 

并在 BLE_USER_CONFIG.h 中添加了以下内容

 #define RF_FE_MODE_AND_BIAS           (RF_FE_SINGLE_END_RFP |            \
                                         RF_FE_INT_BIAS)

请告诉我这些对我们是否合适。

BR、

吉元

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

    或者、当我们使用 CC2640R2F 7x7封装时、我是否应该在 ble_user_config.c 中使用使用 CC2650EM_7ID 作为"regOverride_t rfRegTbl[]"的选项?
    但是、RF_FE_MODE_AND_BIAS 必须设置为"RF_FE_SINGLE_END_RFP | RF_FE_INT_BIAS"。
    我的理解是对的?

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

    您好,Ji Won,

    最简单的方法是在板级配置文件中定义 CC2650EM_4XS。

    然后在 ble_user_config.h 中更改以下行 以反映您的硬件(使用的射频引脚和偏置选项):

    #elif defined (CC2650EM_4XS)
    
    #define RF_FE_MODE_AND_BIAS (RF_FE_SINGLE_END_RFP |\
    RF_FE_EXT_BIAS) 


    此致、
    Fredrik

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

    谢谢 Fredrik、

    顺便说一下、对于单端内部偏置模式、我是否需要使用 CC2650EM_4XS 而不是 CC2650EM_4IS?

    BR、

    吉元

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

    没有针对具有内部偏置的单端的预定义设置。 因此、您需要使用 CC2650EM_4XS 并进行上述更改。

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

    您好、Fredrik、

    但是、您的参考代码显示了这两种情况、如下所示。 请参阅突出显示的红色。

     #elif defined (CC2650EM_4XS)
     regOverride_t rfRegTbl[]={
     //针对低功耗蓝牙、单端模式外部偏置的推荐覆盖
     //uint32_t bleXsOverrides[]={
       0x00001007、
       0x00354038、
       0x4001402D、
       0x00608402、
       0x4001405D、
       0x1801F800、
       0x000784A3、
       0xA47E0583、
       0xAE00603、
       0x00010623、
       0x02010403、
       0x40014035、
       0x177F0408、
       0x38000463、
       0x000288A3、
       0x00456088、
       0x013800C3、
       0x036052AC、
       0x01AD02A3、
       0x01680263、
    #ifdef cache_as RAM
       0x00018063、
    #endif //cache_as RAM
       0xFFFFFFFF、
     };

     #elif defined (CC2650EM_4IS)
     regOverride_t rfRegTbl[]={
     //针对低功耗蓝牙、单端模式内部偏置的推荐覆盖
     //uint32_t bleIsOverrides[]={
       0x00001007、
       0x00354038、
       0x4001402D、
       0x00608402、
       0x4001405D、
       0x1801F800、
       0x000784A3、
       0xA47E0583、
       0xAE00603、
       0x00010623、
       0x02010403、
       0x40014035、
       0x177F0408、
       0x38000463、
       0x000288A3、
       0x00456088、
       0x013800C3、
       0x036052AC、
       0x01AD02A3、
       0x01680263、
    #ifdef cache_as RAM
       0x00018063、
    #endif //cache_as RAM
       0xFFFFFFFF、
     };  

    BR、

    吉元

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这些值似乎是相同的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道4IS 有单独的覆盖表、我同意这是令人困惑的。 无论如何、正如您将在文件中进一步看到的那样、这些不用于 CC2640R2F。

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

    但是、实际上、

    默认 情况下使用选项(CC26XX 和 CC26XX_R2)、因为相关宏定义设置为 SDK 的预处理器。

    请指导我正确集成它、而不会出现任何问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您不必更改项目选项中定义的任何符号。 你只需要做我在第一篇文章中所写的事情。

    1) 1)将板级配置文件中的射频配置定义更改为 CC2650EM_4XS
    2) 2)在 ble_user_config.h 中更改 RF 引脚和偏置选项(如果适用)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果是这样、我就像您说的那样:

    我只需用不同的宏定义复制和粘贴它们。

    但是、远距离功能不显示性能。 因此、我只想确认我的配置是否正常、或者是否有其他配置以及以下内容。

    我将与我们的硬件和射频工程师进行交谈、因为在单端和内部偏置模式的软件配置上没有错误设置。

    #elif defined (CC2640R2XXX_keyfker_single_ended_internal_bias)|| Defined (CC2640R2XXX_Satellite single_ended_internal_bias)
       
     #define RF_FE_MODE_AND_BIAS          (RF_FE_SINGLE_END_RFP |            \
                                             RF_FE_INT_BIAS)

     #Elif Defined (CC2650EM_4IS)|| Defined (CC2640R2XXX_keyfker_single_ended_internal_bias)|| Defined (CC2640R2XXX_Satellite single_ended_internal_bias)

     regOverride_t rfRegTbl[]={

     //针对低功耗蓝牙、单端模式内部偏置的推荐覆盖

     //uint32_t bleIsOverrides[]={

      0x00001007、

      0x00354038、

      0x4001402D、

      0x00608402、

      0x4001405D、

      0x1801F800、

      0x000784A3、

      0xA47E0583、

      0xAE00603、

      0x00010623、

      0x02010403、

      0x40014035、

      0x177F0408、

      0x38000463、

      0x000288A3、

      0x00456088、

      0x013800C3、

      0x036052AC、

      0x01AD02A3、

      0x01680263、

    #ifdef cache_as RAM

      0x00018063、

    #endif //cache_as RAM

      0xFFFFFFFF、

     };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如我先前所写的、这些覆盖对于 CC2640R2F 而言不正确、不得使用! 如果您进一步查看该文件,您将看到它们被#elif Defined( CC26XX_R1 )打包。

    R2唯一需要的覆盖项是:
    #elif defined (CC26XX_R2)
    regOverride_t rfRegTbl[]={
    HW_REG_OVERRIDE (0x6084、0x05F8)、// RFC_RFE:SPARE0。 选择 R1型增益表
    0x04280243、//10us 已添加至射频 SYNTH 校准
    0x00FF8A43、//将 advLenMask 设置为0xFF 以避免 ROM 修补
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对于 R2、它不应在 ble_user_config.c 中遇到该代码块 相反、它应该会命中

    #elif defined (CC26XX_R2)
    regOverride_t rfRegTbl[]={
    HW_REG_OVERRIDE (0x6084、0x05F8)、// RFC_RFE:SPARE0。 选择 R1型增益表
    0x04280243、//10us 已添加至射频 SYNTH 校准
    0x00FF8A43、//将 advLenMask 设置为0xFF 以避免 ROM 修补
    程序#ifdef cache_as RAM
    0x00018063、
    #endif //cache_as RAM
    0xFFFFFFFF}; 

    您的构建中是否定义了 CC26XX_R2?

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

    是的、CC26XX_R2在预处理器中定义、但 CC26xx 也被定义为默认值、因此我认为应使用从 CC2650EM_4IS 派生的宏、因为它显示了有关单端和内部偏置模式的注释。
    无论如何,我只会使用 Fredrik 和您为我提到和指出的内容。

    非常感谢。
    BR、
    吉元

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 这有点令人困惑。 我们需要保留两个定义、并且 CC26XX 在代码的另一部分中使用、即使编译是针对 R2也是如此。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、下面的内容甚至让我感到困惑。
    它显示 CC2650EM_7ID 对于 R2仍然有效、并且 CC26XX 对于 R2仍然有效。
    总之、应更准确地清理 SDK 代码。

    /*
    *只定义一个符号:
    * CC2650EM_7ID -差分射频和内部偏置
    (CC2640R2 LaunchPad 的默认设置)
    *
    *注意:CC2650EM_xxx 参考设计适用于所有 CC26xx 器件。
    *====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
    *

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

    顺便说一下、下面的行不存在于 ble_user_config.c 中、而是存在于 URFC.c 中 对吧? 我已检查 simplelink_cc2640r2_sdk_1_35_00_33和 simplelink_cc2640r2_sdk_1_40_00_45。

    HW_REG_OVERRIDE (0x6084、0x05F8)、// RFC_RFE:SPARE0。 选择 R1型增益表

    您如何知道这应该用于它?

    据我了解,URFC.c 中的内容不包括在建筑物中。

    BR、
    吉元

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

    我在 RF Studio 中找到了相关的东西。

    当命令被请求时、状态为 DONE。

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

    我是否应该将黄色的相关命令复制到 ble_user_config.c 中的相关部分?

    //覆盖 CMD_BLE5_RADIO_SETUP

    静态 uint32_t pOverridesCommon[]=

        // override_ble5_setup_override_common.xml

        // Rx:将用于自动软件补偿的 LNA IB 偏移设置为0

    (uint32_t) 0x00008883、

        // Rx:根据所选的 defaultPhy.mainMode 设置设置 LNA IB TRIM 值。 (注意:值0x8是占位符。 要使用的值应在运行时由无线电驱动程序功能设置。)

    ADI_HALFREG_OVERRIDE (0、4、0xF、0x8)、

        // override_frontend_is_rfp.xml

        // Rx:设置 RSSI 偏移以将报告的 RSSI 调整-2dB

    (uint32_t) 0x000288A3、

    (uint32_t) 0xFFFFFFFF、

    };

    //覆盖 CMD_BLE5_RADIO_SETUP

    静态 uint32_t pOverrides1Mbps[]=

        // override_ble5_setup_override_1mbps.xml

        // Rx:将 LNA IB TRIM 设为正常修整值。 (注意:值0x8是占位符。 要使用的值应在运行时由无线电驱动程序功能设置。)

    ADI_HALFREG_OVERRIDE (0、4、0xF、0x8)、

        // Rx:将 AGC 配置为使用增益表以提高性能

    HW_REG_OVERRIDE (0x6084、0x05F8)、

    (uint32_t) 0xFFFFFFFF、

    };

    //覆盖 CMD_BLE5_RADIO_SETUP

    静态 uint32_t pOverrides2Mbps[]=

        // override_ble5_setup_override_2mbps.xml

        // Rx:将 LNA IB TRIM 设为正常修整值。 (注意:值0x8是占位符。 要使用的值应在运行时由无线电驱动程序功能设置。)

    ADI_HALFREG_OVERRIDE (0、4、0xF、0x8)、

    (uint32_t) 0xFFFFFFFF、

    };

    //覆盖 CMD_BLE5_RADIO_SETUP

    静态 uint32_t pOverridedCode[]=

        // override_ble5_setup_override_coded.xml

        // Rx:将 LNA IB TRIM 设为0xF (最大值)

    ADI_HALFREG_OVERRIDE (0、4、0xF、0xF)、

        // Rx:覆盖 AGC 目标增益以提高性能

    HW_REG_OVERRIDE (0x6088、0x0018)、

    (uint32_t) 0xFFFFFFFF、

    };

    BR、

    吉元

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

    您应该只使用 BLE 堆栈中已有的覆盖。 无需更改这些内容或添加任何内容。

    Fredrik