CC1314R10: CC1314R10 - 433MHz radio config Not found on Sysconfig and SmartRF studio

Part Number: CC1314R10
Other Parts Discussed in Thread: SYSCONFIG, CC1352P7, LP-CC1352P7,

Hi Team,

There is no Radio configuration supported for 433MHz for the CC1314R10 board on both CCS studio and SmartRF studio. So we followed the thread https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1219477/lpstk-cc1352r-how-to-run-ti-15-4-stack-at-433mhz
and configured the 433MHz in the LP-CC1352P7-1 sysconfig and generated the radio config files (ti_radio_config.c and ti_radio_config.h) and copied to our project CC13145R10 and that is working fine.

Now I want to enable 14dbm power on my board i.e on CC1314R10. When checking that option I come to see that there is some power table difference on both radio configs LP-CC1352P7-1 vs CC13145R10.

Also There are some override options set on both radio_configs (actually the 14dbm power is set on the override options). 


For ref I am attaching the sysconfig of my CC1314R10 868MHz - 5kbps - 14dbm radio_config:

/*
 *  ======== ti_radio_config.c ========
 *  Configured RadioConfig module definitions
 *
 *  DO NOT EDIT - This file is generated for the CC1314R10RSK
 *  by the SysConfig tool.
 *
 *  Radio Config module version : 1.20.0
 *  SmartRF Studio data version : 2.32.0
 */

#include "ti_radio_config.h"
#include DeviceFamily_constructPath(rf_patches/rf_patch_cpe_multi_protocol.h)


// *********************************************************************************
//   RF Frontend configuration
// *********************************************************************************
// RF design based on: LP_EM_CC1314R10

// TX Power tables
// The RF_TxPowerTable_DEFAULT_PA_ENTRY and RF_TxPowerTable_HIGH_PA_ENTRY macros are defined in RF.h.
// The following arguments are required:
// RF_TxPowerTable_DEFAULT_PA_ENTRY(bias, gain, boost, coefficient)
// RF_TxPowerTable_HIGH_PA_ENTRY(bias, ibboost, boost, coefficient, ldoTrim)
// See the Technical Reference Manual for further details about the "txPower" Command field.
// The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.

// 868 MHz, 13 dBm
RF_TxPowerTable_Entry txPowerTable_868_pa13[TXPOWERTABLE_868_PA13_SIZE] =
{
    {-20, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(22, 3, 0, 0, 3) }, // 0x0300D6
    {-19, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(25, 3, 0, 0, 3) }, // 0x0300D9
    {-18, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(28, 3, 0, 0, 3) }, // 0x0300DC
    {-17, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(32, 3, 0, 0, 3) }, // 0x0300E0
    {-16, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(37, 3, 0, 0, 3) }, // 0x0300E5
    {-15, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(42, 3, 0, 4, 3) }, // 0x0308EA
    {-14, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(48, 3, 0, 4, 3) }, // 0x0308F0
    {-13, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(56, 3, 0, 0, 3) }, // 0x0300F8
    {-12, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(63, 3, 0, 0, 3) }, // 0x0300FF
    {-11, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(38, 2, 0, 0, 3) }, // 0x0300A6
    {-10, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(35, 3, 0, 4, 2) }, // 0x0208E3
    {-9, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(50, 2, 0, 4, 3) }, // 0x0308B2
    {-8, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(58, 2, 0, 0, 3) }, // 0x0300BA
    {-7, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(55, 3, 0, 7, 2) }, // 0x020EF7
    {-6, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(63, 3, 0, 2, 2) }, // 0x0204FF
    {-5, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(26, 3, 0, 14, 1) }, // 0x011CDA
    {-4, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(40, 2, 0, 14, 2) }, // 0x021CA8
    {-3, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(47, 2, 0, 14, 2) }, // 0x021CAF
    {-2, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(42, 3, 0, 25, 1) }, // 0x0132EA
    {-1, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(50, 3, 0, 28, 1) }, // 0x0138F2
    {0, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(61, 3, 0, 19, 1) }, // 0x0126FD
    {1, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(32, 1, 0, 25, 2) }, // 0x023260
    {2, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(33, 2, 0, 32, 1) }, // 0x0140A1
    {3, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(40, 2, 0, 39, 1) }, // 0x014EA8
    {4, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(49, 2, 0, 49, 1) }, // 0x0162B1
    {5, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(35, 3, 0, 46, 0) }, // 0x005CE3
    {6, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(43, 3, 0, 56, 0) }, // 0x0070EB
    {7, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(27, 1, 0, 39, 1) }, // 0x014E5B
    {8, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(35, 1, 0, 53, 1) }, // 0x016A63
    {9, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(47, 1, 0, 64, 1) }, // 0x01806F
    {10, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(47, 2, 0, 71, 0) }, // 0x008EAF
    {11, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(23, 1, 0, 53, 0) }, // 0x006A57
    {12, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(25, 0, 0, 71, 0) }, // 0x008E19
    // This setting requires CCFG_FORCE_VDDR_HH = 1.
    {14, RF_TxPowerTable_CC13x4Sub1GHz_DEFAULT_PA_ENTRY(63, 0, 1, 0, 0) }, // 0x00013F
    RF_TxPowerTable_TERMINATION_ENTRY
};



