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.

[参考译文] CC1354P10:低于1GHz 论坛

Guru**** 2390885 points
Other Parts Discussed in Thread: CC1354P10, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1332258/cc1354p10-sub-1-ghz-forum

器件型号:CC1354P10
主题中讨论的其他器件: SysConfig

大家好!

是否有人尝试将802.15.4示例(\RTOS\LP_EM_CC1354P10_6\ti154stack)移植(或迁移)到  CC1354P106 RGZ 封装?

我厌倦了下面的方法,不 成功。

方法1:

  1. 打开 CCS 12.5.0.00007中的传感器示例" C:\ti\simplelink_cc13xx_cc26xx_sdk_7_10_02_23_s\examples\rtos\LP_EM_CC1354P10_6\ci154stack\sensor_2_4g_src"
  2. 打开 SysConfig 并尝试更改芯片组  

如上图所示、无法更改示例中的封装或芯片组。

方法2:

  1. 使用独立 SysConfig 创建15.4示例。

当芯片组配置为 RGZ 封装时、射频堆栈下没有15.4堆栈选项。

将芯片组重新配置为 RGK 封装时、RF 堆栈下可见15.4堆栈选项。

为什么 TI 802.15.4仅对 RSK 封装开放?

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

    尊敬的 Sachin:

    我不知道为什么15.4-Stack 项目默认未启用 CC1354P10RGZ、LaunchPad 上不提供此器件型号、因此可能会错过该结果。  以下是您可以尝试的一些步骤:

    1. 修改 simplelink_cc13xx_cc26xx_sdk_7_10_02_23\source\ti\ci154stack\.meta 中的这三个文件
      1. rf_config/ti154stack_rf_config.syscfg.js:添加到  
        getRfDesign选项
         
            else if(deviceId === "CC1354P10RGZ")
            {
                newRfDesignOptions = [{name: "LP_EM_CC1354P10_1"}];
            }
      2. ti154stack_common.js: 从支持迁移中将 CC1354P10RGZ 添加到 LP_EM_CC1354P10
      3. ti154stack.component.js:将 CC1354P10RGZ 添加到支持的器件
    2. Re -导入您的 TI 15.4协议栈 CC1354P10项目
    3. 转到 SysConfig Editor -> Device View -> Switch -> Board "None"和"Device" CC1354P10RGZ
    4. 根据需要更改 RF -> RF PinMux 并 在应用程序文件中替换 rfDriverCallbackAntennaSwitching 函数  
      /*
       * ======== Antenna switching ========
       */
      /*
       * ======== rfDriverCallbackAntennaSwitching ========
       * Sets up the antenna switch depending on the current PHY configuration.
       *
       * Truth table:
       *
       * Path       DIO34 DIO3  DIO35
       * ========== ===== ===== =====
       * Off        0     0     0
       * 2.4 GHZ    1     0     0
       * HIGH PA    0     1     0
       * SUB1 GHZ   0     0     1
       */
      void rfDriverCallbackAntennaSwitching(RF_Handle client, RF_GlobalEvent events, void *arg)
      {
      
          if (events & RF_GlobalEventRadioSetup) {
              bool    sub1GHz   = false;
              uint8_t loDivider = 0;
      
              /* Switch off all paths. */
              GPIO_write(CONFIG_RF_24GHZ, 0);
              GPIO_write(CONFIG_RF_HIGH_PA, 0);
              GPIO_write(CONFIG_RF_SUB1GHZ, 0);
      
              /* Decode the current PA configuration. */
              RF_TxPowerTable_PAType paType = (RF_TxPowerTable_PAType)RF_getTxPower(client).paType;
      
              /* Decode the generic argument as a setup command. */
              RF_RadioSetup* setupCommand = (RF_RadioSetup*)arg;
      
              switch (setupCommand->common.commandNo) {
                  case (CMD_RADIO_SETUP):
                  case (CMD_BLE5_RADIO_SETUP):
                          loDivider = RF_LODIVIDER_MASK & setupCommand->common.loDivider;
      
                          /* Sub-1GHz front-end. */
                          if (loDivider != 0) {
                              sub1GHz = true;
                          }
                          break;
                  case (CMD_PROP_RADIO_DIV_SETUP):
                          loDivider = RF_LODIVIDER_MASK & setupCommand->prop_div.loDivider;
      
                          /* Sub-1GHz front-end. */
                          if (loDivider != 0) {
                              sub1GHz = true;
                          }
                          break;
                  default:break;
              }
      
              if (sub1GHz) {
                  /* Sub-1 GHz */
                  if (paType == RF_TxPowerTable_HighPA) {
                      /* PA enable --> HIGH PA
                       * LNA enable --> Sub-1 GHz
                       */
                      GPIO_setMux(CONFIG_RF_24GHZ, IOC_PORT_GPIO);
                      /* Note: RFC_GPO3 is a work-around because the RFC_GPO1 (PA enable signal) is sometimes not
                               de-asserted on CC1352 Rev A. */
                      GPIO_setMux(CONFIG_RF_HIGH_PA, IOC_PORT_RFC_GPO3);
                      GPIO_setMux(CONFIG_RF_SUB1GHZ, IOC_PORT_RFC_GPO0);
                  } else {
                      /* RF core active --> Sub-1 GHz */
                      GPIO_setMux(CONFIG_RF_24GHZ, IOC_PORT_GPIO);
                      GPIO_setMux(CONFIG_RF_HIGH_PA, IOC_PORT_GPIO);
                      GPIO_setMux(CONFIG_RF_SUB1GHZ, IOC_PORT_GPIO);
                      GPIO_write(CONFIG_RF_SUB1GHZ, 1);
                  }
              } else {
                  /* 2.4 GHz */
                  if (paType == RF_TxPowerTable_HighPA)
                  {
                      /* PA enable --> HIGH PA
                       * LNA enable --> 2.4 GHz
                       */
                      GPIO_setMux(CONFIG_RF_24GHZ, IOC_PORT_RFC_GPO0);
                      /* Note: RFC_GPO3 is a work-around because the RFC_GPO1 (PA enable signal) is sometimes not
                               de-asserted on CC1352 Rev A. */
                      GPIO_setMux(CONFIG_RF_HIGH_PA, IOC_PORT_RFC_GPO3);
                      GPIO_setMux(CONFIG_RF_SUB1GHZ, IOC_PORT_GPIO);
                  } else {
                      /* RF core active --> 2.4 GHz */
                      GPIO_setMux(CONFIG_RF_24GHZ, IOC_PORT_GPIO);
                      GPIO_setMux(CONFIG_RF_HIGH_PA, IOC_PORT_GPIO);
                      GPIO_setMux(CONFIG_RF_SUB1GHZ, IOC_PORT_GPIO);
                      GPIO_write(CONFIG_RF_24GHZ, 1);
                  }
              }
          }
          else if (events & RF_GlobalEventRadioPowerDown) {
              /* Switch off all paths. */
              GPIO_write(CONFIG_RF_24GHZ, 0);
              GPIO_write(CONFIG_RF_HIGH_PA, 0);
              GPIO_write(CONFIG_RF_SUB1GHZ, 0);
      
              /* Reset the IO multiplexer to GPIO functionality */
              GPIO_setMux(CONFIG_RF_24GHZ, IOC_PORT_GPIO);
              GPIO_setMux(CONFIG_RF_HIGH_PA, IOC_PORT_GPIO);
              GPIO_setMux(CONFIG_RF_SUB1GHZ, IOC_PORT_GPIO);
          }
      }

    我能够确认成功构建、但没有用于进一步测试输出的 RGZ 器件。

    此致、
    瑞安

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

    您好、Ryan、

    谢谢、我在 SysConfig 中看到了 RGZ 选项。 我将编译并查看它是否起作用。

    同时,您能在 DMM 示例中向我演示如何操作吗? 我尝试了相同的方法来更改.js 文件。 它不起作用。

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

    由于 DMM 包含两个射频堆栈、因此您必须确保这两个的 SysConfig .meta 文件都支持 CC1354P10RGZ

    • source\ti\ble5stack\.meta\rf_config\ble_rf_config.syscfg.js:将 CC1354P10RGZ 添加到 getRfDesignOptions 中  
          else if(deviceId === "CC1354P10RGZ")
          {
              newRfDesignOptions = [{name: "LP_EM_CC1354P10_1"}];
          }
    • Source\ti\ble5stack\.meta\ble_common.js:将 CC1354P10RGZ 添加到支持的 LP_EM_CC1354P10_1
    • Source\ti\dmm\.meta\dmm_common.js:  在支持迁移中将 CC1354P10RGZ 添加到 LP_EM_CC1354P10  

    然后继续执行与之前相同的步骤。

    此致、
    瑞安

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

    谢谢 Ryan、这帮我解决了问题、  

    我希望 TI 很快会将此内容正式发布。