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.

[参考译文] CC1310:如何修改通信模式?

Guru**** 2418150 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1169078/cc1310-how-to-modify-the-communication-mode

器件型号:CC1310

大家好、

以下是客户的请求:

客户需要根据不同的运行速度修改不同的模式、如下图所示、例如625bps 使用的传统远距离模式、当他切换到5kbps 时、他希望使用 Simplilink 远距离模式。

 根据每个空速生成的 smartrf_settings.c 文件的文件比较、他 修改了不同的参数、但发现在修改后仍然无法通信。

在主函数调用哪个步骤之前、他需要知道生成的 smartrf_settings.c 中的参数、以及如何修改和切换参数。 下图是一些修改后的参数以及射频初始化前的修改后声明的屏幕截图。

此外、使用搜索功能、客户无法看到 SmartRF_setting.c 参数的分配位置。

您可以帮助检查此案例吗? 谢谢。

此致、                                                         

Nick

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

    我不确定我是否理解您显示的数字或实际问题是什么。

    如果客户希望同时使用传统 LRM (625bps)和 SimpleLink LRM (5kbps)、则需要在其 SmartRF_SETTINGS 文件中包含这两种模式的所有设置/覆盖/补丁:

    //*********************************************************************************
    // Parameter summary
    // RX Address0: 0xAA 
    // RX Address1: 0xBB 
    // RX Address Mode: No address check 
    // Frequency: 868.00000 MHz
    // Data Format: Serial mode disable 
    // Deviation: 5.000 kHz
    // Packet Length Config: Variable 
    // Max Packet Length: 255 
    // Packet Length: 20 
    // Packet Data: 255 
    // RX Filter BW: 39 kHz
    // Symbol Rate: 10.00061 kBaud
    // Sync Word Length: 32 Bits 
    // TX Power: 14 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual)
    // Whitening: No whitening 
    
    #include "smartrf_settings.h"
    
    #include DeviceFamily_constructPath(rf_patches/rf_patch_cpe_lrm.h)
    #include DeviceFamily_constructPath(rf_patches/rf_patch_rfe_lrm.h)
    
    // TI-RTOS RF Mode Object
    RF_Mode RF_prop =
    {
        .rfMode = RF_MODE_PROPRIETARY_SUB_1,
        .cpePatchFxn = &rf_patch_cpe_lrm,
        .mcePatchFxn = 0,
        .rfePatchFxn = &rf_patch_rfe_lrm
    };
    
    
    // Overrides for CMD_PROP_RADIO_DIV_SETUP
    uint32_t pOverrides_625[] =
    {
        // override_use_patch_prop_lrm.xml
        // PHY: Use MCE ROM bank 3, RFE RAM patch
        MCE_RFE_OVERRIDE(0,3,0,1,0,0),
        // override_synth_prop_863_930_div5.xml
        // Synth: Set recommended RTRIM to 7
        .
        .
        .
        (uint32_t)0xFFFFFFFF
    };
    
    
    // CMD_PROP_RADIO_DIV_SETUP
    // Proprietary Mode Radio Setup Command for All Frequency Bands
    rfc_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup_625 =
    {
        .commandNo = 0x3807,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .
        .
        .
        .pRegOverride = pOverrides_625,
        .centerFreq = 0x0364,
        .intFreq = 0x8000,
        .loDivider = 0x05
    };
    
    
    // CMD_FS
    // Frequency Synthesizer Programming Command
    rfc_CMD_FS_t RF_cmdFs_625 =
    {
        .commandNo = 0x0803,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .
        .
    };
    
    
    // CMD_PROP_TX
    // Proprietary Mode Transmit Command
    rfc_CMD_PROP_TX_t RF_cmdPropTx_625 =
    {
        .commandNo = 0x3801,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
       .
       .
       .
    };
    
    
    // CMD_PROP_RX
    // Proprietary Mode Receive Command
    rfc_CMD_PROP_RX_t RF_cmdPropRx_625 =
    {
        .commandNo = 0x3802,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
       .
       .
       .
    };
    
    
    //*********************************************************************************
    // Parameter summary
    // RX Address0: 0xAA 
    // RX Address1: 0xBB 
    // RX Address Mode: No address check 
    // Frequency: 868.00000 MHz
    // Data Format: Serial mode disable 
    // Deviation: 5.000 kHz
    // Packet Length Config: Variable 
    // Max Packet Length: 255 
    // Packet Length: 20 
    // Packet Data: 255 
    // RX Filter BW: 49 kHz
    // Symbol Rate: 19.99969 kBaud
    // Sync Word Length: 32 Bits 
    // TX Power: 14 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual)
    // Whitening: CC1101/CC2500 compatible 
    
    #include "smartrf_settings.h"
    
    #include DeviceFamily_constructPath(rf_patches/rf_patch_cpe_sl_longrange.h)
    #include DeviceFamily_constructPath(rf_patches/rf_patch_rfe_sl_longrange.h)
    #include DeviceFamily_constructPath(rf_patches/rf_patch_mce_sl_longrange.h)
    
    // TI-RTOS RF Mode Object
    RF_Mode RF_prop =
    {
        .rfMode = RF_MODE_PROPRIETARY_SUB_1,
        .cpePatchFxn = &rf_patch_cpe_sl_longrange,
        .mcePatchFxn = &rf_patch_mce_sl_longrange,
        .rfePatchFxn = &rf_patch_rfe_sl_longrange
    };
    
    
    // Overrides for CMD_PROP_RADIO_DIV_SETUP
    uint32_t pOverrides_5k[] =
    {
        // override_use_patch_simplelink_long_range.xml
        // PHY: Use MCE RAM patch, RFE RAM patch
        MCE_RFE_OVERRIDE(1,0,0,1,0,0),
        // override_synth_prop_863_930_div5_lbw60k.xml
        // Synth: Set recommended RTRIM to 7
        HW_REG_OVERRIDE(0x4038,0x0037),
        .
        .
        .
        (uint32_t)0xFFFFFFFF
    };
    
    
    // CMD_PROP_RADIO_DIV_SETUP
    // Proprietary Mode Radio Setup Command for All Frequency Bands
    rfc_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup_5k =
    {
        .commandNo = 0x3807,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .
        .
        .
        .pRegOverride = pOverrides_5k,
        .centerFreq = 0x0364,
        .intFreq = 0x8000,
        .loDivider = 0x05
    };
    
    
    // CMD_FS
    // Frequency Synthesizer Programming Command
    rfc_CMD_FS_t RF_cmdFs_5k =
    {
        .commandNo = 0x0803,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .
        .
        .
    };
    
    
    // CMD_PROP_TX
    // Proprietary Mode Transmit Command
    rfc_CMD_PROP_TX_t RF_cmdPropTx_5k =
    {
        .commandNo = 0x3801,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .
        .
        .
    };
    
    
    // CMD_PROP_RX
    // Proprietary Mode Receive Command
    rfc_CMD_PROP_RX_t RF_cmdPropRx_5k =
    {
        .commandNo = 0x3802,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
       .
       .
       .
    };
    
    
    
    

    要在 PHY 之间切换、只需使用一个 PHY 打开射频驱动器、执行所需的任何操作、关闭驱动器、然后使用另一个 PHY 再次将其打开。

    SmartRF Studio 中的代码导出一次只能提供一个 PHY、因此您必须先导出一个 PHY、重命名它、然后导出另一个 PHY、 并将设置粘贴到第一个文件中(或者您的代码中可以有两个不同的 SmartRF_SETTINGS 文件、不同 PHY 具有不同的名称。

    Siri