//*********************************************************************************
//  RF Setting:   SimpleLink Long Range, 5 kbps (20 ksps), 5 kHz Deviation, 2-GFSK, 34 kHz RX Bandwidth, FEC = 1:2, DSSS = 1:2
//
//  PHY:          slr5kbps2gfsk
//  Setting file: setting_tc480.json
//*********************************************************************************

// PARAMETER SUMMARY
// RX Address Mode: No address check
// Frequency (MHz): 868.0000
// Deviation (kHz): 5.0
// Packet Length Config: Variable
// Max Packet Length: 255
// Preamble Count: 2 Bytes
// Preamble Mode: Send 1 as the first preamble bit
// RX Filter BW (kHz): 34.1
// Symbol Rate (kBaud): 20.000
// Sync Word: 0x0
// Sync Word Length: 32 Bits
// TX Power (dBm): 14
// Whitening: CC1101/CC2500 compatible

// TI-RTOS RF Mode Object
RF_Mode RF_prop =
{
    .rfMode = RF_MODE_AUTO,
    .cpePatchFxn = &rf_patch_cpe_multi_protocol,
    .mcePatchFxn = 0,
    .rfePatchFxn = 0
};

// Overrides for CMD_PROP_RADIO_DIV_SETUP
uint32_t pOverrides[] =
{
    // override_txsub1_placeholder.json
    // TX sub-1GHz power override
    TXSUB1_POWER_OVERRIDE(0x00013F),
    // override_prop_common.json
    // Tx: Set DCDC settings IPEAK=7, dither = off
    (uint32_t)0x004388D3,
    // override_prop_common_sub1g.json
    // TX: Set FSCA divider bias to 1
    HW32_ARRAY_OVERRIDE(0x405C,0x0001),
    // TX: Set FSCA divider bias to 1
    (uint32_t)0x08141131,
    // override_phy_slr_dsss2.json
    // PHY: Configure DSSS SF=2 for payload data
    HW_REG_OVERRIDE(0x5068,0x0100),
    // override_tc480_tc481.json
    // Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[4:3]=0x3)
    ADI_2HALFREG_OVERRIDE(0,16,0x8,0x8,17,0x1,0x1),
    // Rx: Set AGC reference level to 0x17 (default: 0x2E)
    HW_REG_OVERRIDE(0x609C,0x0017),
    // Rx: Set RSSI offset to adjust reported RSSI by -2 dB (default: -2), trimmed for external bias and differential configuration
    (uint32_t)0x000288A3,
    // Rx: Set anti-aliasing filter bandwidth to 0xD (in ADI0, set IFAMPCTL3[7:4]=0xD)
    ADI_HALFREG_OVERRIDE(0,61,0xF,0xD),
    // Tx: Configure PA ramping, set wait time before turning off (0x1A ticks of 16/24 us = 17.3 us).
    HW_REG_OVERRIDE(0x6028,0x001A),
    // override_patable_14dbm.json
    // Tx: Set PA trim to max to maximize its output power (in ADI0, set PACTL0=0xF8)
    ADI_REG_OVERRIDE(0,12,0xF8),
    (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 =
{
    .commandNo = 0x3807,
    .status = 0x0000,
    .pNextOp = 0,
    .startTime = 0x00000000,
    .startTrigger.triggerType = 0x0,
    .startTrigger.bEnaCmd = 0x0,
    .startTrigger.triggerNo = 0x0,
    .startTrigger.pastTrig = 0x0,
    .condition.rule = 0x1,
    .condition.nSkip = 0x0,
    .modulation.modType = 0x1,
    .modulation.deviation = 0x14,
    .modulation.deviationStepSz = 0x0,
    .symbolRate.preScale = 0xF,
    .symbolRate.rateWord = 0x3333,
    .symbolRate.decimMode = 0x0,
    .rxBw = 0x4C,
    .preamConf.nPreamBytes = 0x2,
    .preamConf.preamMode = 0x1,
    .formatConf.nSwBits = 0x20,
    .formatConf.bBitReversal = 0x0,
    .formatConf.bMsbFirst = 0x0,
    .formatConf.fecMode = 0x8,
    .formatConf.whitenMode = 0x1,
    .config.frontEndMode = 0x0,
    .config.biasMode = 0x1,
    .config.analogCfgMode = 0x0,
    .config.bNoFsPowerUp = 0x0,
    .config.bSynthNarrowBand = 0x0,
    .txPower = 0xFFFE,
    .pRegOverride = pOverrides,
    .centerFreq = 0x0364,
    .intFreq = 0x8000,
    .loDivider = 0x05
};

// CMD_FS
// Frequency Synthesizer Programming Command
rfc_CMD_FS_t RF_cmdFs =
{
    .commandNo = 0x0803,
    .status = 0x0000,
    .pNextOp = 0,
    .startTime = 0x00000000,
    .startTrigger.triggerType = 0x0,
    .startTrigger.bEnaCmd = 0x0,
    .startTrigger.triggerNo = 0x0,
    .startTrigger.pastTrig = 0x0,
    .condition.rule = 0x1,
    .condition.nSkip = 0x0,
    .frequency = 0x0364,
    .fractFreq = 0x0000,
    .synthConf.bTxMode = 0x0,
    .synthConf.refFreq = 0x0,
    .__dummy0 = 0x00,
    .__dummy1 = 0x00,
    .__dummy2 = 0x00,
    .__dummy3 = 0x0000
};

// CMD_PROP_TX
// Proprietary Mode Transmit Command
rfc_CMD_PROP_TX_t RF_cmdPropTx =
{
    .commandNo = 0x3801,
    .status = 0x0000,
    .pNextOp = 0,
    .startTime = 0x00000000,
    .startTrigger.triggerType = 0x0,
    .startTrigger.bEnaCmd = 0x0,
    .startTrigger.triggerNo = 0x0,
    .startTrigger.pastTrig = 0x0,
    .condition.rule = 0x1,
    .condition.nSkip = 0x0,
    .pktConf.bFsOff = 0x0,
    .pktConf.bUseCrc = 0x1,
    .pktConf.bVarLen = 0x1,
    .pktLen = 0x14,
    .syncWord = 0x00000000,
    .pPkt = 0
};

// CMD_PROP_RX
// Proprietary Mode Receive Command
rfc_CMD_PROP_RX_t RF_cmdPropRx =
{
    .commandNo = 0x3802,
    .status = 0x0000,
    .pNextOp = 0,
    .startTime = 0x00000000,
    .startTrigger.triggerType = 0x0,
    .startTrigger.bEnaCmd = 0x0,
    .startTrigger.triggerNo = 0x0,
    .startTrigger.pastTrig = 0x0,
    .condition.rule = 0x1,
    .condition.nSkip = 0x0,
    .pktConf.bFsOff = 0x0,
    .pktConf.bRepeatOk = 0x0,
    .pktConf.bRepeatNok = 0x0,
    .pktConf.bUseCrc = 0x1,
    .pktConf.bVarLen = 0x1,
    .pktConf.bChkAddress = 0x0,
    .pktConf.endType = 0x0,
    .pktConf.filterOp = 0x0,
    .rxConf.bAutoFlushIgnored = 0x0,
    .rxConf.bAutoFlushCrcErr = 0x0,
    .rxConf.bIncludeHdr = 0x1,
    .rxConf.bIncludeCrc = 0x0,
    .rxConf.bAppendRssi = 0x0,
    .rxConf.bAppendTimestamp = 0x0,
    .rxConf.bAppendStatus = 0x1,
    .syncWord = 0x00000000,
    .maxPktLen = 0xFF,
    .address0 = 0xAA,
    .address1 = 0xBB,
    .endTrigger.triggerType = 0x1,
    .endTrigger.bEnaCmd = 0x0,
    .endTrigger.triggerNo = 0x0,
    .endTrigger.pastTrig = 0x0,
    .endTime = 0x00000000,
    .pQueue = 0,
    .pOutput = 0
};


Radio config from CC1352P7 - 433MHz - 5kbps - 12dbm radio

/*
* ======== ti_radio_config.c ========
* Configured RadioConfig module definitions
*
* DO NOT EDIT - This file is generated for the CC1352P7RGZ
* by the SysConfig tool.
*
* Radio Config module version : 1.20.0
* SmartRF Studio data version : 2.32.0
*/

#include "ti_radio_config.h"
#include DeviceFamily_constructPath(rf_patches/rf_patch_cpe_prop.h)


// *********************************************************************************
// RF Frontend configuration
// *********************************************************************************
// RF design based on: LP_CC1352P7-4

// TX Power tables
// The RF_TxPowerTable_DEFAULT_PA_ENTRY and RF_TxPowerTable_HIGH_PA_ENTRY macros are defined in RF.h.
// The following arguments are required:
// RF_TxPowerTable_DEFAULT_PA_ENTRY(bias, gain, boost, coefficient)
// RF_TxPowerTable_HIGH_PA_ENTRY(bias, ibboost, boost, coefficient, ldoTrim)
// See the Technical Reference Manual for further details about the "txPower" Command field.
// The PA settings require the CCFG_FORCE_VDDR_HH = 0 unless stated otherwise.

// 2400 MHz, 5 dBm
RF_TxPowerTable_Entry txPowerTable_2400_pa5[TXPOWERTABLE_2400_PA5_SIZE] =
{
{-20, RF_TxPowerTable_DEFAULT_PA_ENTRY(8, 3, 0, 2) }, // 0x04C8
{-18, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 3, 0, 2) }, // 0x04CA
{-15, RF_TxPowerTable_DEFAULT_PA_ENTRY(13, 3, 0, 3) }, // 0x06CD
{-12, RF_TxPowerTable_DEFAULT_PA_ENTRY(16, 3, 0, 5) }, // 0x0AD0
{-10, RF_TxPowerTable_DEFAULT_PA_ENTRY(19, 3, 0, 5) }, // 0x0AD3
{-9, RF_TxPowerTable_DEFAULT_PA_ENTRY(20, 3, 0, 6) }, // 0x0CD4
{-6, RF_TxPowerTable_DEFAULT_PA_ENTRY(19, 2, 0, 11) }, // 0x1693
{-5, RF_TxPowerTable_DEFAULT_PA_ENTRY(21, 2, 0, 11) }, // 0x1695
{-3, RF_TxPowerTable_DEFAULT_PA_ENTRY(25, 2, 0, 12) }, // 0x1899
{0, RF_TxPowerTable_DEFAULT_PA_ENTRY(29, 1, 0, 22) }, // 0x2C5D
{1, RF_TxPowerTable_DEFAULT_PA_ENTRY(33, 1, 0, 25) }, // 0x3261
{2, RF_TxPowerTable_DEFAULT_PA_ENTRY(38, 1, 0, 31) }, // 0x3E66
{3, RF_TxPowerTable_DEFAULT_PA_ENTRY(47, 1, 0, 36) }, // 0x486F
{4, RF_TxPowerTable_DEFAULT_PA_ENTRY(32, 0, 0, 65) }, // 0x8220
{5, RF_TxPowerTable_DEFAULT_PA_ENTRY(46, 0, 0, 59) }, // 0x762E
RF_TxPowerTable_TERMINATION_ENTRY
};

// 2400 MHz, 5 + 10 dBm
RF_TxPowerTable_Entry txPowerTable_2400_pa5_10[TXPOWERTABLE_2400_PA5_10_SIZE] =
{
{-20, RF_TxPowerTable_DEFAULT_PA_ENTRY(8, 3, 0, 2) }, // 0x04C8
{-18, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 3, 0, 2) }, // 0x04CA
{-15, RF_TxPowerTable_DEFAULT_PA_ENTRY(13, 3, 0, 3) }, // 0x06CD
{-12, RF_TxPowerTable_DEFAULT_PA_ENTRY(16, 3, 0, 5) }, // 0x0AD0
{-10, RF_TxPowerTable_DEFAULT_PA_ENTRY(19, 3, 0, 5) }, // 0x0AD3
{-9, RF_TxPowerTable_DEFAULT_PA_ENTRY(20, 3, 0, 6) }, // 0x0CD4
{-6, RF_TxPowerTable_DEFAULT_PA_ENTRY(19, 2, 0, 11) }, // 0x1693
{-5, RF_TxPowerTable_DEFAULT_PA_ENTRY(21, 2, 0, 11) }, // 0x1695
{-3, RF_TxPowerTable_DEFAULT_PA_ENTRY(25, 2, 0, 12) }, // 0x1899
{0, RF_TxPowerTable_DEFAULT_PA_ENTRY(29, 1, 0, 22) }, // 0x2C5D
{1, RF_TxPowerTable_DEFAULT_PA_ENTRY(33, 1, 0, 25) }, // 0x3261
{2, RF_TxPowerTable_DEFAULT_PA_ENTRY(38, 1, 0, 31) }, // 0x3E66
{3, RF_TxPowerTable_DEFAULT_PA_ENTRY(47, 1, 0, 36) }, // 0x486F
{4, RF_TxPowerTable_DEFAULT_PA_ENTRY(32, 0, 0, 65) }, // 0x8220
{5, RF_TxPowerTable_DEFAULT_PA_ENTRY(46, 0, 0, 59) }, // 0x762E
{6, RF_TxPowerTable_HIGH_PA_ENTRY(38, 0, 1, 39, 20) }, // 0x144F26
{7, RF_TxPowerTable_HIGH_PA_ENTRY(42, 0, 1, 39, 20) }, // 0x144F2A
{8, RF_TxPowerTable_HIGH_PA_ENTRY(33, 1, 0, 27, 20) }, // 0x143661
{9, RF_TxPowerTable_HIGH_PA_ENTRY(26, 1, 1, 25, 16) }, // 0x10335A
{10, RF_TxPowerTable_HIGH_PA_ENTRY(31, 1, 1, 31, 16) }, // 0x103F5F
RF_TxPowerTable_TERMINATION_ENTRY
};


