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.

CC1110-CC1111: Unexplained frequency offset compensator behaviour

Part Number: CC1110-CC1111

Hello! I am looking to get some help explaining some unusual behavior we have been seeing with the CC1110. We have it running in a custom PCB built on the TI 433 MHz HW example. We have been evaluating its sensitivity in the presence of a frequency offset, and we have been finding that for for negative offsets between the receiver and the transmitter (ftx<frx) the sensitivity is unchanged within the expected limit of the compensation algorithm (BWrx/2). However, for positive offsets between the receiver and the transmitter (ftx>frx) the sensitivity is significantly degraded, in an increasing manner as the offset increases. The only way we found to resolve this is to increase the preamble length to >4 bytes. However, I would expect the behavior to be symmetric - it should work for positive and negative offsets as well, right? We are using SmartRF 7 with the attached configurations to run the test. We keep the receiver frequency constant and change the transmit frequecny manually for each run, as shown in the table below. Can you offer any insights into why this may be happening?

TX Frequency (MHz) RX Frequency (MHz) RX to TX df (kHz) Outcome
437.059631 437.059631 0 Pass
437.049744 437.059631 -9.887 Pass
437.069916 437.059631 10.285 Pass
437.069916 437.059631 10.285 Pass
437.0448 437.059631 -14.831 Pass
437.07486 437.059631 15.229 Fail
437.039856 437.059631 -19.775 Pass
437.079803 437.059631 20.172 Fail

0574.tx.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>CC1110</Devicename>
    <Description>Saved configuration data</Description>
    <registersettings>
        <Register>
            <Name>DEVIATN</Name>
            <Value>0x17</Value>
        </Register>
        <Register>
            <Name>FOCCFG</Name>
            <Value>0x17</Value>
        </Register>
        <Register>
            <Name>FREQ0</Name>
            <Value>0xfa</Value>
        </Register>
        <Register>
            <Name>FREQ1</Name>
            <Value>0x2f</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>0xe9</Value>
        </Register>
        <Register>
            <Name>FSCTRL1</Name>
            <Value>0x06</Value>
        </Register>
        <Register>
            <Name>IOCFG0</Name>
            <Value>0x06</Value>
        </Register>
        <Register>
            <Name>IOCFG1</Name>
            <Value>0x5b</Value>
        </Register>
        <Register>
            <Name>IOCFG2</Name>
            <Value>0x5b</Value>
        </Register>
        <Register>
            <Name>LQI</Name>
            <Value>0x7f</Value>
        </Register>
        <Register>
            <Name>MCSM0</Name>
            <Value>0x18</Value>
        </Register>
        <Register>
            <Name>MDMCFG0</Name>
            <Value>0xe5</Value>
        </Register>
        <Register>
            <Name>MDMCFG2</Name>
            <Value>0x03</Value>
        </Register>
        <Register>
            <Name>MDMCFG3</Name>
            <Value>0x8b</Value>
        </Register>
        <Register>
            <Name>MDMCFG4</Name>
            <Value>0xf8</Value>
        </Register>
        <Register>
            <Name>PA_TABLE0</Name>
            <Value>0x12</Value>
        </Register>
        <Register>
            <Name>TEST0</Name>
            <Value>0x09</Value>
        </Register>
        <Register>
            <Name>TEST1</Name>
            <Value>0x31</Value>
        </Register>
        <Register>
            <Name>VERSION</Name>
            <Value>0x04</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="Xtal Frequency" role="46">27.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">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 name="m_edtPacketData" role="42">91 c8 39 d9 93 42 8a e5 af 75 a3 c7 bf 5f d8 93 5a cc</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">0</Property>
        <Property name="m_rbtText" role="45">0</Property>
        <Property name="m_rbtHex" role="45">1</Property>
        <Property name="m_chkAdvanced" role="44">2</Property>
        <Property name="m_cmbSyncWord" role="46">3</Property>
        <Property name="m_cmbPreambleCount" role="46">2</Property>
        <Property name="m_chkAddress" role="44">0</Property>
        <Property name="m_edtAddress" role="42"></Property>
        <Property name="m_cmbLengthConfig" role="46">1</Property>
        <Property name="m_edtLengthConfig" role="42">28</Property>
        <Property name="m_spnPktInterval" role="52">600</Property>
        <Property name="m_chkDefPktInterval" role="44">2</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">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>
