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.

CC1120: CC1120 data rate

Part Number: CC1120


I am trying to lower the data rate from 500bps to 100bps to achieve and greater distance.

I have changed the symbol rate based on RF Studio, but cannot get any received data.

I am using WOR for the receiver, with a 2second wakeup.

Can you help if any other registers need to be changed

below are the register settings for the receiver/transmitter

Thanks

const registerSetting_t preferredSettings[]=
{
{CC1120_IOCFG3, 0xB0},
{CC1120_IOCFG2, 0x06}, // SYNC DETECT
{CC1120_IOCFG1, 0xB0},
{CC1120_IOCFG0, 0xB0},
{CC1120_SYNC3, 0xC1},
{CC1120_SYNC2, 0xDE},
{CC1120_SYNC1, 0xC1},
{CC1120_SYNC0, 0xDE},
{CC1120_SYNC_CFG1, 0x0B},
{CC1120_SYNC_CFG0, 0x17},
{CC1120_DEVIATION_M, 0x48},
{CC1120_MODCFG_DEV_E, 0x05},
{CC1120_DCFILT_CFG, 0x1C},
{CC1120_PREAMBLE_CFG1, 0x18},
{CC1120_PREAMBLE_CFG0, 0x2A},
{CC1120_FREQ_IF_CFG, 0x40},
{CC1120_IQIC, 0x00},
{CC1120_CHAN_BW, 0x04}, // 02=100KHz, 04=50KHZ,
{CC1120_MDMCFG1, 0x46},
{CC1120_MDMCFG0, 0x05},
{CC1120_SYMBOL_RATE2, 0x30},
{CC1120_SYMBOL_RATE1, 0x62},
{CC1120_SYMBOL_RATE0, 0x4E},
{CC1120_AGC_REF, 0x2E},
{CC1120_AGC_CS_THR, 0x02},
{CC1120_AGC_GAIN_ADJUST, 0x00},
{CC1120_AGC_CFG3, 0x91},
{CC1120_AGC_CFG2, 0x20},
{CC1120_AGC_CFG1, 0x29}, //0xA9)
{CC1120_AGC_CFG0, 0x4F},
{CC1120_FIFO_CFG, 0x00},
{CC1120_DEV_ADDR, 0x00},
{CC1120_SETTLING_CFG, 0x03},
{CC1120_FS_CFG, 0x12},
{CC1120_WOR_CFG1, 0x08}, // 0x08
{CC1120_WOR_CFG0, 0x20}, //0x20=No Cal, 0x24=RC CAL
{CC1120_WOR_EVENT0_MSB, 0xFF}, //0xFFFF = 2 second 0x8000 = 1 second wake up
{CC1120_WOR_EVENT0_LSB, 0xFF},
{CC1120_PKT_CFG2, 0x04},
{CC1120_PKT_CFG1, 0x00},
{CC1120_PKT_CFG0, 0x00},
{CC1120_RFEND_CFG1, 0x0F},
{CC1120_RFEND_CFG0, 0x09},
{CC1120_PA_CFG2, 0x7F},
{CC1120_PA_CFG1, 0x56},
{CC1120_PA_CFG0, 0x7E},
{CC1120_PKT_LEN, 0x06},
{CC1120_IF_MIX_CFG, 0x00},
{CC1120_FREQOFF_CFG, 0x22},
{CC1120_TOC_CFG, 0x0B},
{CC1120_MARC_SPARE, 0x00},
{CC1120_ECG_CFG, 0x00},
{CC1120_CFM_DATA_CFG, 0x00},
{CC1120_EXT_CTRL, 0x01},
{CC1120_RCCAL_FINE, 0x00},
{CC1120_RCCAL_COARSE, 0x00},
{CC1120_RCCAL_OFFSET, 0x00},
{CC1120_FREQOFF1, 0x00},
{CC1120_FREQOFF0, 0x00},
{CC1120_FREQ2, 0x71},
{CC1120_FREQ1, 0x40},
{CC1120_FREQ0, 0x00},
{CC1120_IF_ADC2, 0x02},
{CC1120_IF_ADC1, 0xA6},
{CC1120_IF_ADC0, 0x04},
{CC1120_FS_DIG1, 0x00},
{CC1120_FS_DIG0, 0x5F},
{CC1120_FS_CAL3, 0x00},
{CC1120_FS_CAL2, 0x20},
{CC1120_FS_CAL1, 0x40},
{CC1120_FS_CAL0, 0x0E},
{CC1120_FS_CHP, 0x28},
{CC1120_FS_DIVTWO, 0x03},
{CC1120_FS_DSM1, 0x00},
{CC1120_FS_DSM0, 0x33},
{CC1120_FS_DVC1, 0xFF},
{CC1120_FS_DVC0, 0x17},
{CC1120_FS_LBI, 0x00},
{CC1120_FS_PFD, 0x50},
{CC1120_FS_PRE, 0x6E},
{CC1120_FS_REG_DIV_CML, 0x14},
{CC1120_FS_SPARE, 0xAC},
{CC1120_FS_VCO4, 0x14},
{CC1120_FS_VCO3, 0x00},
{CC1120_FS_VCO2, 0x00},
{CC1120_FS_VCO1, 0x00},
{CC1120_FS_VCO0, 0xB4},
{CC1120_GBIAS6, 0x00},
{CC1120_GBIAS5, 0x02},
{CC1120_GBIAS4, 0x00},
{CC1120_GBIAS3, 0x00},
{CC1120_GBIAS2, 0x10},
{CC1120_GBIAS1, 0x00},
{CC1120_GBIAS0, 0x00},
{CC1120_IFAMP, 0x01},
{CC1120_LNA, 0x01},
{CC1120_RXMIX, 0x01},
{CC1120_XOSC5, 0x0E},
{CC1120_XOSC4, 0xA0},
{CC1120_XOSC3, 0x03},
{CC1120_XOSC2, 0x04},
{CC1120_XOSC1, 0x03},
{CC1120_XOSC0, 0x00},
{CC1120_ANALOG_SPARE, 0x00},
{CC1120_PA_CFG3, 0x00},
{CC1120_WOR_TIME1, 0x00},
{CC1120_WOR_TIME0, 0x00},
{CC1120_WOR_CAPTURE1, 0x00},
{CC1120_WOR_CAPTURE0, 0x00},
{CC1120_BIST, 0x00},
{CC1120_DCFILTOFFSET_I1, 0x00},
{CC1120_DCFILTOFFSET_I0, 0x00},
{CC1120_DCFILTOFFSET_Q1, 0x00},
{CC1120_DCFILTOFFSET_Q0, 0x00},
{CC1120_IQIE_I1, 0x00},
{CC1120_IQIE_I0, 0x00},
{CC1120_IQIE_Q1, 0x00},
{CC1120_IQIE_Q0, 0x00},
{CC1120_RSSI1, 0x80},
{CC1120_RSSI0, 0x00},
{CC1120_MARCSTATE, 0x41},
{CC1120_LQI_VAL, 0x00},
{CC1120_PQT_SYNC_ERR, 0xFF},
{CC1120_DEM_STATUS, 0x00},
{CC1120_FREQOFF_EST1, 0x00},
{CC1120_FREQOFF_EST0, 0x00},
{CC1120_AGC_GAIN3, 0x00},
{CC1120_AGC_GAIN2, 0xD1},
{CC1120_AGC_GAIN1, 0x00},
{CC1120_AGC_GAIN0, 0x3F},
{CC1120_CFM_RX_DATA_OUT, 0x00},
{CC1120_CFM_TX_DATA_IN, 0x00},
{CC1120_ASK_SOFT_RX_DATA, 0x30},
{CC1120_RNDGEN, 0x7F},
{CC1120_MAGN2, 0x00},
{CC1120_MAGN1, 0x00},
{CC1120_MAGN0, 0x00},
{CC1120_ANG1, 0x00},
{CC1120_ANG0, 0x00},
{CC1120_CHFILT_I2, 0x08},
{CC1120_CHFILT_I1, 0x00},
{CC1120_CHFILT_I0, 0x00},
{CC1120_CHFILT_Q2, 0x00},
{CC1120_CHFILT_Q1, 0x00},
{CC1120_CHFILT_Q0, 0x00},
{CC1120_GPIO_STATUS, 0x00},
{CC1120_FSCAL_CTRL, 0x01},
{CC1120_PHASE_ADJUST, 0x00},
{CC1120_PARTNUMBER, 0x00},
{CC1120_PARTVERSION, 0x00},
};

  • Hi,

    I will look into it and get back to you ASAP. Please bear with me.

    Thanks,

    PM

  • Hi,

    It seems there are some issues with your Register settings. Did you test with SmartRF Studio?

    Could you please provide me the RF Settings (Freq, Modulation, Symbol rate) you are using?

    I will generate the Register settings and send it to you.

    Thanks,

    PM

  • I emailed the .xml file for your review

    here they are in text format from RF Studio

    // Rf settings for CC1120
    RF_SETTINGS code rfSettings = {
    0xB0, // IOCFG3 GPIO3 IO Pin Configuration
    0x06, // IOCFG2 GPIO2 IO Pin Configuration
    0xB0, // IOCFG1 GPIO1 IO Pin Configuration
    0xB0, // IOCFG0 GPIO0 IO Pin Configuration
    0x0B, // SYNC_CFG1 Sync Word Detection Configuration Reg. 1
    0x1C, // DCFILT_CFG Digital DC Removal Configuration
    0x18, // PREAMBLE_CFG1 Preamble Length Configuration Reg. 1
    0x46, // IQIC Digital Image Channel Compensation Configuration
    0x05, // CHAN_BW Channel Filter Configuration
    0x05, // MDMCFG0 General Modem Parameter Configuration Reg. 0
    0x0D, // SYMBOL_RATE2 Symbol Rate Configuration Exponent and Mantissa [1..
    0x1B, // SYMBOL_RATE1 Symbol Rate Configuration Mantissa [15:8]
    0x6E, // SYMBOL_RATE0 Symbol Rate Configuration Mantissa [7:0]
    0x20, // AGC_REF AGC Reference Level Configuration
    0x02, // AGC_CS_THR Carrier Sense Threshold Configuration
    0xA0, // AGC_CFG1 Automatic Gain Control Configuration Reg. 1
    0x3F, // FIFO_CFG FIFO Configuration
    0x03, // SETTLING_CFG Frequency Synthesizer Calibration and Settling Con..
    0x12, // FS_CFG Frequency Synthesizer Configuration
    0x20, // WOR_CFG0 eWOR Configuration Reg. 0
    0xFF, // WOR_EVENT0_MSB Event 0 Configuration MSB
    0xFF, // WOR_EVENT0_LSB Event 0 Configuration LSB
    0x20, // PKT_CFG0 Packet Configuration Reg. 0
    0x09, // RFEND_CFG0 RFEND Configuration Reg. 0
    0x7E, // PA_CFG0 Power Amplifier Configuration Reg. 0
    0xFF, // PKT_LEN Packet Length Configuration
    0x00, // IF_MIX_CFG IF Mix Configuration
    0x22, // FREQOFF_CFG Frequency Offset Correction Configuration
    0x71, // FREQ2 Frequency Configuration [23:16]
    0x40, // FREQ1 Frequency Configuration [15:8]
    0x00, // FS_DIG1 Frequency Synthesizer Digital Reg. 1
    0x5F, // FS_DIG0 Frequency Synthesizer Digital Reg. 0
    0x40, // FS_CAL1 Frequency Synthesizer Calibration Reg. 1
    0x0E, // FS_CAL0 Frequency Synthesizer Calibration Reg. 0
    0x03, // FS_DIVTWO Frequency Synthesizer Divide by 2
    0x33, // FS_DSM0 FS Digital Synthesizer Module Configuration Reg. 0
    0x17, // FS_DVC0 Frequency Synthesizer Divider Chain Configuration ..
    0x50, // FS_PFD Frequency Synthesizer Phase Frequency Detector Con..
    0x6E, // FS_PRE Frequency Synthesizer Prescaler Configuration
    0x14, // FS_REG_DIV_CML Frequency Synthesizer Divider Regulator Configurat..
    0xAC, // FS_SPARE Frequency Synthesizer Spare
    0xB4, // FS_VCO0 FS Voltage Controlled Oscillator Configuration Reg..
    0x0E, // XOSC5 Crystal Oscillator Configuration Reg. 5
    0x00, // XOSC2 Crystal Oscillator Configuration Reg. 2
    0x03, // XOSC1 Crystal Oscillator Configuration Reg. 1
    };

  • Hi,

    Could you please provide me the RF Settings (Freq, Modulation, Symbol rate) you are using in generating the Register values?

    This would help me to see whether you are using proper settings or not?

    Thanks,

    PM

  • A comment on the side:

    If I read your settings correctly, you are using a RXBW = 50 kHz and deviation = 20 kHz (based on the first register set you posted). You can get better range if you select the 1.2 kbps or 300 bps setting with 10 kHz RXBW. For 10 kHz RXBW you should most likely use a TCXO. 

    With a a very large modulation it's not given that you get better range if you decrease the datarate since the modem is designed primary for modulation indexes lower than 2. 

  • still can't get 100bits per second. But, I have to move on.

    Will address at a later date

    Thanks, for the info