// 433 MHz, 13 dBm
RF_TxPowerTable_Entry txPowerTable_433_pa13[TXPOWERTABLE_433_PA13_SIZE] =
{
{-11, RF_TxPowerTable_DEFAULT_PA_ENTRY(2, 3, 0, 7) }, // 0x0EC2
{-8, RF_TxPowerTable_DEFAULT_PA_ENTRY(3, 3, 0, 7) }, // 0x0EC3
{-6, RF_TxPowerTable_DEFAULT_PA_ENTRY(4, 3, 0, 7) }, // 0x0EC4
{0, RF_TxPowerTable_DEFAULT_PA_ENTRY(9, 3, 0, 16) }, // 0x20C9
{1, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 3, 0, 16) }, // 0x20CA
{2, RF_TxPowerTable_DEFAULT_PA_ENTRY(12, 3, 0, 19) }, // 0x26CC
{3, RF_TxPowerTable_DEFAULT_PA_ENTRY(14, 3, 0, 23) }, // 0x2ECE
{4, RF_TxPowerTable_DEFAULT_PA_ENTRY(16, 3, 0, 23) }, // 0x2ED0
{5, RF_TxPowerTable_DEFAULT_PA_ENTRY(18, 3, 0, 28) }, // 0x38D2
{6, RF_TxPowerTable_DEFAULT_PA_ENTRY(22, 3, 0, 32) }, // 0x40D6
{7, RF_TxPowerTable_DEFAULT_PA_ENTRY(26, 3, 0, 35) }, // 0x46DA
{8, RF_TxPowerTable_DEFAULT_PA_ENTRY(32, 3, 0, 44) }, // 0x58E0
{9, RF_TxPowerTable_DEFAULT_PA_ENTRY(40, 3, 0, 51) }, // 0x66E8
{10, RF_TxPowerTable_DEFAULT_PA_ENTRY(16, 2, 0, 44) }, // 0x5890
{11, RF_TxPowerTable_DEFAULT_PA_ENTRY(24, 2, 0, 64) }, // 0x8098
{12, RF_TxPowerTable_DEFAULT_PA_ENTRY(19, 0, 0, 74) }, // 0x9413
{13, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 0, 0) }, // 0x003F
RF_TxPowerTable_TERMINATION_ENTRY
};



