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.

CCS/CC1120: SmartRF configuration for 9.6kbps Bitrate between CC115L(TX) to CC1120(RX/TX)

Part Number: CC1120
Other Parts Discussed in Thread: CC115L,

Tool/software: Code Composer Studio

Hello,

We have a working product that uses 100kpbs, 4-FSK configuration (attached) between CC115L(TX) to CC1120(RX/TX).


I require a configuration 9.6kbps Bitrate to improve range but was unable to get the two devices to communicate with each other (I have tried several configurations including SmartRF's with no success).

Could you kinly assist to modify the attached configuration to work between the devices just instead of 100ksps with 9.6ksps?

Please also make sure they work

Thanks

2870.CC1120_100kbps_4FSK.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE configuration SYSTEM "C:/Program Files (x86)/Texas Instruments/SmartRF Tools/SmartRF Studio 7/config/xml/configdata.dtd"[]>
<dcpanelconfiguration>
    <Devicename>CC1120</Devicename>
    <Description>Saved configuration data</Description>
    <registersettings>
        <Register>
            <Name>AGC_CFG0</Name>
            <Value>0xc0</Value>
        </Register>
        <Register>
            <Name>AGC_CFG1</Name>
            <Value>0xa9</Value>
        </Register>
        <Register>
            <Name>AGC_CS_THR</Name>
            <Value>0xef</Value>
        </Register>
        <Register>
            <Name>AGC_REF</Name>
            <Value>0x3c</Value>
        </Register>
        <Register>
            <Name>CHAN_BW</Name>
            <Value>0x02</Value>
        </Register>
        <Register>
            <Name>DCFILT_CFG</Name>
            <Value>0x15</Value>
        </Register>
        <Register>
            <Name>DEVIATION_M</Name>
            <Value>0x99</Value>
        </Register>
        <Register>
            <Name>FIFO_CFG</Name>
            <Value>0x00</Value>
        </Register>
        <Register>
            <Name>FREQ1</Name>
            <Value>0x80</Value>
        </Register>
        <Register>
            <Name>FREQ2</Name>
            <Value>0x6c</Value>
        </Register>
        <Register>
            <Name>FREQ_IF_CFG</Name>
            <Value>0x3a</Value>
        </Register>
        <Register>
            <Name>FS_CAL0</Name>
            <Value>0x0e</Value>
        </Register>
        <Register>
            <Name>FS_CAL1</Name>
            <Value>0x40</Value>
        </Register>
        <Register>
            <Name>FS_CFG</Name>
            <Value>0x12</Value>
        </Register>
        <Register>
            <Name>FS_DIG0</Name>
            <Value>0x5f</Value>
        </Register>
        <Register>
            <Name>FS_DIG1</Name>
            <Value>0x00</Value>
        </Register>
        <Register>
            <Name>FS_DIVTWO</Name>
            <Value>0x03</Value>
        </Register>
        <Register>
            <Name>FS_DSM0</Name>
            <Value>0x33</Value>
        </Register>
        <Register>
            <Name>FS_DVC0</Name>
            <Value>0x17</Value>
        </Register>
        <Register>
            <Name>FS_PFD</Name>
            <Value>0x50</Value>
        </Register>
        <Register>
            <Name>FS_PRE</Name>
            <Value>0x6e</Value>
        </Register>
        <Register>
            <Name>FS_REG_DIV_CML</Name>
            <Value>0x14</Value>
        </Register>
        <Register>
            <Name>FS_SPARE</Name>
            <Value>0xac</Value>
        </Register>
        <Register>
            <Name>FS_VCO0</Name>
            <Value>0xb4</Value>
        </Register>
        <Register>
            <Name>IF_MIX_CFG</Name>
            <Value>0x00</Value>
        </Register>
        <Register>
            <Name>IOCFG0</Name>
            <Value>0x40</Value>
        </Register>
        <Register>
            <Name>IOCFG1</Name>
            <Value>0xb0</Value>
        </Register>
        <Register>
            <Name>IOCFG2</Name>
            <Value>0x06</Value>
        </Register>
        <Register>
            <Name>IOCFG3</Name>
            <Value>0xb0</Value>
        </Register>
        <Register>
            <Name>IQIC</Name>
            <Value>0x00</Value>
        </Register>
        <Register>
            <Name>MDMCFG0</Name>
            <Value>0x05</Value>
        </Register>
        <Register>
            <Name>MODCFG_DEV_E</Name>
            <Value>0x25</Value>
        </Register>
        <Register>
            <Name>MODEM_STATUS1</Name>
            <Value>0x10</Value>
        </Register>
        <Register>
            <Name>PARTNUMBER</Name>
            <Value>0x48</Value>
        </Register>
        <Register>
            <Name>PARTVERSION</Name>
            <Value>0x23</Value>
        </Register>
        <Register>
            <Name>PA_CFG0</Name>
            <Value>0x79</Value>
        </Register>
        <Register>
            <Name>PKT_CFG0</Name>
            <Value>0x20</Value>
        </Register>
        <Register>
            <Name>PKT_LEN</Name>
            <Value>0xff</Value>
        </Register>
        <Register>
            <Name>PREAMBLE_CFG1</Name>
            <Value>0x18</Value>
        </Register>
        <Register>
            <Name>SYMBOL_RATE0</Name>
            <Value>0x99</Value>
        </Register>
        <Register>
            <Name>SYMBOL_RATE1</Name>
            <Value>0x99</Value>
        </Register>
        <Register>
            <Name>SYMBOL_RATE2</Name>
            <Value>0x99</Value>
        </Register>
        <Register>
            <Name>SYNC0</Name>
            <Value>0x91</Value>
        </Register>
        <Register>
            <Name>SYNC1</Name>
            <Value>0xd3</Value>
        </Register>
        <Register>
            <Name>SYNC2</Name>
            <Value>0x91</Value>
        </Register>
        <Register>
            <Name>SYNC3</Name>
            <Value>0xd3</Value>
        </Register>
        <Register>
            <Name>SYNC_CFG1</Name>
            <Value>0x0b</Value>
        </Register>
        <Register>
            <Name>TOC_CFG</Name>
            <Value>0x0a</Value>
        </Register>
        <Register>
            <Name>XOSC1</Name>
            <Value>0x03</Value>
        </Register>
        <Register>
            <Name>XOSC5</Name>
            <Value>0x0e</Value>
        </Register>
    </registersettings>
    <dcpanel>
        <Property role="44" name="m_chkRegView">2</Property>
        <Property role="44" name="m_chkCmdView">0</Property>
        <Property role="44" name="m_chkRfParameters">2</Property>
        <Property role="37" name="m_tabUserMode">1</Property>
        <Property role="33" name="m_easyModeSettings">-1</Property>
        <Property role="33" name="m_typicalSettings">-1</Property>
        <Property role="37" name="m_testFuncPanel">3</Property>
    </dcpanel>
    <rfparameters>
        <Property role="46" name="m_cmbFrontends">0</Property>
        <Property role="44" name="m_chkHGMorBYP">2</Property>
        <Property role="46" name="m_cmbEmRevs">-1</Property>
        <Property role="46" name="Xtal frequency">32.000000</Property>
    </rfparameters>
    <conttx>
        <Property role="45" name="m_rbtModulated">1</Property>
        <Property role="45" name="m_rbtUnmodulated">0</Property>
        <Property role="46" name="m_cmbDataFormat">-1</Property>
        <Property role="44" name="m_chkFreqSweep">0</Property>
        <Property role="44" name="m_chkChanSweep">0</Property>
    </conttx>
    <contrx>
        <Property role="46" name="m_cmbDataFormat">-1</Property>
        <Property role="44" name="m_chkAutoScroll">2</Property>
    </contrx>
    <packettx>
        <Property role="42" name="m_edtPayloadSize">30</Property>
        <Property role="42" name="m_edtPacketCount">100</Property>
        <Property role="42" name="m_edtPacketCountEsy">100</Property>
        <Property role="42" name="m_edtRandomPacketData">13 0d 89 0a 1c db ae 32 20 9a 50 ee 40 78 36 fd 12 49 32 f6 9e 7d 49 dc ad 4f 14 f2 </Property>
        <Property role="42" name="m_edtPacketData"></Property>
        <Property role="42" name="m_edtAccessAddress"></Property>
        <Property role="42" name="m_edtDeviceAddress"></Property>
        <Property role="44" name="m_chkAddSeqNbr">2</Property>
        <Property role="44" name="m_chkInfinite">0</Property>
        <Property role="44" name="m_chkInfiniteEsy">0</Property>
        <Property role="45" name="m_rbtRandom">1</Property>
        <Property role="45" name="m_rbtText">0</Property>
        <Property role="45" name="m_rbtHex">0</Property>
        <Property role="44" name="m_chkAdvanced">0</Property>
    </packettx>
    <packetrx>
        <Property role="42" name="m_edtPacketCount">100</Property>
        <Property role="42" name="m_edtPacketCountEsy">100</Property>
        <Property role="42" name="m_edtAccessAddress"></Property>
        <Property role="44" name="m_chkInfinite">0</Property>
        <Property role="44" name="m_chkInfiniteEsy">0</Property>
        <Property role="46" name="m_cmbViewFormat">0</Property>
        <Property role="44" name="m_chkSeqNbrIncluded">0</Property>
        <Property role="42" name="m_edtDumpFile"></Property>
        <Property role="44" name="m_chkAdvanced">0</Property>
        <Property role="44" name="m_chk802154gMode">0</Property>
    </packetrx>
    <commandpanel>
        <Property role="44" name="m_chkInsertLength">0</Property>
        <Property role="42" name="m_edtTxFifo"></Property>
        <Property role="42" name="m_edtRxFifo"></Property>
        <Property role="46" name="m_cmbInstrInput">-1</Property>
    </commandpanel>
    <packetRxSniffMode>
        <Property role="42" name="m_edtPreambleLength">24</Property>
        <Property role="42" name="m_edtCarrierSenseThreshold">-90</Property>
        <Property role="45" name="m_rbtRssi">1</Property>
        <Property role="45" name="m_rbtPreamble">0</Property>
    </packetRxSniffMode>
</dcpanelconfiguration>
5584.CC115L_100kbps_4FSK.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE configuration SYSTEM "C:/Program Files (x86)/Texas Instruments/SmartRF Tools/SmartRF Studio 7/config/xml/configdata.dtd"[]>
<dcpanelconfiguration>
    <Devicename>CC115L</Devicename>
    <Description>Saved configuration data</Description>
    <registersettings>
        <Register>
            <Name>DEVIATN</Name>
            <Value>0x40</Value>
        </Register>
        <Register>
            <Name>FIFOTHR</Name>
            <Value>0x47</Value>
        </Register>
        <Register>
            <Name>FREQ0</Name>
            <Value>0x76</Value>
        </Register>
        <Register>
            <Name>FREQ1</Name>
            <Value>0x62</Value>
        </Register>
        <Register>
            <Name>FREQ2</Name>
            <Value>0x21</Value>
        </Register>
        <Register>
            <Name>FSCAL0</Name>
            <Value>0x1f</Value>
        </Register>
        <Register>
            <Name>FSCAL1</Name>
            <Value>0x00</Value>
        </Register>
        <Register>
            <Name>FSCAL2</Name>
            <Value>0x2a</Value>
        </Register>
        <Register>
            <Name>FSCAL3</Name>
            <Value>0xe9</Value>
        </Register>
        <Register>
            <Name>IOCFG0</Name>
            <Value>0x06</Value>
        </Register>
        <Register>
            <Name>IOCFG2</Name>
            <Value>0x2e</Value>
        </Register>
        <Register>
            <Name>MARCSTATE</Name>
            <Value>0x01</Value>
        </Register>
        <Register>
            <Name>MCSM0</Name>
            <Value>0x18</Value>
        </Register>
        <Register>
            <Name>MDMCFG2</Name>
            <Value>0xc3</Value>
        </Register>
        <Register>
            <Name>MDMCFG3</Name>
            <Value>0xf8</Value>
        </Register>
        <Register>
            <Name>MDMCFG4</Name>
            <Value>0xca</Value>
        </Register>
        <Register>
            <Name>PA_TABLE0</Name>
            <Value>0x50</Value>
        </Register>
        <Register>
            <Name>PKTCTRL0</Name>
            <Value>0x05</Value>
        </Register>
        <Register>
            <Name>RESERVED_0x20</Name>
            <Value>0xfb</Value>
        </Register>
        <Register>
            <Name>RESERVED_0x29</Name>
            <Value>0x59</Value>
        </Register>
        <Register>
            <Name>RESERVED_0x2A</Name>
            <Value>0x7f</Value>
        </Register>
        <Register>
            <Name>RESERVED_0x2B</Name>
            <Value>0x3f</Value>
        </Register>
        <Register>
            <Name>TEST0</Name>
            <Value>0x09</Value>
        </Register>
        <Register>
            <Name>TEST1</Name>
            <Value>0x35</Value>
        </Register>
        <Register>
            <Name>TEST2</Name>
            <Value>0x81</Value>
        </Register>
    </registersettings>
    <dcpanel>
        <Property name="m_chkRegView" role="44">2</Property>
        <Property name="m_chkCmdView" role="44">0</Property>
        <Property name="m_chkRfParameters" role="44">2</Property>
        <Property name="m_tabUserMode" role="37">1</Property>
        <Property name="m_easyModeSettings" role="33">-1</Property>
        <Property name="m_typicalSettings" role="33">-1</Property>
        <Property name="m_testFuncPanel" role="37">1</Property>
    </dcpanel>
    <rfparameters>
        <Property name="Xtal frequency" role="46">26.000000</Property>
    </rfparameters>
    <conttx>
        <Property name="m_rbtModulated" role="45">1</Property>
        <Property name="m_rbtUnmodulated" role="45">0</Property>
        <Property name="m_cmbDataFormat" role="46">-1</Property>
        <Property name="m_chkFreqSweep" role="44">0</Property>
        <Property name="m_chkChanSweep" role="44">0</Property>
    </conttx>
    <packettx>
        <Property name="m_edtPayloadSize" role="42">30</Property>
        <Property name="m_edtPacketCount" role="42">100</Property>
        <Property name="m_edtPacketCountEsy" role="42">100</Property>
        <Property name="m_edtRandomPacketData" role="42">29 23 be 84 e1 6c d6 ae 52 90 49 f1 f1 bb e9 eb b3 a6 db 3c 87 0c 3e 99 24 5e 0d 1c </Property>
        <Property name="m_edtPacketData" role="42"></Property>
        <Property name="m_edtAccessAddress" role="42"></Property>
        <Property name="m_edtDeviceAddress" role="42"></Property>
        <Property name="m_chkAddSeqNbr" role="44">2</Property>
        <Property name="m_chkInfinite" role="44">0</Property>
        <Property name="m_chkInfiniteEsy" role="44">0</Property>
        <Property name="m_rbtRandom" role="45">1</Property>
        <Property name="m_rbtText" role="45">0</Property>
        <Property name="m_rbtHex" role="45">0</Property>
        <Property name="m_chkAdvanced" role="44">0</Property>
    </packettx>
    <commandpanel>
        <Property name="m_chkInsertLength" role="44">0</Property>
        <Property name="m_edtTxFifo" role="42"></Property>
        <Property name="m_edtRxFifo" role="42"></Property>
        <Property name="m_cmbInstrInput" role="46">-1</Property>
    </commandpanel>
</dcpanelconfiguration>

  • For CC11290 you should be able to start from the 1.2 kbps and adjust AGC_REF and the RX BW.

    For CC115L, start from the 10 kbps given.

    Select a deviation that give a modulation index equal 1 -2.

    How have you derived the settings that doesn't work?
  • Hi TER, actualy got the 100ksps settings from you about 2-3 years ago, imported them to smrtRF and changed to 9.6 then put them in the code but did not get any RX (CC1120).
    In the spectrum analyser I see TX (CC115L) - obviously this doens't mean much

    Don't understand why in the CC1120 use 1.2kbps and in the CC115L use 10kbps? (can this work?)
  • First, 100 kbps and 9.6 kbps are two fairly different settings and just changing the datarate will not work too well.

    CC1120 and CC115L have to use the same RF parameters (datarate, deviation, modulation format etc). What I wrote is start from the 1.2 kbps/ 10 kbps setting in Studio and change the required parameters.
  • Try using the following settings:

    // Address Config = No address check 
    // Bit Rate = 9.6 
    // Carrier Frequency = 868.000000 
    // Deviation = 4.791260 
    // Device Address = 0 
    // Manchester Enable = false 
    // Modulation Format = 4-GFSK 
    // PA Ramping = true 
    // Packet Bit Length = 0 
    // Packet Length = 255 
    // Packet Length Mode = Variable 
    // Performance Mode = High Performance 
    // RX Filter BW = 25.000000 
    // Symbol rate = 4.8 
    // TX Power = 15 
    // Whitening = false 
    
    static const registerSetting_t preferredSettings[]= 
    {
      {CC1120_IOCFG3,            0xB0},
      {CC1120_IOCFG2,            0x06},
      {CC1120_IOCFG1,            0xB0},
      {CC1120_IOCFG0,            0x40},
      {CC1120_SYNC3,             0xD3},
      {CC1120_SYNC2,             0x91},
      {CC1120_SYNC1,             0xD3},
      {CC1120_SYNC0,             0x91},
      {CC1120_SYNC_CFG1,         0x08},
      {CC1120_DEVIATION_M,       0x3A},
      {CC1120_MODCFG_DEV_E,      0x2B},
      {CC1120_DCFILT_CFG,        0x1C},
      {CC1120_PREAMBLE_CFG1,     0x18},
      {CC1120_IQIC,              0xC6},
      {CC1120_CHAN_BW,           0x08},
      {CC1120_MDMCFG0,           0x05},
      {CC1120_SYMBOL_RATE2,      0x63},
      {CC1120_AGC_REF,           0x25},
      {CC1120_AGC_CS_THR,        0x19},
      {CC1120_AGC_CFG1,          0xA9},
      {CC1120_AGC_CFG0,          0xCF},
      {CC1120_FIFO_CFG,          0x00},
      {CC1120_SETTLING_CFG,      0x03},
      {CC1120_FS_CFG,            0x12},
      {CC1120_PKT_CFG0,          0x20},
      {CC1120_PA_CFG0,           0x7E},
      {CC1120_PKT_LEN,           0xFF},
      {CC1120_IF_MIX_CFG,        0x00},
      {CC1120_FREQ2,             0x6C},
      {CC1120_FREQ1,             0x80},
      {CC1120_FS_DIG1,           0x00},
      {CC1120_FS_DIG0,           0x5F},
      {CC1120_FS_CAL1,           0x40},
      {CC1120_FS_CAL0,           0x0E},
      {CC1120_FS_DIVTWO,         0x03},
      {CC1120_FS_DSM0,           0x33},
      {CC1120_FS_DVC0,           0x17},
      {CC1120_FS_PFD,            0x50},
      {CC1120_FS_PRE,            0x6E},
      {CC1120_FS_REG_DIV_CML,    0x14},
      {CC1120_FS_SPARE,          0xAC},
      {CC1120_FS_VCO0,           0xB4},
      {CC1120_XOSC5,             0x0E},
      {CC1120_XOSC1,             0x03},
      {CC1120_PARTNUMBER,        0x48},
      {CC1120_PARTVERSION,       0x21},
      {CC1120_MODEM_STATUS1,     0x10},
    };

    static const registerSetting_t preferredSettings[]= 
    {
      {CC115L_IOCFG2,           0x2E},
      {CC115L_IOCFG0,           0x06},
      {CC115L_FIFOTHR,          0x47},
      {CC115L_PKTCTRL0,         0x05},
      {CC115L_FREQ2,            0x21},
      {CC115L_FREQ1,            0x62},
      {CC115L_FREQ0,            0x76},
      {CC115L_MDMCFG4,          0xC7},
      {CC115L_MDMCFG3,          0x83},
      {CC115L_MDMCFG2,          0x43},
      {CC115L_DEVIATN,          0x14},
      {CC115L_MCSM0,            0x18},
      {CC115L_RESERVED_0X20,    0xFB},
      {CC115L_FSCAL3,           0xE9},
      {CC115L_FSCAL2,           0x2A},
      {CC115L_FSCAL1,           0x00},
      {CC115L_FSCAL0,           0x1F},
      {CC115L_TEST2,            0x81},
      {CC115L_TEST1,            0x35},
      {CC115L_TEST0,            0x09},
      {CC115L_MARCSTATE,        0x01},
    };

    If you get a lot of CRC errors with the settings above, please measure the frequency offset of the two boards. In my case it was a delta of 13 kHz between them.

    Siri