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.

CC430 tx and CC1101 rx, link optimization

Other Parts Discussed in Thread: CC1101, TEST2

I am trying to increase range and reduce interference susceptibility in a CC430 tx and CC1101 rx link. 

My parameters are:

Rx CC1101

#define CC1101_DEFVAL_PKTLEN 0x1E
#define CC1101_DEFVAL_PKTCTRL1 0x04 // Packet Automation Control 06
#define CC1101_DEFVAL_PKTCTRL0 0x04 // Packet Automation Control 05
#define CC1101_DEFVAL_FSCTRL1 0x08 // Frequency Synthesizer Control ok era 08
#define CC1101_DEFVAL_FSCTRL0 0x00 // Frequency Synthesizer Control ok
// Carrier frequency = 868 MHz
#define CC1101_DEFVAL_FREQ2_868 0x21 // Frequency Control Word, High Byte ok
#define CC1101_DEFVAL_FREQ1_868 0x62 // Frequency Control Word, Middle Byte ok
#define CC1101_DEFVAL_FREQ0_868 0x76 // Frequency Control Word, Low Byte ok

#define CC1101_DEFVAL_MDMCFG4 0x9A // Modem Configuration ok 
#define CC1101_DEFVAL_MDMCFG3 0x83 // Modem Configuration ok
#define CC1101_DEFVAL_MDMCFG2 0x13 // Modem Configuration ok 
#define CC1101_DEFVAL_MDMCFG1 0x22 // Modem Configuration ok
#define CC1101_DEFVAL_MDMCFG0 0xF8 // Modem Configuration ok
#define CC1101_DEFVAL_DEVIATN 0x34 // Modem Deviation Setting
#define CC1101_DEFVAL_MCSM2 0x07 // Main Radio Control State Machine Configuration
#define CC1101_DEFVAL_MCSM1 0x20 // Main Radio Control State Machine Configuration
#define CC1101_DEFVAL_MCSM0 0x18 // Main Radio Control State Machine Configuration
#define CC1101_DEFVAL_FOCCFG 0x16 // Frequency Offset Compensation Configuration ok
#define CC1101_DEFVAL_BSCFG 0x6C // Bit Synchronization Configuration ok
#define CC1101_DEFVAL_AGCCTRL2 0x43 // AGC Control ok
#define CC1101_DEFVAL_AGCCTRL1 0x40 // AGC Control ok
#define CC1101_DEFVAL_AGCCTRL0 0x91 // AGC Control ok
#define CC1101_DEFVAL_WOREVT1 0x87 // High Byte Event0 Timeout
#define CC1101_DEFVAL_WOREVT0 0x6B // Low Byte Event0 Timeout
#define CC1101_DEFVAL_WORCTRL 0xFB // Wake On Radio Control
#define CC1101_DEFVAL_FREND1 0x56 // Front End RX Configuration ok
#define CC1101_DEFVAL_FREND0 0x10 // Front End TX Configuration ok
#define CC1101_DEFVAL_FSCAL3 0xE9 // Frequency Synthesizer Calibration ok
#define CC1101_DEFVAL_FSCAL2 0x2A // Frequency Synthesizer Calibration ok
#define CC1101_DEFVAL_FSCAL1 0x00 // Frequency Synthesizer Calibration ok
#define CC1101_DEFVAL_FSCAL0 0x1F // Frequency Synthesizer Calibration ok
#define CC1101_DEFVAL_RCCTRL1 0x41 // RC Oscillator Configuration
#define CC1101_DEFVAL_RCCTRL0 0x00 // RC Oscillator Configuration
#define CC1101_DEFVAL_FSTEST 0x59 // Frequency Synthesizer Calibration Control ok
#define CC1101_DEFVAL_PTEST 0x7F // Production Test
#define CC1101_DEFVAL_AGCTEST 0x3F // AGC Test
#define CC1101_DEFVAL_TEST2 0x81 // Various Test Settings ok
#define CC1101_DEFVAL_TEST1 0x35 // Various Test Settings ok
#define CC1101_DEFVAL_TEST0 0x09 // Various Test Settings ok

CC430 - TX

0x08, // FSCTRL1 Frequency synthesizer control.
0x00, // FSCTRL0 Frequency synthesizer control.
0x21, // FREQ2 Frequency control word, high byte.
0x62, // FREQ1 Frequency control word, middle byte.
0x76, // FREQ0 Frequency control word, low byte.
0xCA, // MDMCFG4 Modem configuration. 
0x83, // MDMCFG3 Modem configuration.
0x13, // MDMCFG2 Modem configuration.
0x22, // MDMCFG1 Modem configuration.
0xF8, // MDMCFG0 Modem configuration.
0x14, // CHANNR Channel number.
0x34, // DEVIATN Modem deviation setting (when FSK modulation is enabled).
0x56, // FREND1 Front end RX configuration.
0x10, // FREND0 Front end TX configuration.
0x20, // MCSM0 Main Radio Control State Machine configuration.
0x16, // FOCCFG Frequency Offset Compensation Configuration.
0x6C, // BSCFG Bit synchronization Configuration.
0x43, // AGCCTRL2 AGC control.
0x40, // AGCCTRL1 AGC control.
0x91, // AGCCTRL0 AGC control.
0xE9, // FSCAL3 Frequency synthesizer calibration.
0x2A, // FSCAL2 Frequency synthesizer calibration.
0x00, // FSCAL1 Frequency synthesizer calibration.
0x1F, // FSCAL0 Frequency synthesizer calibration.
0x59, // FSTEST Frequency synthesizer calibration.
0x81, // TEST2 Various test settings.
0x35, // TEST1 Various test settings.
0x09, // TEST0 Various test settings.
0x47, // FIFOTHR RXFIFO and TXFIFO thresholds.
0x29, // IOCFG2 GDO2 output pin configuration.
0x06, // IOCFG0 GDO0 output pin configuration. Refer to SmartRF® Studio User Manual for detailed pseudo register explanation.
0x04, // PKTCTRL1 Packet automation control.
0x04, // PKTCTRL0 Packet automation control.
0x00, // ADDR Device address.
0x1E // PKTLEN Packet length.

The Rx filter bandwith is set to 162.5kHz, because 101kHz does not work at all. Probably there is a problem on frequency shift between Rx and Tx. Unfortunately 26mhz quartz (10 ppm) are not the same in rx and tx.

Using these parameters LQI is mediocre (40-60) even in very low interference environment. 

I tried to increase Deviation and lab results are strange to me. Best results are:

DEVIATN    0x42        on Rx

DEVIATN    0x36       on Tx

In this case, LQI is very low (20-30) and RSSI is slightly better. If I use 0x35 or 0x36 both in Rx and TX the results are worse. Can you explain why? Can I expect that better RSSI and LQI in lab also means better performance in real environment? Any suggestions?

Thanks for your support.