//*********************************************************************************
// RF Setting: SimpleLink Long Range, 5 kbps (20 ksps), 5 kHz Deviation, 2-GFSK, 34 kHz RX Bandwidth, FEC = 1:2, DSSS = 1:2
//
// PHY: slr5kbps2gfsk433mhz
// Setting file: setting_tc440.json
//*********************************************************************************

// PARAMETER SUMMARY
// RX Address Mode: No address check
// Frequency (MHz): 433.0000
// Deviation (kHz): 5.0
// Packet Length Config: Variable
// Max Packet Length: 255
// Preamble Count: 4 Bytes
// Preamble Mode: Send 0 as the first preamble bit
// RX Filter BW (kHz): 34.1
// Symbol Rate (kBaud): 20.000
// Sync Word: 0x930B51DE
// Sync Word Length: 32 Bits
// TX Power (dBm): 12
// Whitening: CC1101/CC2500 compatible

// TI-RTOS RF Mode Object
RF_Mode RF_prop =
{
.rfMode = RF_MODE_AUTO,
.cpePatchFxn = &rf_patch_cpe_prop,
.mcePatchFxn = 0,
.rfePatchFxn = 0
};

// Overrides for CMD_PROP_RADIO_DIV_SETUP_PA
uint32_t pOverrides[] =
{
// override_phy_simplelink_long_range_dsss2.json
// PHY: Configure DSSS SF=2 for payload data
HW_REG_OVERRIDE(0x5068,0x0100),
// override_tc440_tc441.json
// Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[4:3]=0x3)
ADI_2HALFREG_OVERRIDE(0,16,0x8,0x8,17,0x1,0x1),
// Rx: Set AGC reference level to 0x19 (default: 0x2E)
HW_REG_OVERRIDE(0x609C,0x0019),
// Rx: Set RSSI offset to adjust reported RSSI by -6 dB (default: 0), trimmed for external bias and differential configuration
(uint32_t)0x000688A3,
// Rx: Set anti-aliasing filter bandwidth to 0xD (in ADI0, set IFAMPCTL3[7:4]=0xD)
ADI_HALFREG_OVERRIDE(0,61,0xF,0xD),
// TX: Reduce analog ramping wait time
HW_REG_OVERRIDE(0x6028,0x001A),
// override_prop_common.json
// DC/DC regulator: In Tx with 14 dBm PA setting, use DCDCCTL5[3:0]=0xF (DITHER_EN=1 and IPEAK=7). In Rx, use default settings.
(uint32_t)0x00F788D3,
// override_prop_common_sub1g.json
// TX: Set FSCA divider bias to 1
HW32_ARRAY_OVERRIDE(0x405C,0x0001),
// TX: Set FSCA divider bias to 1
(uint32_t)0x08141131,
(uint32_t)0xFFFFFFFF
};