</dcpanelconfiguration>
rx.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>CC1110</Devicename>
    <Description>Saved configuration data</Description>
    <registersettings>
        <Register>
            <Name>DEVIATN</Name>
            <Value>0x17</Value>
        </Register>
        <Register>
            <Name>FOCCFG</Name>
            <Value>0x17</Value>
        </Register>
        <Register>
            <Name>FREQ0</Name>
            <Value>0xfa</Value>
        </Register>
        <Register>
            <Name>FREQ1</Name>
            <Value>0x2f</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>0xe9</Value>
        </Register>
        <Register>
            <Name>FSCTRL1</Name>
            <Value>0x06</Value>
        </Register>
        <Register>
            <Name>IOCFG1</Name>
            <Value>0x5b</Value>
        </Register>
        <Register>
            <Name>IOCFG2</Name>
            <Value>0x5b</Value>
        </Register>
        <Register>
            <Name>LQI</Name>
            <Value>0x7f</Value>
        </Register>
        <Register>
            <Name>MCSM0</Name>
            <Value>0x18</Value>
        </Register>
        <Register>
            <Name>MDMCFG0</Name>
            <Value>0xe5</Value>
        </Register>
        <Register>
            <Name>MDMCFG2</Name>
            <Value>0x03</Value>
        </Register>
        <Register>
            <Name>MDMCFG3</Name>
            <Value>0x8b</Value>
        </Register>
        <Register>
            <Name>MDMCFG4</Name>
            <Value>0xf8</Value>
        </Register>
        <Register>
            <Name>PA_TABLE0</Name>
            <Value>0x84</Value>
        </Register>
        <Register>
            <Name>TEST0</Name>
            <Value>0x09</Value>
        </Register>
        <Register>
            <Name>TEST1</Name>
            <Value>0x31</Value>
        </Register>
        <Register>
            <Name>VERSION</Name>
            <Value>0x04</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="46" name="m_cmbUserMode">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="Xtal Frequency">27.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">2</Property>
        <Property role="44" name="m_chkInfiniteEsy">2</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">2</Property>
        <Property role="44" name="m_chk802154gMode">0</Property>
        <Property role="46" name="m_cmbSyncWord">3</Property>
        <Property role="46" name="m_cmbAddressConfig">0</Property>
        <Property role="44" name="m_chkAddress">0</Property>
        <Property role="44" name="m_chkFifoAutoFlush">0</Property>
        <Property role="42" name="m_edtAddress"></Property>
        <Property role="46" name="m_cmbLengthConfig_adv">1</Property>
        <Property role="42" name="m_edtLengthConfig_adv">255</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>
