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 AGC_CFG1 setting

Guru 16800 points
Other Parts Discussed in Thread: CC1200

Hello sirs,

I have a question for the CC1200 AGC_CFG1 setting.

CC1200 is input -73dBm unmodulated signal.
When AGC_CFG1 is set to 0x51, the read RSSI is stable.

However, when AGC_CFG1 is set to 0x40 (AGC_WIN_SIZE and AGC_SETTLE_WAIT are 0), the read RSSI is not stable.

Please let me know why the read RSSI is not stable when AGC_CFG1 is set to 0x40.

All other settings are following.


static const registerSetting_t preferredSettings[]=
{
{CC1200_IOCFG2, 0x08},
{CC1200_IOCFG0, 0x09},
{CC1200_SYNC_CFG1, 0xA8},
{CC1200_DEVIATION_M, 0x9D},
{CC1200_MODCFG_DEV_E, 0x08},
{CC1200_DCFILT_CFG, 0x5D},
{CC1200_PREAMBLE_CFG1, 0x00},
{CC1200_PREAMBLE_CFG0, 0x8A},
{CC1200_IQIC, 0xCB},
{CC1200_CHAN_BW, 0x61},
{CC1200_MDMCFG1, 0x00},
{CC1200_MDMCFG0, 0x05},
{CC1200_SYMBOL_RATE2, 0x5F},
{CC1200_SYMBOL_RATE1, 0x75},
{CC1200_SYMBOL_RATE0, 0x10},
{CC1200_AGC_REF, 0x33},
{CC1200_AGC_CS_THR, 0xEC},
{CC1200_AGC_CFG3, 0x11},
{CC1200_AGC_CFG1, 0x51},
{CC1200_AGC_CFG0, 0x87},
{CC1200_FIFO_CFG, 0x00},
{CC1200_FS_CFG, 0x14},
{CC1200_PKT_CFG2, 0x01},
{CC1200_PKT_CFG1, 0x00},
{CC1200_PKT_CFG0, 0x20},
{CC1200_PA_CFG1, 0x76},
{CC1200_PKT_LEN, 0xFF},
{CC1200_IF_MIX_CFG, 0x1C},
{CC1200_FREQOFF_CFG, 0x22},
{CC1200_MDMCFG2, 0x0C},
{CC1200_FREQ2, 0x55},
{CC1200_FREQ1, 0x40},
{CC1200_FREQ0, 0xA4},
{CC1200_IF_ADC1, 0xEE},
{CC1200_IF_ADC0, 0x10},
{CC1200_FS_DIG1, 0x07},
{CC1200_FS_DIG0, 0xAF},
{CC1200_FS_CAL1, 0x40},
{CC1200_FS_CAL0, 0x0E},
{CC1200_FS_DIVTWO, 0x03},
{CC1200_FS_DSM0, 0x33},
{CC1200_FS_DVC0, 0x17},
{CC1200_FS_PFD, 0x00},
{CC1200_FS_PRE, 0x6E},
{CC1200_FS_REG_DIV_CML, 0x1C},
{CC1200_FS_SPARE, 0xAC},
{CC1200_FS_VCO0, 0xB5},
{CC1200_XOSC5, 0x0E},
{CC1200_XOSC1, 0x03},
{CC1200_PARTNUMBER, 0x20},
{CC1200_PARTVERSION, 0x10},
{CC1200_SERIAL_STATUS, 0x08},
{CC1200_MODEM_STATUS1, 0x10},
};

Best Regards,