// CMD_PROP_RADIO_DIV_SETUP_PA
// Proprietary Mode Radio Setup Command for All Frequency Bands
rfc_CMD_PROP_RADIO_DIV_SETUP_PA_t RF_cmdPropRadioDivSetup =
{
.commandNo = 0x3807,
.status = 0x0000,
.pNextOp = 0,
.startTime = 0x00000000,
.startTrigger.triggerType = 0x0,
.startTrigger.bEnaCmd = 0x0,
.startTrigger.triggerNo = 0x0,
.startTrigger.pastTrig = 0x0,
.condition.rule = 0x1,
.condition.nSkip = 0x0,
.modulation.modType = 0x1,
.modulation.deviation = 0x14,
.modulation.deviationStepSz = 0x0,
.symbolRate.preScale = 0xF,
.symbolRate.rateWord = 0x3333,
.symbolRate.decimMode = 0x0,
.rxBw = 0x4C,
.preamConf.nPreamBytes = 0x4,
.preamConf.preamMode = 0x0,
.formatConf.nSwBits = 0x20,
.formatConf.bBitReversal = 0x0,
.formatConf.bMsbFirst = 0x0,
.formatConf.fecMode = 0x8,
.formatConf.whitenMode = 0x1,
.config.frontEndMode = 0x0,
.config.biasMode = 0x1,
.config.analogCfgMode = 0x0,
.config.bNoFsPowerUp = 0x0,
.config.bSynthNarrowBand = 0x0,
.txPower = 0x9413,
.pRegOverride = pOverrides,
.centerFreq = 0x01B1,
.intFreq = 0x8000,
.loDivider = 0x0A,
.pRegOverrideTxStd = 0,
.pRegOverrideTx20 = 0
};

