Hi - I hope somone can help with our problem.
We are not familiar with programming hence using SmartRf7, TrxEB and CC1120EB to form a link with a legacy FSK unit. Legacy units work with serial asyn TTL data in/out - No clock, preamble or syn word. Deviation is 4KHz, data rate 2.4kbps, freq 868MHz. We configured the CC1120 for transparent serial mode in continous Tx with 2GFSK for a cleaner spectrum mask.
The settings we are using are in the attached file:
<?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>CC1120</Devicename>
<Description>Saved configuration data</Description>
<registersettings>
<Register>
<Name>AGC_CFG0</Name>
<Value>0xcf</Value>
</Register>
<Register>
<Name>AGC_CFG1</Name>
<Value>0xa9</Value>
</Register>
<Register>
<Name>AGC_CS_THR</Name>
<Value>0x19</Value>
</Register>
<Register>
<Name>AGC_REF</Name>
<Value>0x20</Value>
</Register>
<Register>
<Name>CHAN_BW</Name>
<Value>0x0d</Value>
</Register>
<Register>
<Name>DCFILT_CFG</Name>
<Value>0x1c</Value>
</Register>
<Register>
<Name>FIFO_CFG</Name>
<Value>0x00</Value>
</Register>
<Register>
<Name>FREQ0</Name>
<Value>0x08</Value>
</Register>
<Register>
<Name>FREQ1</Name>
<Value>0x80</Value>
</Register>
<Register>
<Name>FREQ2</Name>
<Value>0x6c</Value>
</Register>
<Register>
<Name>FREQOFF_CFG</Name>
<Value>0x22</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>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>0x09</Value>
</Register>
<Register>
<Name>IOCFG1</Name>
<Value>0xb0</Value>
</Register>
<Register>
<Name>IOCFG2</Name>
<Value>0x08</Value>
</Register>
<Register>
<Name>IOCFG3</Name>
<Value>0xb0</Value>
</Register>
<Register>
<Name>IQIC</Name>
<Value>0xc6</Value>
</Register>
<Register>
<Name>MDMCFG0</Name>
<Value>0x45</Value>
</Register>
<Register>
<Name>MDMCFG1</Name>
<Value>0x06</Value>
</Register>
<Register>
<Name>MODCFG_DEV_E</Name>
<Value>0x0b</Value>
</Register>
<Register>
<Name>MODEM_STATUS1</Name>
<Value>0x10</Value>
</Register>
<Register>
<Name>PARTNUMBER</Name>
<Value>0x48</Value>
</Register>
<Register>
<Name>PARTVERSION</Name>
<Value>0x21</Value>
</Register>
<Register>
<Name>PA_CFG0</Name>
<Value>0x7e</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>0x07</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>0x53</Value>
</Register>
<Register>
<Name>SYNC_CFG1</Name>
<Value>0x08</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_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">0</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">32.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">30</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"></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">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>
</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>
<packetRxSniffMode>
<Property name="m_edtPreambleLength" role="42">8</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>
When the legacy unit receives from the CC1120EM it has higher jitter than when a legacy is used as a TX. About 3x higher Jitter with the CC1120EM
To reduce the Jitter we increased the symbol rate of the CC1120EM to 7.2 from 2.4ksps on SmartRF7 this increases the bit rate to 7.2kbps. Although the Jitter out of the legacy unit reduces we noticed that the Tx spectrum gets wider as shown below
Blue trace is with CC1120EM set to 2.4ksps gives higher jitter in legacy unit, Yellow is 7.2ksps lowers jitter but mask is poorer.
Is there something we are doing wrong here or can someone please suggest an alternate method to reduce Tx jitter but maintian the cleaner mask. We hope to finalying get register settings that will allow the CC1120 to work as TX/RX link with the legacy units.
Thank you for any advise or help that you can provide.
BP