Hello! I am looking for help with configuring the frequency offset compensator of the CC1110. Below is a graph of receiver sensitivity in dBm vs. measured transmitter/receiver frequency offset, which shows that the chip is much better equipped to handle negative than positive offsets. This data was collected using the CC1110433EMK, whereas the transmitter frequency was kept stationary and the receiver frequency was varied, and the sensitivity was determined experimentally. The settings for the transmitter and receiver are below as SmartRF configuration files. My question is, would it be possible to use a firmware/configuration change to make this plot more centered? DN005 (SWRA122D) pp. 3 quotes that the symmetry of these graphs is related to the value of IF programmed into the chip? Maybe an alteration of that from the value in the config files below would help resolve this? Any help would be much appreciated.
Graph (the offset was measured for each step with a spectrum analyzer):
TX configuration:
<?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>0x20</Value> </Register> <Register> <Name>FOCCFG</Name> <Value>0x17</Value> </Register> <Register> <Name>FREQ0</Name> <Value>0xc4</Value> </Register> <Register> <Name>FREQ1</Name> <Value>0xce</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>LQI</Name> <Value>0x7f</Value> </Register> <Register> <Name>MCSM0</Name> <Value>0x18</Value> </Register> <Register> <Name>MDMCFG0</Name> <Value>0xf7</Value> </Register> <Register> <Name>MDMCFG2</Name> <Value>0x03</Value> </Register> <Register> <Name>MDMCFG3</Name> <Value>0x9a</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">0</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">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">253</Property> <Property name="m_edtPacketCount" role="42">100</Property> <Property name="m_edtPacketCountEsy" role="42">100</Property> <Property name="m_edtRandomPacketData" role="42">bd 1c 27 03 28 7f 5d 89 5f b9 49 34 4e 60 3c e5 de 02 98 42 b2 0d 2b b6 14 ec bb b8 2f 73 e2 51 7e 7d 1d d8 84 d3 1f 01 be 50 6b 16 d6 43 21 83 19 15 18 98 2b 2c 2e 8b f9 0e dc bc f0 ca 0e 3d 6d 94 31 92 74 af 8d b5 a4 90 d5 5e 6a 40 fc 80 76 02 4b 17 6b 36 b1 21 db 7d 5a ea 72 1e 82 8d 71 a8 8c b8 5e d9 4e af fa bf b0 94 74 1d 75 e5 dc 10 58 46 da f2 5b 81 a0 7f 5c cb 1d 36 e9 49 74 02 55 d2 ac 1a 0b f7 a9 26 23 40 5b a3 33 b9 35 88 68 ad e1 2a d5 b2 32 5d 0a e5 5a dc e9 77 5d eb b5 69 c5 3a 6c 93 98 0d 57 eb 87 9a df 04 68 b2 a2 d5 e6 a4 c6 bc 77 5f 8d c3 8f d6 2a 21 14 a9 d4 04 11 01 18 8d ae bb 73 1c 60 ca 20 cf 5d d6 2f 45 53 29 d7 a8 59 cc 0d ea 26 ed 55 4e 80 84 d9 2b f8 37 b8 ed d5 7a a0 5c 4e fa 9f 21 fc 3c 36 85 8e 81 b0 7d bf ee b1 </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">1</Property> <Property name="m_rbtText" role="45">0</Property> <Property name="m_rbtHex" role="45">0</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">800</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 configuration:
<?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>0x20</Value> </Register> <Register> <Name>FOCCFG</Name> <Value>0x17</Value> </Register> <Register> <Name>FREQ0</Name> <Value>0xc4</Value> </Register> <Register> <Name>FREQ1</Name> <Value>0xce</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>LQI</Name> <Value>0x7f</Value> </Register> <Register> <Name>MCSM0</Name> <Value>0x18</Value> </Register> <Register> <Name>MDMCFG0</Name> <Value>0xf7</Value> </Register> <Register> <Name>MDMCFG2</Name> <Value>0x03</Value> </Register> <Register> <Name>MDMCFG3</Name> <Value>0x9a</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>0x35</Value> </Register> <Register> <Name>TEST2</Name> <Value>0x81</Value> </Register> <Register> <Name>VERSION</Name> <Value>0x04</Value> </Register> </registersettings> <dcpanel> <Property name="m_chkRegView" role="44">0</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">3</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> <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">108</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">33393331323036333338323033333339323036343339323033393333323033343332323033383631323036353335323036313636323033373335323036313333323036333337323036323636323033353636323036343338323033393333323033353631323036333633</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">700</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">2</Property> <Property name="m_chkInfiniteEsy" role="44">2</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">2</Property> <Property name="m_chk802154gMode" role="44">0</Property> <Property name="m_cmbSyncWord" role="46">3</Property> <Property name="m_cmbAddressConfig" role="46">0</Property> <Property name="m_chkAddress" role="44">0</Property> <Property name="m_chkFifoAutoFlush" role="44">0</Property> <Property name="m_edtAddress" role="42"></Property> <Property name="m_cmbLengthConfig_adv" role="46">1</Property> <Property name="m_edtLengthConfig_adv" role="42">255</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>