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.

CC1201: Problem working with CC1201 vs. CC1310

Part Number: CC1201
Other Parts Discussed in Thread: CC1101, CC1310, , CC1200

Hello,

I'm working on a system involving multiple generations of TI Radio :CC1101 (my product), CC1310 (my product), CC1201 (my product), CC1352 (TI launchpad).

I'm trying to make them all work together on the following PHY: 2GFSK, 230kbps, deviation 82.5 Khz.

I'm conducting tests over the air (non conducted). There seems to be a functional level problem:

CC1201 (my product) -> C1310 (my product) link has poor Packer Error Rate performance.

I'v conducted the following experiments over the same PHY I mentioned above, and they all have good performance:

- CC1310 (my product) -> CC1201 (my product). This supposedly clears the basic PHY configuration.

- CC1201 (my product) -> CC1352 (my product). This supposedly clears CC1201 driver problem in my product.

- CC1352 (my product) -> CC1310 (my product). This supposedly clears CC1310 performance problems.

CC1310 (my product observes the 

I've uploaded CC1201 (my product) registers.

I'm not sure 2GFSK on CC1201 & CC1352 / CC1310 has the exact same modulation properties.

Can you please suggest next steps?

BR,

Amit

static const registerSetting_t preferredSettings[]= 
{
  {CC1200_IOCFG3,              0x07},
  {CC1200_IOCFG2,              0x06},
  {CC1200_IOCFG1,              0x30},
  {CC1200_IOCFG0,              0x00},
  {CC1200_SYNC3,               0x93},
  {CC1200_SYNC2,               0x0B},
  {CC1200_SYNC1,               0x51},
  {CC1200_SYNC0,               0xDE},
  {CC1200_SYNC_CFG1,           0xA8},
  {CC1200_SYNC_CFG0,           0x10},
  {CC1200_DEVIATION_M,         0x0E},
  {CC1200_MODCFG_DEV_E,        0x0D},
  {CC1200_DCFILT_CFG,          0x66},
  {CC1200_PREAMBLE_CFG1,       0x20},
  {CC1200_PREAMBLE_CFG0,       0x88},
  {CC1200_IQIC,                0xC8},
  {CC1200_CHAN_BW,             0x05},
  {CC1200_MDMCFG1,             0x42},
  {CC1200_MDMCFG0,             0x05},
  {CC1200_SYMBOL_RATE2,        0xB7},
  {CC1200_SYMBOL_RATE1,        0x8D},
  {CC1200_SYMBOL_RATE0,        0x50},
  {CC1200_AGC_REF,             0x32},
  {CC1200_AGC_CS_THR,          0xE7},
  {CC1200_AGC_GAIN_ADJUST,     0xB8},
  {CC1200_AGC_CFG3,            0xB1},
  {CC1200_AGC_CFG2,            0x20},
  {CC1200_AGC_CFG1,            0x12},
  {CC1200_AGC_CFG0,            0x90},
  {CC1200_FIFO_CFG,            0x03},
  {CC1200_DEV_ADDR,            0x00},
  {CC1200_SETTLING_CFG,        0x1B},
  {CC1200_FS_CFG,              0x12},
  {CC1200_WOR_CFG1,            0x08},
  {CC1200_WOR_CFG0,            0x21},
  {CC1200_WOR_EVENT0_MSB,      0x00},
  {CC1200_WOR_EVENT0_LSB,      0x00},
  {CC1200_RXDCM_TIME,          0x00},
  {CC1200_PKT_CFG2,            0x00},
  {CC1200_PKT_CFG1,            0x01},
  {CC1200_PKT_CFG0,            0x20},
  {CC1200_RFEND_CFG1,          0x0F},
  {CC1200_RFEND_CFG0,          0x30},
  {CC1200_PA_CFG1,             0x3F},
  {CC1200_PA_CFG0,             0x56},
  {CC1200_ASK_CFG,             0x0F},
  {CC1200_PKT_LEN,             0xC8},
  {CC1200_IF_MIX_CFG,          0x1C},
  {CC1200_FREQOFF_CFG,         0x20},
  {CC1200_TOC_CFG,             0x03},
  {CC1200_MARC_SPARE,          0x00},
  {CC1200_ECG_CFG,             0x00},
  {CC1200_MDMCFG2,             0x02},
  {CC1200_EXT_CTRL,            0x01},
  {CC1200_RCCAL_FINE,          0x00},
  {CC1200_RCCAL_COARSE,        0x00},
  {CC1200_RCCAL_OFFSET,        0x00},
  {CC1200_FREQOFF1,            0x00},
  {CC1200_FREQOFF0,            0x00},
  {CC1200_FREQ2,               0x5B},
  {CC1200_FREQ1,               0xA6},
  {CC1200_FREQ0,               0xCA},
  {CC1200_IF_ADC2,             0x02},
  {CC1200_IF_ADC1,             0xEE},
  {CC1200_IF_ADC0,             0x10},
  {CC1200_FS_DIG1,             0x07},
  {CC1200_FS_DIG0,             0xA5},
  {CC1200_FS_CAL3,             0x00},
  {CC1200_FS_CAL2,             0x20},
  {CC1200_FS_CAL1,             0x40},
  {CC1200_FS_CAL0,             0x0E},
  {CC1200_FS_CHP,              0x16},
  {CC1200_FS_DIVTWO,           0x03},
  {CC1200_FS_DSM1,             0x00},
  {CC1200_FS_DSM0,             0x33},
  {CC1200_FS_DVC1,             0xFF},
  {CC1200_FS_DVC0,             0x17},
  {CC1200_FS_LBI,              0x00},
  {CC1200_FS_PFD,              0x00},
  {CC1200_FS_PRE,              0x6E},
  {CC1200_FS_REG_DIV_CML,      0x1C},
  {CC1200_FS_SPARE,            0xAC},
  {CC1200_FS_VCO4,             0x11},
  {CC1200_FS_VCO3,             0x00},
  {CC1200_FS_VCO2,             0x62},
  {CC1200_FS_VCO1,             0xAC},
  {CC1200_FS_VCO0,             0xB5},
  {CC1200_GBIAS6,              0x00},
  {CC1200_GBIAS5,              0x02},
  {CC1200_GBIAS4,              0x00},
  {CC1200_GBIAS3,              0x00},
  {CC1200_GBIAS2,              0x10},
  {CC1200_GBIAS1,              0x00},
  {CC1200_GBIAS0,              0x00},
  {CC1200_IFAMP,               0x09},
  {CC1200_LNA,                 0x01},
  {CC1200_RXMIX,               0x01},
  {CC1200_XOSC5,               0x0E},
  {CC1200_XOSC4,               0xA0},
  {CC1200_XOSC3,               0x03},
  {CC1200_XOSC2,               0x04},
  {CC1200_XOSC1,               0x03},
  {CC1200_XOSC0,               0x00},
  {CC1200_ANALOG_SPARE,        0x00},
  {CC1200_PA_CFG3,             0x00},
  {CC1200_WOR_TIME1,           0x00},
  {CC1200_WOR_TIME0,           0x00},
  {CC1200_WOR_CAPTURE1,        0x00},
  {CC1200_WOR_CAPTURE0,        0x00},
  {CC1200_BIST,                0x00},
  {CC1200_DCFILTOFFSET_I1,     0x00},
  {CC1200_DCFILTOFFSET_I0,     0x00},
  {CC1200_DCFILTOFFSET_Q1,     0x00},
  {CC1200_DCFILTOFFSET_Q0,     0x00},
  {CC1200_IQIE_I1,             0x00},
  {CC1200_IQIE_I0,             0x00},
  {CC1200_IQIE_Q1,             0x00},
  {CC1200_IQIE_Q0,             0x00},
  {CC1200_RSSI1,               0x9F},
  {CC1200_RSSI0,               0x43},
  {CC1200_MARCSTATE,           0x6D},
  {CC1200_LQI_VAL,             0x80},
  {CC1200_PQT_SYNC_ERR,        0x4F},
  {CC1200_DEM_STATUS,          0x00},
  {CC1200_FREQOFF_EST1,        0x01},
  {CC1200_FREQOFF_EST0,        0x57},
  {CC1200_AGC_GAIN3,           0x27},
  {CC1200_AGC_GAIN2,           0xD1},
  {CC1200_AGC_GAIN1,           0x00},
  {CC1200_AGC_GAIN0,           0x3F},
  {CC1200_CFM_RX_DATA_OUT,     0x00},
  {CC1200_CFM_TX_DATA_IN,      0x00},
  {CC1200_ASK_SOFT_RX_DATA,    0x30},
  {CC1200_RNDGEN,              0x7F},
  {CC1200_MAGN2,               0x00},
  {CC1200_MAGN1,               0x00},
  {CC1200_MAGN0,               0x22},
  {CC1200_ANG1,                0x00},
  {CC1200_ANG0,                0x51},
  {CC1200_CHFILT_I2,           0x01},
  {CC1200_CHFILT_I1,           0xFF},
  {CC1200_CHFILT_I0,           0xFE},
  {CC1200_CHFILT_Q2,           0x00},
  {CC1200_CHFILT_Q1,           0x00},
  {CC1200_CHFILT_Q0,           0xF9},
  {CC1200_GPIO_STATUS,         0x00},
  {CC1200_FSCAL_CTRL,          0x09},
  {CC1200_PHASE_ADJUST,        0x00},
  {CC1200_PARTNUMBER,          0x21},
  {CC1200_PARTVERSION,         0x11},
  {CC1200_SERIAL_STATUS,       0x00},
  {CC1200_MODEM_STATUS1,       0x11},
  {CC1200_MODEM_STATUS0,       0x00},
  {CC1200_MARC_STATUS1,        0x00},
  {CC1200_MARC_STATUS0,        0x00},
  {CC1200_PA_IFAMP_TEST,       0x00},
  {CC1200_FSRF_TEST,           0x00},
  {CC1200_PRE_TEST,            0x00},
  {CC1200_PRE_OVR,             0x00},
  {CC1200_ADC_TEST,            0x00},
  {CC1200_DVC_TEST,            0x0B},
  {CC1200_ATEST,               0x40},
  {CC1200_ATEST_LVDS,          0x00},
  {CC1200_ATEST_MODE,          0x00},
  {CC1200_XOSC_TEST1,          0x3C},
  {CC1200_XOSC_TEST0,          0x00},
  {CC1200_AES,                 0x00},
  {CC1200_MDM_TEST,            0x00},

  • I have to look closer to the settings you use on CC1201 but before that, could you do the same test using 38.4 kbps? (For CC23xx, start from the 50 kbps and change datarate and deviation)

    This is to confirm that everything else in your system is ok . From the description in your post my first assumption is that the settings you use on CC1201 is not optimal. Do you have the settings as a SmartRF Studio setup file? It's easier to review since I don't have to look up all registers.

    How have you developed the settings both for CC1201 and CC13xx?
  • Hi,

    1. Yes, I tested 38.4 kbps PHY for CC1201 (my product) -> C1310 (my product) and it works fine.
    2. Yes, I developed the 230 kbps PHY settings for both CC1201 and CC1310. It's listed in the 'successful' experiments I performed. All those experiments use the 230 kbps PHY.

    BR,
    Amit
  • For 2) the question was how you developed the settings?
  • Hi,

    I got register setting recommendation from TI support, based on smart RF Studio "38.4 k 2GFSK RX BW 100k ARIB Standard"

    BR,
    Amit
  • Did you get them from me or someone else? To derive 230 kbps from 38.4 kbps settings are not an optimal starting point.
  • I got the settings from LPW support, Mr. Torstein Ermesjø
  • Shooot, do you have the request number, I want to read up what I wrote...
  • The ticket number was "TI LPW request:33118"

    BR,
    Amit
  • In that ticket number I provided the attached file

    <?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>CC1200</Devicename>
        <Description>Saved configuration data</Description>
        <registersettings>
            <Register>
                <Name>AGC_CFG0</Name>
                <Value>0x90</Value>
            </Register>
            <Register>
                <Name>AGC_CFG1</Name>
                <Value>0x12</Value>
            </Register>
            <Register>
                <Name>AGC_CS_THR</Name>
                <Value>0xec</Value>
            </Register>
            <Register>
                <Name>AGC_REF</Name>
                <Value>0x32</Value>
            </Register>
            <Register>
                <Name>CHAN_BW</Name>
                <Value>0x05</Value>
            </Register>
            <Register>
                <Name>DCFILT_CFG</Name>
                <Value>0x66</Value>
            </Register>
            <Register>
                <Name>FIFO_CFG</Name>
                <Value>0x00</Value>
            </Register>
            <Register>
                <Name>FREQ0</Name>
                <Value>0xcc</Value>
            </Register>
            <Register>
                <Name>FREQ1</Name>
                <Value>0xcc</Value>
            </Register>
            <Register>
                <Name>FREQ2</Name>
                <Value>0x56</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>0xa5</Value>
            </Register>
            <Register>
                <Name>FS_DIG1</Name>
                <Value>0x07</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>0x00</Value>
            </Register>
            <Register>
                <Name>FS_PRE</Name>
                <Value>0x6e</Value>
            </Register>
            <Register>
                <Name>FS_REG_DIV_CML</Name>
                <Value>0x1c</Value>
            </Register>
            <Register>
                <Name>FS_SPARE</Name>
                <Value>0xac</Value>
            </Register>
            <Register>
                <Name>FS_VCO0</Name>
                <Value>0xb5</Value>
            </Register>
            <Register>
                <Name>IFAMP</Name>
                <Value>0x09</Value>
            </Register>
            <Register>
                <Name>IF_ADC0</Name>
                <Value>0x10</Value>
            </Register>
            <Register>
                <Name>IF_ADC1</Name>
                <Value>0xee</Value>
            </Register>
            <Register>
                <Name>IF_MIX_CFG</Name>
                <Value>0x1c</Value>
            </Register>
            <Register>
                <Name>IOCFG2</Name>
                <Value>0x06</Value>
            </Register>
            <Register>
                <Name>IQIC</Name>
                <Value>0xc8</Value>
            </Register>
            <Register>
                <Name>MDMCFG0</Name>
                <Value>0x05</Value>
            </Register>
            <Register>
                <Name>MDMCFG1</Name>
                <Value>0x42</Value>
            </Register>
            <Register>
                <Name>MDMCFG2</Name>
                <Value>0x02</Value>
            </Register>
            <Register>
                <Name>MODCFG_DEV_E</Name>
                <Value>0x0d</Value>
            </Register>
            <Register>
                <Name>PKT_CFG0</Name>
                <Value>0x20</Value>
            </Register>
            <Register>
                <Name>PKT_CFG2</Name>
                <Value>0x00</Value>
            </Register>
            <Register>
                <Name>PKT_LEN</Name>
                <Value>0xff</Value>
            </Register>
            <Register>
                <Name>PREAMBLE_CFG0</Name>
                <Value>0x88</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE0</Name>
                <Value>0x50</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE1</Name>
                <Value>0x8d</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE2</Name>
                <Value>0xb7</Value>
            </Register>
            <Register>
                <Name>SYNC_CFG0</Name>
                <Value>0x13</Value>
            </Register>
            <Register>
                <Name>SYNC_CFG1</Name>
                <Value>0xa8</Value>
            </Register>
            <Register>
                <Name>TOC_CFG</Name>
                <Value>0x03</Value>
            </Register>
            <Register>
                <Name>XOSC1</Name>
                <Value>0x03</Value>
            </Register>
            <Register>
                <Name>XOSC5</Name>
                <Value>0x0e</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_cmbUserMode" role="46">1</Property>
            <Property name="m_easyModeSettings" role="33">-1</Property>
            <Property name="m_typicalSettings" role="33">-1</Property>
            <Property name="m_testFuncPanel" role="37">2</Property>
        </dcpanel>
        <rfparameters>
            <Property name="m_cmbFrontends" role="46">0</Property>
            <Property name="m_chkHGMorBYP" role="44">2</Property>
            <Property name="m_cmbEmRevs" role="46">-1</Property>
            <Property name="Xtal Frequency" role="46">40.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>
        <contrx>
            <Property name="m_cmbDataFormat" role="46">-1</Property>
            <Property name="m_chkAutoScroll" role="44">2</Property>
        </contrx>
        <packettx>
            <Property name="m_edtPacketCount" role="42">100</Property>
            <Property name="m_edtPacketCountEsy" role="42">100</Property>
            <Property name="m_edtFixedPktLength" role="42">255</Property>
            <Property name="m_edtPacketData" role="42">f1 61 47 26 44 6a 6c 38 ce d1 66 f6 ca 76 eb 54 30 04 42 86 34 6c ef 13 0f 92 92 2b </Property>
            <Property name="m_edtAccessAddress" 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>
            <Property name="m_cmbLengthConfig" role="46">1</Property>
            <Property name="m_edtFixedPktLength" role="42">255</Property>
            <Property name="m_edtBitLength" role="42">0</Property>
            <Property name="m_grp802154g" role="20">0</Property>
            <Property name="m_edt802154gPktLength" role="42">30</Property>
            <Property name="m_rbt802154g2BCrc" role="45">1</Property>
            <Property name="m_rbt802154g4BCrc" role="45">0</Property>
            <Property name="m_chk802154gWhitening" role="44">2</Property>
            <Property name="m_chkFEC" role="44">0</Property>
            <Property name="m_cmbPreambleCount" role="46">5</Property>
            <Property name="m_chkAddress" role="44">0</Property>
            <Property name="m_cmbSyncMode" role="46">5</Property>
        </packettx>
        <packetview>
            <Property name="m_edtPktLength" role="42">30</Property>
            <Property name="m_edtAddress" role="42"></Property>
            <Property name="m_lblFrmPayload" role="41">f1 61 47 26 44 6a 6c 38 ce d1 66 f6 ca 76 eb 54 30 04 42 86 34 6c ef 13 0f 92 92 2b </Property>
        </packetview>
        <packetrx>
            <Property name="m_edtPacketCount" role="42">100</Property>
            <Property name="m_edtPacketCountEsy" role="42">100</Property>
            <Property name="m_edtAccessAddress" role="42"></Property>
            <Property name="m_chkInfinite" role="44">0</Property>
            <Property name="m_chkInfiniteEsy" role="44">0</Property>
            <Property name="m_cmbViewFormat" role="46">0</Property>
            <Property name="m_chkSeqNbrIncluded" role="44">2</Property>
            <Property name="m_edtDumpFile" role="42"></Property>
            <Property name="m_chkAdvanced" role="44">0</Property>
            <Property name="m_chk802154gMode" role="44">0</Property>
        </packetrx>
        <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>
        <packetRxSniffMode>
            <Property name="m_edtPreambleLength" role="42">24</Property>
            <Property name="m_edtCarrierSenseThreshold" role="42">-90</Property>
            <Property name="m_rbtRssi" role="45">1</Property>
            <Property name="m_rbtPreamble" role="45">0</Property>
        </packetRxSniffMode>
    </dcpanelconfiguration>
    

    Is that the file you have used? 

  • I verified your exact settings were used as basic settings.

    I had to change some settings:
    - Since CC1101 devices in my system don't support 80 Khz deviation we changed the system setting to 82.5 Khz supported by all devices in the system.
    - In addition, we disabled PA ramping. Adding it back does not fix the CC1201 -> CC1301 performance.

    Is it possible for you to test CC1201 -> CC1301 link?

    BR,
    Amit
  • I did a quick test on my desk. I used one CC1200 EM on a TRXEB and connected this to SmartRF Studio. I uploaded the xml file posted yesterday. The second is a CC1310 launchpad. I here used the predefined 200 kbps settings and changed the symbol rate to 230 kbps. The deviation is 80 kHz for both. By adjusting the output power and detuning the antenna by holding it I tested the link with RSSI values ranging from -50 to -90 dBm and I don't see any issues.
  • Hi,

    Following you input I took your configuration and compared:

    CC1201 Launchpad -> CC1310 (my product) and got good results, although your configuration slightly differs than ours (deviation etc').

    Next, I started modifying the configuration from your configuration to our configuration. I found that unless I reduce the number of preambles bytes from 6 (my configuration) ->3 (your configuration) my configuration's performance was much worse than your configuration.

    I have previous feedback from TI that the SYNC word I'm using may be falsely identified during preamble. Can you comment on that? I use the same SYNC word on 38.4 kbps and didn't experience this issue.

  • This post: e2e.ti.com/.../450751 covers a way to check if the sync word is good.

    In your case it would be interesting to see if you get a different result if you keep 6 byte preamble and change 2-4 byte in the sync word to something else and see if this improves things. If that it's the sync word and you can try to adjust the sync threshold (dev.ti.com/.../cc1101-migration.html )