Hello,
We are substituting a CC1120 into a legacy design operating in MSK modulation at 9.6ksps, 20kHz bandwidth and 2.4KHz deviation. The transmitted data is in the form of UART style bytes with start and stop bits. The link with CC1120 works well most of the time but occasionally gives bit errors in the message. It would seem the Rx data clock is miss aligning when these errors occur. We did notice that adding several null bytes at the beginning of the message was giving more errors and probably upsetting the clock recovery. We currently have only 1 null byte which does not upset the early part of the RX message but still get errors on messages over ~60bytes.
Can you please advise on what we may be doing wrong, thank you!
The attached has the settings we are using.
BP
<?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>0x07</Value> </Register> <Register> <Name>AGC_CFG1</Name> <Value>0x08</Value> </Register> <Register> <Name>AGC_CFG2</Name> <Value>0xc0</Value> </Register> <Register> <Name>AGC_CFG3</Name> <Value>0x0d</Value> </Register> <Register> <Name>AGC_CS_THR</Name> <Value>0x88</Value> </Register> <Register> <Name>AGC_GAIN_ADJUST</Name> <Value>0x8f</Value> </Register> <Register> <Name>CHAN_BW</Name> <Value>0x0a</Value> </Register> <Register> <Name>DCFILT_CFG</Name> <Value>0x1c</Value> </Register> <Register> <Name>DEVIATION_M</Name> <Value>0x3a</Value> </Register> <Register> <Name>FIFO_CFG</Name> <Value>0x00</Value> </Register> <Register> <Name>FREQ1</Name> <Value>0x40</Value> </Register> <Register> <Name>FREQ2</Name> <Value>0x6d</Value> </Register> <Register> <Name>FREQOFF0</Name> <Value>0x13</Value> </Register> <Register> <Name>FREQOFF_CFG</Name> <Value>0x23</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>0x18</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>0x30</Value> </Register> <Register> <Name>IOCFG1</Name> <Value>0x11</Value> </Register> <Register> <Name>IOCFG2</Name> <Value>0x08</Value> </Register> <Register> <Name>IOCFG3</Name> <Value>0x09</Value> </Register> <Register> <Name>IQIC</Name> <Value>0xc6</Value> </Register> <Register> <Name>MDMCFG0</Name> <Value>0x2a</Value> </Register> <Register> <Name>MDMCFG1</Name> <Value>0x06</Value> </Register> <Register> <Name>MODCFG_DEV_E</Name> <Value>0x0a</Value> </Register> <Register> <Name>PA_CFG0</Name> <Value>0x7d</Value> </Register> <Register> <Name>PA_CFG2</Name> <Value>0x5d</Value> </Register> <Register> <Name>PKT_CFG0</Name> <Value>0x20</Value> </Register> <Register> <Name>PKT_CFG1</Name> <Value>0x00</Value> </Register> <Register> <Name>PKT_CFG2</Name> <Value>0x01</Value> </Register> <Register> <Name>PREAMBLE_CFG1</Name> <Value>0x00</Value> </Register> <Register> <Name>SERIAL_STATUS</Name> <Value>0x08</Value> </Register> <Register> <Name>SETTLING_CFG</Name> <Value>0x03</Value> </Register> <Register> <Name>SYMBOL_RATE2</Name> <Value>0x73</Value> </Register> <Register> <Name>SYNC0</Name> <Value>0xaa</Value> </Register> <Register> <Name>SYNC1</Name> <Value>0xaa</Value> </Register> <Register> <Name>SYNC2</Name> <Value>0xaa</Value> </Register> <Register> <Name>SYNC3</Name> <Value>0xaa</Value> </Register> <Register> <Name>SYNC_CFG0</Name> <Value>0x07</Value> </Register> <Register> <Name>SYNC_CFG1</Name> <Value>0x1f</Value> </Register> <Register> <Name>TOC_CFG</Name> <Value>0x4b</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">1</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">0</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">0</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">2</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">8</Property> <Property role="42" name="m_edtCarrierSenseThreshold">34</Property> <Property role="45" name="m_rbtRssi">1</Property> <Property role="45" name="m_rbtPreamble">0</Property> </packetRxSniffMode> </dcpanelconfiguration>