// CMD_FS
// Frequency Synthesizer Programming Command
rfc_CMD_FS_t RF_cmdFs =
{
.commandNo = 0x0803,
.status = 0x0000,
.pNextOp = 0,
.startTime = 0x00000000,
.startTrigger.triggerType = 0x0,
.startTrigger.bEnaCmd = 0x0,
.startTrigger.triggerNo = 0x0,
.startTrigger.pastTrig = 0x0,
.condition.rule = 0x1,
.condition.nSkip = 0x0,
.frequency = 0x01B1,
.fractFreq = 0x0000,
.synthConf.bTxMode = 0x0,
.synthConf.refFreq = 0x0,
.__dummy0 = 0x00,
.__dummy1 = 0x00,
.__dummy2 = 0x00,
.__dummy3 = 0x0000
};

// CMD_PROP_TX
// Proprietary Mode Transmit Command
rfc_CMD_PROP_TX_t RF_cmdPropTx =
{
.commandNo = 0x3801,
.status = 0x0000,
.pNextOp = 0,
.startTime = 0x00000000,
.startTrigger.triggerType = 0x0,
.startTrigger.bEnaCmd = 0x0,
.startTrigger.triggerNo = 0x0,
.startTrigger.pastTrig = 0x0,
.condition.rule = 0x1,
.condition.nSkip = 0x0,
.pktConf.bFsOff = 0x0,
.pktConf.bUseCrc = 0x1,
.pktConf.bVarLen = 0x1,
.pktLen = 0x14,
.syncWord = 0x930B51DE,
.pPkt = 0
};

