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.

CC1200 compatibility with CC1101 MSK transmission

Other Parts Discussed in Thread: CC1101, CC1200

Hi folks.

I have been tasked to investigate the compatibility of the CC1200 as a receiver for transmissions from a CC1101 (configuration details to follow)

The new design needs to include some legacy support for an older product version.

Is it possible to configure the CC1200 to receive MSK packets, sent from a CC1101?

I understand that there are several posts recommending to rather use 2-FSK/GFSK, with modulation index set to 0.5.

This is unfortunately not an option, as there are numerous units in the field, configured to MSK, that need to be supported.

I am aware that with MSK, the CC1101 inverts the sync word, and data to be transmitted.

However, no configuration attempt on my part has been successful.

The CC1101 transmission details are as follows:

433.92MHz

MSK

250kbps

Fixed packet length (20 bytes)

16 bit sync word required

Whitening enabled

(Please advise if I have left out crucial information)

Is it possible to get the CC1200 to receive this type of transmission?

Am I missing something here?

Any advice is greatly appreciated.

  • I have to look deeper into this next week. I did a quick test and did not get it to work either. The CC1101 MSK spectrum is fairly different from both FSK and GFSK, MSK has larger sideloobes. If you have a spectrum with the capability to look at the data in the time domain you can try to demodulate the data on this and see what you have to do.

  • Thankyou TER

    Unfortunately I do not have that sort of equipment available to me at the moment.

    I will await your feedback next week

    Kind regards

    Gin

  • Hi TER

    Any luck on your side?

    - Gin

  • I was able to receive something if I programmed the CC1101 MSK to have a Phase transition time equal to 6 or 7. The MSK spectrum get closer and closer to FSK (smaller sidelobes) for a larger phase transition time setting. Which setting is used in your existing network?

  • <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE configuration SYSTEM "C:/Program Files/Texas Instruments/SmartRF Tools/SmartRF Studio 7/config/xml/configdata.dtd"[]>
    <dcpanelconfiguration>
        <Devicename>CC1101</Devicename>
        <Description>Saved configuration data</Description>
        <registersettings>
            <Register>
                <Name>AGCCTRL0</Name>
                <Value>0xb2</Value>
            </Register>
            <Register>
                <Name>AGCCTRL1</Name>
                <Value>0x00</Value>
            </Register>
            <Register>
                <Name>AGCCTRL2</Name>
                <Value>0xc4</Value>
            </Register>
            <Register>
                <Name>BSCFG</Name>
                <Value>0x1c</Value>
            </Register>
            <Register>
                <Name>DEVIATN</Name>
                <Value>0x15</Value>
            </Register>
            <Register>
                <Name>FIFOTHR</Name>
                <Value>0x0f</Value>
            </Register>
            <Register>
                <Name>FOCCFG</Name>
                <Value>0x1d</Value>
            </Register>
            <Register>
                <Name>FREND1</Name>
                <Value>0xb6</Value>
            </Register>
            <Register>
                <Name>FREQ0</Name>
                <Value>0x58</Value>
            </Register>
            <Register>
                <Name>FREQ1</Name>
                <Value>0xb0</Value>
            </Register>
            <Register>
                <Name>FREQ2</Name>
                <Value>0x10</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>0xea</Value>
            </Register>
            <Register>
                <Name>FSCTRL1</Name>
                <Value>0x0d</Value>
            </Register>
            <Register>
                <Name>IOCFG0</Name>
                <Value>0x0f</Value>
            </Register>
            <Register>
                <Name>IOCFG1</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>MCSM2</Name>
                <Value>0x01</Value>
            </Register>
            <Register>
                <Name>MDMCFG1</Name>
                <Value>0xc2</Value>
            </Register>
            <Register>
                <Name>MDMCFG2</Name>
                <Value>0x72</Value>
            </Register>
            <Register>
                <Name>MDMCFG3</Name>
                <Value>0x3b</Value>
            </Register>
            <Register>
                <Name>MDMCFG4</Name>
                <Value>0x0d</Value>
            </Register>
            <Register>
                <Name>PA_TABLE0</Name>
                <Value>0xc0</Value>
            </Register>
            <Register>
                <Name>PKTCTRL0</Name>
                <Value>0x44</Value>
            </Register>
            <Register>
                <Name>PKTCTRL1</Name>
                <Value>0x48</Value>
            </Register>
            <Register>
                <Name>PKTLEN</Name>
                <Value>0x14</Value>
            </Register>
            <Register>
                <Name>RSSI</Name>
                <Value>0x80</Value>
            </Register>
            <Register>
                <Name>SYNC0</Name>
                <Value>0x3a</Value>
            </Register>
            <Register>
                <Name>SYNC1</Name>
                <Value>0xb8</Value>
            </Register>
            <Register>
                <Name>TEST0</Name>
                <Value>0x09</Value>
            </Register>
            <Register>
                <Name>VCO_VC_DAC</Name>
                <Value>0x94</Value>
            </Register>
            <Register>
                <Name>WORCTRL</Name>
                <Value>0xb6</Value>
            </Register>
        </registersettings>
        <dcpanel>
            <Property name="m_chkRegView" role="44">2</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">3</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">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>
        <contrx>
            <Property name="m_cmbDataFormat" role="46">-1</Property>
            <Property name="m_chkAutoScroll" role="44">2</Property>
        </contrx>
        <packettx>
            <Property name="m_edtPayloadSize" role="42">20</Property>
            <Property name="m_edtPacketCount" role="42">100</Property>
            <Property name="m_edtPacketCountEsy" role="42">100</Property>
            <Property name="m_edtRandomPacketData" role="42">44 40 66 d0 6b c4 30 b7 32 3b a1 22 f6 22 91 9d e1 8b </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">2</Property>
            <Property name="m_chkInfiniteEsy" role="44">2</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>
        <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">2</Property>
            <Property name="m_chkInfiniteEsy" role="44">2</Property>
            <Property name="m_cmbViewFormat" role="46">0</Property>
            <Property name="m_chkSeqNbrIncluded" role="44">0</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>
    </dcpanelconfiguration>
    

    Here is the CC1101 transmitter settings currently employed. (Phase transition set to 5)

    I quickly tried with the Phase transition increased, but am still unable to receive anything using a CC1200. 

    Would you mind sharing your configuration settings for the CC1200? 

  • I did not use the correct datarate in my setup since I just tested the concept.

    <?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>0x94</Value>
            </Register>
            <Register>
                <Name>AGC_CFG1</Name>
                <Value>0x11</Value>
            </Register>
            <Register>
                <Name>AGC_GAIN3</Name>
                <Value>0x27</Value>
            </Register>
            <Register>
                <Name>AGC_REF</Name>
                <Value>0x2b</Value>
            </Register>
            <Register>
                <Name>ANG0</Name>
                <Value>0x99</Value>
            </Register>
            <Register>
                <Name>ANG1</Name>
                <Value>0x03</Value>
            </Register>
            <Register>
                <Name>CHAN_BW</Name>
                <Value>0x43</Value>
            </Register>
            <Register>
                <Name>DEM_STATUS</Name>
                <Value>0x1e</Value>
            </Register>
            <Register>
                <Name>FIFO_CFG</Name>
                <Value>0x78</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>FREQOFF0</Name>
                <Value>0x67</Value>
            </Register>
            <Register>
                <Name>FREQOFF1</Name>
                <Value>0xfe</Value>
            </Register>
            <Register>
                <Name>FREQOFF_EST0</Name>
                <Value>0xfc</Value>
            </Register>
            <Register>
                <Name>FREQOFF_EST1</Name>
                <Value>0xff</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_CHP</Name>
                <Value>0x2b</Value>
            </Register>
            <Register>
                <Name>FS_DIG0</Name>
                <Value>0xaf</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>FS_VCO1</Name>
                <Value>0xac</Value>
            </Register>
            <Register>
                <Name>FS_VCO2</Name>
                <Value>0x4a</Value>
            </Register>
            <Register>
                <Name>FS_VCO4</Name>
                <Value>0x18</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>IOCFG0</Name>
                <Value>0x40</Value>
            </Register>
            <Register>
                <Name>IOCFG2</Name>
                <Value>0x06</Value>
            </Register>
            <Register>
                <Name>IQIC</Name>
                <Value>0x48</Value>
            </Register>
            <Register>
                <Name>LQI_VAL</Name>
                <Value>0x0e</Value>
            </Register>
            <Register>
                <Name>MAGN0</Name>
                <Value>0x12</Value>
            </Register>
            <Register>
                <Name>MARCSTATE</Name>
                <Value>0x11</Value>
            </Register>
            <Register>
                <Name>MARC_STATUS1</Name>
                <Value>0x09</Value>
            </Register>
            <Register>
                <Name>MDMCFG0</Name>
                <Value>0x05</Value>
            </Register>
            <Register>
                <Name>MDMCFG1</Name>
                <Value>0xc2</Value>
            </Register>
            <Register>
                <Name>MDMCFG2</Name>
                <Value>0x02</Value>
            </Register>
            <Register>
                <Name>MODCFG_DEV_E</Name>
                <Value>0x02</Value>
            </Register>
            <Register>
                <Name>MODEM_STATUS1</Name>
                <Value>0x99</Value>
            </Register>
            <Register>
                <Name>PARTNUMBER</Name>
                <Value>0x20</Value>
            </Register>
            <Register>
                <Name>PARTVERSION</Name>
                <Value>0x11</Value>
            </Register>
            <Register>
                <Name>PA_CFG0</Name>
                <Value>0x53</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>PQT_SYNC_ERR</Name>
                <Value>0x62</Value>
            </Register>
            <Register>
                <Name>PREAMBLE_CFG0</Name>
                <Value>0x8a</Value>
            </Register>
            <Register>
                <Name>RSSI0</Name>
                <Value>0x47</Value>
            </Register>
            <Register>
                <Name>RSSI1</Name>
                <Value>0x04</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE0</Name>
                <Value>0x4e</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE1</Name>
                <Value>0x62</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE2</Name>
                <Value>0x90</Value>
            </Register>
            <Register>
                <Name>SYNC0</Name>
                <Value>0x6e</Value>
            </Register>
            <Register>
                <Name>SYNC1</Name>
                <Value>0x2c</Value>
            </Register>
            <Register>
                <Name>SYNC2</Name>
                <Value>0x6e</Value>
            </Register>
            <Register>
                <Name>SYNC3</Name>
                <Value>0x2c</Value>
            </Register>
            <Register>
                <Name>SYNC_CFG1</Name>
                <Value>0x4b</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 role="44" name="m_chkRegView">2</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">4</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">40.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_edtPktLength">30</Property>
            <Property role="42" name="m_edtPacketCount">100</Property>
            <Property role="42" name="m_edtPacketCountEsy">100</Property>
            <Property role="42" name="m_edtPacketData">44 40 66 d0 6b c4 30 b7 32 3b a1 22 f6 22 91 9d e1 8b 1f da b0 ca 99 02 b9 72 9d 49 </Property>
            <Property role="42" name="m_edtAccessAddress"></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>
            <Property role="46" name="m_cmbLengthConfig">1</Property>
            <Property role="42" name="m_edtFixedPktLength">255</Property>
            <Property role="42" name="m_edtBitLength">0</Property>
            <Property role="20" name="m_grp802154g">0</Property>
            <Property role="42" name="m_edt802154gPktLength"></Property>
            <Property role="45" name="m_rbt802154g2BCrc">1</Property>
            <Property role="45" name="m_rbt802154g4BCrc">0</Property>
            <Property role="44" name="m_chk802154gWhitening">2</Property>
            <Property role="44" name="m_chkFEC">0</Property>
            <Property role="46" name="m_cmbPreambleWord">0</Property>
            <Property role="46" name="m_cmbPreambleCount">5</Property>
            <Property role="42" name="m_edtSync3">d3</Property>
            <Property role="42" name="m_edtSync2">91</Property>
            <Property role="42" name="m_edtSync1">2c</Property>
            <Property role="42" name="m_edtSync0">6e</Property>
            <Property role="42" name="m_edtAddress"></Property>
            <Property role="44" name="m_chkAddress">0</Property>
            <Property role="42" name="m_edt802154gHeader">0x181e</Property>
            <Property role="46" name="m_cmbSyncMode">2</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">2C 6E E3 BB BF 99 2F 94 3B CF 48 CD C4 5E DD 09 DD 6E 62 1E 74 E0 25 4F 35 66 FD 46 8D 62 B6 98 21 98 86 0D 29 10 52 C9 02 4F 60 E5 95 04 0E 2C 6E E3 BB BF 99 2F 94 3B CF 48 CD C4 5E DD 09 DD 6E 62 1E 74 E0 25 4F 35 66 FD 46 8D 62 B6 98 21 85 38 CB 91 44 D7 B5 A2 88 08 BC 44 04 13 2C 6E E3 BB BF 99 2F 94 3B CF 48 CD C4 5E DD 09 DD 6E 62 1E 74 E0 25 4F 35 66 FD 46 8D 62 B6 98 21 C2 63 </Property>
            <Property role="46" name="m_cmbInstrInput">-1</Property>
        </commandpanel>
        <packetRxSniffMode>
            <Property role="42" name="m_edtPreambleLength">8</Property>
            <Property role="42" name="m_edtCarrierSenseThreshold">-81</Property>
            <Property role="45" name="m_rbtRssi">1</Property>
            <Property role="45" name="m_rbtPreamble">0</Property>
        </packetRxSniffMode>
    </dcpanelconfiguration>
    

  • That seems very similar to my original configuration for the CC1200.

    I modified it, and tried it on this side with existing transmitters, no data received.

    Would you say that the CC1200 is incompatible for this mode?

  • Based on what I could see CC1200 is only compatible with CC1101 using MSK given a phase transition time equal to 6 or 7.