</dcpanelconfiguration>

  • Hi,

    Please measure the frequency offset whilst setting the Tx (437.060028 MHz) as an unmodulated carrier. Would like to determine the frequency offset in kHz so we can determine if the crystal capacitance loading is correct.

  • Sounds good - results are below, organized per board. I call the device used to transmit the test signal for measuring the sensitivity as a function of frequency offset the TX board, and the device under test which is receiving the test signal the RX board. Please ignore the power level differences shown between the two measurements - the TX board features the CC1110 only, while the RX board has an RF front end with PA in front of the CC1110 which had to be attenuated for measurement with the spectrum analyzer. 

    Setting both boards to  437.060028 MHz I have observed a frequency offset of 265 Hz. We are using a 27 MHz HCMOS TCXO as a frequency reference on both boards (Fox Electronics FT5HNBPK27.0-T1) feeding the CC1110 XOSC_Q1 input via a 100R resistor to improve signal integrity.

    Looking forward to hearing your insights!

    Config file used for measurements:

    tx-test.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>CC1110</Devicename>
        <Description>Saved configuration data</Description>
        <registersettings>
            <Register>
                <Name>DEVIATN</Name>
                <Value>0x17</Value>
            </Register>
            <Register>
                <Name>FOCCFG</Name>
                <Value>0x17</Value>
            </Register>
            <Register>
                <Name>FREND0</Name>
                <Value>0x11</Value>
            </Register>
            <Register>
                <Name>FREQ0</Name>
                <Value>0xfa</Value>
            </Register>
            <Register>
                <Name>FREQ1</Name>
                <Value>0x2f</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>0xe9</Value>
            </Register>
            <Register>
                <Name>FSCTRL1</Name>
                <Value>0x06</Value>
            </Register>
            <Register>
                <Name>IOCFG1</Name>
                <Value>0x5b</Value>
            </Register>
            <Register>
                <Name>IOCFG2</Name>
                <Value>0x5b</Value>
            </Register>
            <Register>
                <Name>LQI</Name>
                <Value>0x7f</Value>
            </Register>
            <Register>
                <Name>MCSM0</Name>
                <Value>0x18</Value>
            </Register>
            <Register>
                <Name>MDMCFG0</Name>
                <Value>0xe5</Value>
            </Register>
            <Register>
                <Name>MDMCFG2</Name>
                <Value>0x30</Value>
            </Register>
            <Register>
                <Name>MDMCFG3</Name>
                <Value>0x8b</Value>
            </Register>
            <Register>
                <Name>MDMCFG4</Name>
                <Value>0xf8</Value>
            </Register>
            <Register>
                <Name>PA_TABLE0</Name>
                <Value>0x60</Value>
            </Register>
            <Register>
                <Name>PA_TABLE1</Name>
                <Value>0x60</Value>
            </Register>
            <Register>
                <Name>PKTCTRL0</Name>
                <Value>0x22</Value>
            </Register>
            <Register>
                <Name>TEST0</Name>
                <Value>0x09</Value>
            </Register>
            <Register>
                <Name>TEST1</Name>
                <Value>0x31</Value>
            </Register>
            <Register>
                <Name>VERSION</Name>
                <Value>0x04</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">0</Property>
        </dcpanel>
        <rfparameters>
            <Property name="Xtal Frequency" role="46">27.000000</Property>
        </rfparameters>
        <conttx>
            <Property name="m_rbtModulated" role="45">0</Property>
            <Property name="m_rbtUnmodulated" role="45">1</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">55</Property>
            <Property name="m_edtPacketCount" role="42">100</Property>
            <Property name="m_edtPacketCountEsy" role="42">100</Property>
            <Property name="m_edtRandomPacketData" role="42">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 name="m_edtPacketData" role="42">3931206338203339206439203933203432203861206535206166203735206133206337206266203566206438203933203561206363</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">0</Property>
            <Property name="m_rbtText" role="45">0</Property>
            <Property name="m_rbtHex" role="45">1</Property>
            <Property name="m_chkAdvanced" role="44">2</Property>
            <Property name="m_cmbSyncWord" role="46">0</Property>
            <Property name="m_cmbPreambleCount" role="46">2</Property>
            <Property name="m_chkAddress" role="44">0</Property>
            <Property name="m_edtAddress" role="42"></Property>
            <Property name="m_cmbLengthConfig" role="46">2</Property>
            <Property name="m_edtLengthConfig" role="42">28</Property>
            <Property name="m_spnPktInterval" role="52">600</Property>
            <Property name="m_chkDefPktInterval" role="44">2</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">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>
    </dcpanelconfiguration>
    

    TX board (no PA) measured frequency while setting at 437.060028 MHz is 437.059741 MHz:

    RX board (with PA) measured frequency while setting at 437.060028 MHz is 437.060006 MHz:

  • Hi,

    Nicely tuned crystal with virtually no frequency offset, benefits with a TCXO. Always need to check this since this will affect the required Rx bandwidth. 

    Based upon your settings, would expect that the frequency offset should not affect the performance just as long as the offset is not greater than fc +/- 18.4 kHz.

    This explains the fail at +20.172 kHz but not the fail at +15.229 kHz...

    Just for debugging purposes, if you increase the Rx filter BW slightly to 70.312500 kHz does this resolve the issue ?

  • Thanks for this update. Why would you expect that the frequency offset should not affect the performance just as long as the offset is not greater than fc +/- 18.4 kHz? My understanding was that compensation over the range of +/-BWchan/2 should not be a problem, as per pp. 220 of the CC1110 datasheet. In my configuration above FOCCFG[1:0] is set as "11" which is the correct setting for this, isn't it?

    Below is a graphical summary/my own understanding of the problem I need to overcome, hopefully this gives some further insight into my issue. The assigned frequency for my system is 437.06 MHz. Then, assuming that two of my boards communicate (each featuring a CC1110 with the same configuration, and the same TCXO) the worst case for frequency offset from a non-ideal frequency reference is 2x the absolute value of the theoretical crystal frequency tolerance based on Section 2 of this TI app note (6.6 ppm, considering initial tolerance, ageing, supply voltage variations and loading). This gives 5770 Hz shift to the carrier from the assigned frequency. On top of this, there is also Doppler in my application which is 21.7 ppm worst case, so that gives an another 9484 Hz shift on top of the shift originating from the frequency tolerance of my TCXO. This gives a worst case carrier offset of +/- 15254 Hz, which, given a theoretical necessary bandwidth calculated for my application (25.0 kHz, computed as per  ITU-R SM.1138-3 (10/2009)) gives a guard band of 2380 Hz to the edge of the filter. This is given that by RX filter bandwidth is the minimum allowed, 60.3 kHz, centered at my assigned frequency. 

    What I find really puzzling that everything works for negative offsets, but not for positive ones. While not in my original table, there was no decrease in sensitivity even for a -30kHz offset, which would make sense as the upper limit given my understanding of the datasheet. I am also certain that leakage is not an issue, I shield the RX board very heavily (aluminum box, BNC bulkhead for RF in, feedtrough caps for power, smallest possible hole for CC Debugger DD and DC lines) and I check that there is always an upper limit on sensitivity by increasing attenuation above the known limits and making sure nothing gets trough.

    I have played around with SmartRF settings quiet a bit. Increasing the RX bandwidth to 100 kHz does nothing at all. If I increase my preamble length, however, that improves the performance - the more preamble I transmit the better this works as I would expect it. However, even with this preamble increase I can not mirror the desirable performance observed for negative offsets on the positive side. 

    What are your thoughts? Does any of the above help? Please let me know if I can provide any other information or do any more measurements to help with the resolution of this issue.

  •  Is there anything else I can do to help this move forward? I am happy to provide more information or do further experiments. The resolution of this issue is critical for my product to work, and my timeline is tight, so any further advice would greatly appreciated.

  • @RGW @TER Do you have any further insights you can offer on the issue described above? The resolution of this issue is critical for my product to work, and my timeline is tight, so any further advice would greatly appreciated. 

  • Hi,

    The FOCCFG[1:0] should be set as "11" so this is correct.

    If this is related to the frequency offset, then you should see improvements when increasing the Rx bandwidth.

    Have you performed similar tests on the Evaluation Module for CC1110 since this problem seems specific to your hardware design ?

  • Application Note explaining the sensitivity 'v' frequency offset and crystal accuracy:

    https://www.ti.com/lit/swra122

  • Thank you for your insights. I have not performed any tests with the CC1110 evaluation module, unfortunately I don't have any and they are out of stock everywhere. Is there any place you could point me to where I could buy it? 

    Increasing the RX filter bandwidth to ~100kHz does not improve on anything.

    In one of your earlier replies, you said that based on my settings, I should be able handle +/- 18.4 kHz offset with no issues. Could you please explain this to me? My understanding was that compensation over the range of +/-BWchan/2 should not be a problem, as per pp. 220 of the CC1110 datasheet, which would give we 30.15kHz given by BWchan=60.3 kHz. Why is the number you are quoting lower than what I arrive at?

  • We calculate the Rx bandwidth according to the app note https://www.ti.com/lit/swra122

    CC1110 modules are available from Radiocrafts: www.digikey.com/.../872