// CMD_PROP_RX
// Proprietary Mode Receive Command
rfc_CMD_PROP_RX_t RF_cmdPropRx =
{
.commandNo = 0x3802,
.status = 0x0000,
.pNextOp = 0,
.startTime = 0x00000000,
.startTrigger.triggerType = 0x0,
.startTrigger.bEnaCmd = 0x0,
.startTrigger.triggerNo = 0x0,
.startTrigger.pastTrig = 0x0,
.condition.rule = 0x1,
.condition.nSkip = 0x0,
.pktConf.bFsOff = 0x0,
.pktConf.bRepeatOk = 0x0,
.pktConf.bRepeatNok = 0x0,
.pktConf.bUseCrc = 0x1,
.pktConf.bVarLen = 0x1,
.pktConf.bChkAddress = 0x0,
.pktConf.endType = 0x0,
.pktConf.filterOp = 0x0,
.rxConf.bAutoFlushIgnored = 0x0,
.rxConf.bAutoFlushCrcErr = 0x0,
.rxConf.bIncludeHdr = 0x1,
.rxConf.bIncludeCrc = 0x0,
.rxConf.bAppendRssi = 0x0,
.rxConf.bAppendTimestamp = 0x0,
.rxConf.bAppendStatus = 0x1,
.syncWord = 0x930B51DE,
.maxPktLen = 0xFF,
.address0 = 0xAA,
.address1 = 0xBB,
.endTrigger.triggerType = 0x1,
.endTrigger.bEnaCmd = 0x0,
.endTrigger.triggerNo = 0x0,
.endTrigger.pastTrig = 0x0,
.endTime = 0x00000000,
.pQueue = 0,
.pOutput = 0
};




So Can anyone support me on enabling 433MHz on my CC1314R10 with 14dbm Tx power or Porting the  LP-CC1352P7 radio config to my CC1314R10 board and enable 14dbm on top of that. 