Nomoto

  • - Could you provide the settings as a SmartRF Studio cfg file? Which setting did you start from? The register values looks like a mix of several.
    - I did a test with AGC_CFG1=0x40 with the standard 1.2 kbps setting in Studio and did not see an instability.

    Start from the 1.2 kbps setting but increase AGC_REF
  • Hello TER-san,

    Thank you for your reply.
    I provide the settings as a SmartRF Studio cfg file for you.
    I started from "Symbol rate: 1.2kbps" in the Generic 434MHz settings.

    However, I didn't change the AGC_REF setting.
    Should I change the setting?
    And, please let me know how I calculate the setting value in the following condition.

    Carrier frequency: 426.262512
    Xtal frequency: 40.00000
    Symbol rate: 4.8
    RX filter BW: 25.252525
    Modulation format: 2-GFSK
    Deviation: 2.994537
    TX power: 10
    Manchester enable: OFF
    PA ramping: ON
    Whitening: OFF
    Performance mode: Low Power

    Best Regards,

    Nomoto

    <?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>0x87</Value>
            </Register>
            <Register>
                <Name>AGC_CFG1</Name>
                <Value>0x40</Value>
            </Register>
            <Register>
                <Name>AGC_CFG3</Name>
                <Value>0x11</Value>
            </Register>
            <Register>
                <Name>AGC_CS_THR</Name>
                <Value>0xec</Value>
            </Register>
            <Register>
                <Name>AGC_REF</Name>
                <Value>0x33</Value>
            </Register>
            <Register>
                <Name>CHAN_BW</Name>
                <Value>0x61</Value>
            </Register>
            <Register>
                <Name>DCFILT_CFG</Name>
                <Value>0x5d</Value>
            </Register>
            <Register>
                <Name>DEVIATION_M</Name>
                <Value>0x9d</Value>
            </Register>
            <Register>
                <Name>FIFO_CFG</Name>
                <Value>0x00</Value>
            </Register>
            <Register>
                <Name>FREQ0</Name>
                <Value>0xa4</Value>
            </Register>
            <Register>
                <Name>FREQ1</Name>
                <Value>0x40</Value>
            </Register>
            <Register>
                <Name>FREQ2</Name>
                <Value>0x55</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>0x14</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_DSM1</Name>
                <Value>0x02</Value>
            </Register>
            <Register>
                <Name>FS_DVC0</Name>
                <Value>0x13</Value>
            </Register>
            <Register>
                <Name>FS_DVC1</Name>
                <Value>0xf3</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>0xb8</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>0x09</Value>
            </Register>
            <Register>
                <Name>IOCFG2</Name>
                <Value>0x08</Value>
            </Register>
            <Register>
                <Name>IQIC</Name>
                <Value>0xcb</Value>
            </Register>
            <Register>
                <Name>MDMCFG0</Name>
                <Value>0x05</Value>
            </Register>
            <Register>
                <Name>MDMCFG1</Name>
                <Value>0x00</Value>
            </Register>
            <Register>
                <Name>MDMCFG2</Name>
                <Value>0x0c</Value>
            </Register>
            <Register>
                <Name>MODCFG_DEV_E</Name>
                <Value>0x08</Value>
            </Register>
            <Register>
                <Name>MODEM_STATUS1</Name>
                <Value>0x10</Value>
            </Register>
            <Register>
                <Name>PARTNUMBER</Name>
                <Value>0x20</Value>
            </Register>
            <Register>
                <Name>PARTVERSION</Name>
                <Value>0x10</Value>
            </Register>
            <Register>
                <Name>PA_CFG1</Name>
                <Value>0x76</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>PKT_LEN</Name>
                <Value>0xff</Value>
            </Register>
            <Register>
                <Name>PREAMBLE_CFG0</Name>
                <Value>0x8a</Value>
            </Register>
            <Register>
                <Name>PREAMBLE_CFG1</Name>
                <Value>0x00</Value>
            </Register>
            <Register>
                <Name>SERIAL_STATUS</Name>
                <Value>0x08</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE0</Name>
                <Value>0x10</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE1</Name>
                <Value>0x75</Value>
            </Register>
            <Register>
                <Name>SYMBOL_RATE2</Name>
                <Value>0x5f</Value>
            </Register>
            <Register>
                <Name>SYNC_CFG1</Name>
                <Value>0xa8</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">1</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">40.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">0</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">0</Property>
            <Property name="m_chkAutoScroll" role="44">2</Property>
        </contrx>
        <packettx>
            <Property name="m_edtPacketCount" role="42">100</Property>
            <Property name="m_edtPacketCountEsy" role="42">100</Property>
            <Property name="m_edtFixedPktLength" role="42">255</Property>
            <Property name="m_edtPacketData" role="42">3c dc 10 27 fc a3 ea 53 8c f1 41 c7 02 58 f5 37 53 c6 c6 ae 69 4f 0d 78 76 2c aa 3f </Property>
            <Property name="m_edtAccessAddress" 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>
            <Property name="m_cmbLengthConfig" role="46">1</Property>
            <Property name="m_edtFixedPktLength" role="42">255</Property>
            <Property name="m_edtBitLength" role="42">0</Property>
            <Property name="m_grp802154g" role="20">0</Property>
            <Property name="m_edt802154gPktLength" role="42"></Property>
            <Property name="m_rbt802154g2BCrc" role="45">1</Property>
            <Property name="m_rbt802154g4BCrc" role="45">0</Property>
            <Property name="m_chk802154gWhitening" role="44">2</Property>
            <Property name="m_chkFEC" role="44">0</Property>
            <Property name="m_cmbPreambleCount" role="46">0</Property>
            <Property name="m_chkAddress" role="44">0</Property>
            <Property name="m_cmbSyncMode" role="46">5</Property>
        </packettx>
        <packetview>
            <Property name="m_edtPktLength" role="42">30</Property>
            <Property name="m_lblFrmPayload" role="41">3c dc 10 27 fc a3 ea 53 8c f1 41 c7 02 58 f5 37 53 c6 c6 ae 69 4f 0d 78 76 2c aa 3f </Property>
        </packetview>
        <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>
    

  • The default AGC_REF settings for 1.2 kbps is 0x20, in your file this is 0x33. Also some of the other AGC_CFG registers are altered. Start from scratch from the 1.2 kbps and only change the symbolrate, deviation, modulation format and rx filter bandwidth. Set AGC_REF equal to 0x27 as a start.