Thanks in advance.
Regards,
Muniyappan R.M

  • Hi Muniyappan,

    You're correct that it's a gap in SmartRF Studio 7.

    The LP-EM-CC1314R10 BOM is not designed for 433 MHz operation.

    Starting with the LP-CC1352P7-4 433 MHz settings is probably the best approach, although note that this is designed for the RGZ (7x7mm) package. The LP-CC1352P7-1 BOM is for 868/915 MHz operation, so the -4 variant is the recommend design.

    • Are you using a custom PCB design for the CC1314R10?
    • What device package size are you using?
    • Normally +10 dBm is the maximum Output Power allowed for the 433 MHz band in most regions; just to double-check, is +14 dBm definitely the target?

    Regards,

    Zack

  • Hi ZC,

    First of all, thanks for your response.

    Following are my observations and answers to your queries (Also I have added some questions (Q*)).


    Regarding the LP-EM-CC1314R10 EVK board,

    The LP-EM-CC1314R10 BOM is not designed for 433 MHz operation.

    Starting with the LP-CC1352P7-4 433 MHz settings is probably the best approach, although note that this is designed for the RGZ (7x7mm) package. The LP-CC1352P7-1 BOM is for 868/915 MHz operation, so the -4 variant is the recommend design

    Actually I copied the radio config from LP-CC1352P7-4 only, not LP-CC1352P7-1. When mentioning it, I wrongly typed -1 (although I pasted the radioconfig of LP-CC1352P7-4).

    Radio config from CC1352P7 - 433MHz - 5kbps - 12dbm radio

    After configuring the radio config to my two LP-EM-CC1314R10 boards (one is a transmitter and the other one is a receiver), I am able to transmit and receive the data over 433MHz (I verified by adding my CC1352P1 sniffer setup to 433MHz).

    So Q1)the board LP-EM-CC1314R10 is actually supporting 433MHz?.  

    Now regarding your questions,

    • Are you using a custom PCB design for the CC1314R10?
    • What device package size are you using?
    • Normally +10 dBm is the maximum Output Power allowed for the 433 MHz band in most regions; just to double-check, is +14 dBm definitely the target?

    1.  Yes, we are going to use the custom PCB design for the CC1314R10.
    2.  As per response from our hardware team,
    We are going to use VQFN (RSK) | 64 package.

    3. We are checking (we are planning to use the product in the Indian region). 


    So Q2) can I continue to use the LP-CC1352P7-4 radio_config? . Becasue my main question is that can I blindly replace the radio_config files to my code (i.e for CC1314R10) without modifying anything (If I use same tc power from CC1352P7-4) ?
    Or Q3)Do I need to modify power_table or overrides?
    Q4) In case If I need to modify Tx power to 14 how to modify that?

    Kindly help me to modify the radio config. Thanks for your continuous support.

    Regards,
    Muniyappan R M.

  • Hi Muniyappan,

    1) The CC1314R10 device supports 433 MHz but the LP-EM-CC1314R10 BOM is for 868/915 MHz operation. It was not practical to develop new boards for every combination that the device supports, so 868/915 MHz operation was prioritised.

    A 433 MHz BOM specifically for the RSK package size has not been optimised yet; this is because of demand.

    If it is a large opportunity size please contact your local TI Sales representative to discuss this further. We cannot invest the time to optimise this BOM at the time of writing without sufficient demand, so this would be the next step. I would start with the LP-CC1352P7-4 BOM/topology for now.

    2) The CC1532P7 and CC1314R10 settings are very similar, but some of the overrides may need to be changed as certain register addresses are different. Looking at the differences for the LP-CC1314R10 and LP-CC1352P7-1 (using the 50 kbps PHY at 868/915 MHz as an example), there is a difference in the following override:

    0x00F788D3

    This override value is also used for the 433 MHz PHYs on the CC1352P7, so it is common between them.

    On the LP-CC1314R10 this is changed to the following for the characterised 868/915 MHz PHY settings:

    0x004388D3

    So, I would also change this override value to the latter (0x004388D3) when exporting the LP-CC1352P7-4 433 MHz settings and test the performance. It is likely that this value should also be used for 433 MHz if following the same logic as for the CC1352P7.

    Please note, as mentioned in the linked thread, that we don't have characterised settings for 433 MHz on the CC1314/CC1354 devices (i.e. they have not undergone the same validation testing as for the CC1352P7):  CC1354P10: Support for proprietary 433 MHz band  so we cannot make any guarantees about the performance.

    3) Use the PA table from the LP-CC1352P7-4 design because that is for 433 MHz operation. The CC1314R10 PA table you mention above is for 868/915 MHz operation (as above).

    It is not certain whether a new PA table would be needed at 433 MHz for the RSK package size. So, for now I would use the LP-CC1352P7-4 433 MHz PA table as a starting point.

    4) I would assume that, for +14 dBm operation, the same requirements as for 868/915 MHz operation apply: VDDR "Boost" mode must be enabled. The following comment is from the 868/915 MHz settings where this is done:

    // TX Power: 14 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual)

    It likely needs to be manually set in ccfg.c, as mentioned in Section 11.1 of SWCU192 (CC13x4, CC26x4 SimpleLink Wireless MCU Technical Reference Manual): https://www.ti.com/lit/swcu194

    It would be set in the same way as for 868/915 MHz operation (but manually), so please look at the generated ccfg.c for 868/915 MHz +14 dBm operation and then apply the same (define CCFG_FORCE_VDDR_HH = 1) for 433 MHz.

    The thread you linked to in your original post details how to use exported SmartRF Studio 7 settings in CCS (using your own exported Studio settings instead of the SysConfig-generated ti_radio_config.c/.h), which we would still recommend following for this.

    Regards,

    Zack