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.

Issues with the communication of a CC1101+CC1190 and a CC1110

Other Parts Discussed in Thread: CC1101, CC1190

Hello,


I don't manage to make two boards to communicate. One of the boards is equipped with a CC1101 and a CC1190 and the other chip is equipped with a CC1110 only. Does somebody managed to make a CC1101+CC1190 communicate with a CC1110 ?

Before the board with the CC1101+CC1190 has been manufactured, I have tested the system with the evaluation board CC1101EMK868-915 and the same chip equipped with a CC1110 and it worked great.

I didn't change any settings since the first test besides paTable[0] (0xC0 to 0x54) and the only change in my software is that I drive the CC1190 control pin (HGM, PA_EN and LNA_EN), HGM and LNA_En by my MCU and PA_EN by the CC1101.

For the design of the CC1101+CC1190 part of my chip I have used the electronics schematics CC1101CC1190EMK868 (swrr045). I put a 26MHz crystal with the CC1101.

The settings of the CC1101 are :

const uint8_t paTable[8] = {0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/**
 * CC1101 configuration registers 868.3 MHz
 */
#define SMARTRF_SETTING_IOCFG2           0x1B
#define SMARTRF_SETTING_IOCFG1           0x2E
#define SMARTRF_SETTING_IOCFG0           0x06

#define SMARTRF_SETTING_FIFOTHR          0x08

#define SMARTRF_SETTING_SYNC1            0xD3
#define SMARTRF_SETTING_SYNC0            0x91
#define SMARTRF_SETTING_PKTLEN           0x1F
#define SMARTRF_SETTING_PKTCTRL1         0x0C
#define SMARTRF_SETTING_PKTCTRL0         0x45
#define SMARTRF_SETTING_ADDR             0x00
#define SMARTRF_SETTING_CHANNR           0x00
#define SMARTRF_SETTING_FSCTRL1          0x06
#define SMARTRF_SETTING_FSCTRL0          0x00

// Carrier frequency = 868.3 MHz
#define CC1101_DEFVAL_FREQ2_868  		 0x21        // Frequency Control Word, High Byte
#define CC1101_DEFVAL_FREQ1_868  		 0x65        // Frequency Control Word, Middle Byte
#define CC1101_DEFVAL_FREQ0_868  		 0x6A       // Frequency Control Word, Low Byte

#define SMARTRF_SETTING_MDMCFG4          0xF5
#define SMARTRF_SETTING_MDMCFG3          0x83
#define SMARTRF_SETTING_MDMCFG2          0x13
#define SMARTRF_SETTING_MDMCFG1          0x22
#define SMARTRF_SETTING_MDMCFG0          0xF8

#define SMARTRF_SETTING_DEVIATN          0x15

#define SMARTRF_SETTING_MCSM2            0x07
#define SMARTRF_SETTING_MCSM1            0x30
#define SMARTRF_SETTING_MCSM0            0x18

#define SMARTRF_SETTING_FOCCFG           0x17
#define SMARTRF_SETTING_BSCFG            0x6C

#define SMARTRF_SETTING_AGCCTRL2         0x03
#define SMARTRF_SETTING_AGCCTRL1         0x40
#define SMARTRF_SETTING_AGCCTRL0         0x91

#define SMARTRF_SETTING_WOREVT1          0x87
#define SMARTRF_SETTING_WOREVT0          0x6B
#define SMARTRF_SETTING_WORCTRL          0xFB

#define SMARTRF_SETTING_FREND1           0x56
#define SMARTRF_SETTING_FREND0           0x10

#define SMARTRF_SETTING_FSCAL3           0xE9
#define SMARTRF_SETTING_FSCAL2           0x2A
#define SMARTRF_SETTING_FSCAL1           0x00
#define SMARTRF_SETTING_FSCAL0           0x1F

#define SMARTRF_SETTING_RCCTRL1          0x41
#define SMARTRF_SETTING_RCCTRL0          0x00
#define SMARTRF_SETTING_FSTEST           0x59
#define SMARTRF_SETTING_PTEST            0x7F
#define SMARTRF_SETTING_AGCTEST          0x3F

#define SMARTRF_SETTING_TEST2            0x88
#define SMARTRF_SETTING_TEST1            0x31	
#define SMARTRF_SETTING_TEST0            0x09

#define SMARTRF_SETTING_PARTNUM          0x00
#define SMARTRF_SETTING_VERSION          0x04
#define SMARTRF_SETTING_FREQEST          0x00
#define SMARTRF_SETTING_LQI              0x00
#define SMARTRF_SETTING_RSSI             0x00
#define SMARTRF_SETTING_MARCSTATE        0x00
#define SMARTRF_SETTING_WORTIME1         0x00
#define SMARTRF_SETTING_WORTIME0         0x00
#define SMARTRF_SETTING_PKTSTATUS        0x00
#define SMARTRF_SETTING_VCO_VC_DAC       0x00
#define SMARTRF_SETTING_TXBYTES          0x00
#define SMARTRF_SETTING_RXBYTES          0x00
#define SMARTRF_SETTING_RCCTRL1_STATUS   0x00
#define SMARTRF_SETTING_RCCTRL0_STATUS   0x00

The settings of the CC1110 are :

#define SMARTRF_SETTING_SYNC1		0xD3
#define SMARTRF_SETTING_SYNC0		0x91
#define SMARTRF_SETTING_PKTLEN		0x17
#define SMARTRF_SETTING_PKTCTRL1	0x04
#define SMARTRF_SETTING_PKTCTRL0	0x45
#define SMARTRF_SETTING_ADDR		0x00
#define SMARTRF_SETTING_CHANNR		0x00
#define SMARTRF_SETTING_FSCTRL1		0x06
#define SMARTRF_SETTING_FSCTRL0		0x00
#define SMARTRF_SETTING_FREQ2		0x21
#define SMARTRF_SETTING_FREQ1		0x65
#define SMARTRF_SETTING_FREQ0		0x6A
#define SMARTRF_SETTING_MDMCFG4		0xF5
#define SMARTRF_SETTING_MDMCFG3		0x83
#define SMARTRF_SETTING_MDMCFG2		0x13
#define SMARTRF_SETTING_MDMCFG1		0x22
#define SMARTRF_SETTING_MDMCFG0		0xF8
#define SMARTRF_SETTING_DEVIATN		0x15
#define SMARTRF_SETTING_MCMSM2		0x07
#define SMARTRF_SETTING_MCMSM1		0x30
#define SMARTRF_SETTING_MCMSM0		0x18
#define SMARTRF_SETTING_FOCCFG		0x17
#define SMARTRF_SETTING_BSCFG		0x6C
#define SMARTRF_SETTING_AGCCTRL2	0x03
#define SMARTRF_SETTING_AGCCTRL1	0x40
#define SMARTRF_SETTING_AGCCTRL0	0x91
#define SMARTRF_SETTING_FREND1		0x56
#define SMARTRF_SETTING_FREND0		0x10
#define SMARTRF_SETTING_FSCAL3		0xE9
#define SMARTRF_SETTING_FSCAL2		0x2A
#define SMARTRF_SETTING_FSCAL1		0x00
#define SMARTRF_SETTING_FSCAL0		0x1F
#define SMARTRF_SETTING_TEST2		0x88
#define SMARTRF_SETTING_TEST1		0x31
#define SMARTRF_SETTING_TEST0		0x09
#define SMARTRF_SETTING_PA_TABLE7	0x00
#define SMARTRF_SETTING_PA_TABLE6	0x00
#define SMARTRF_SETTING_PA_TABLE5	0x00
#define SMARTRF_SETTING_PA_TABLE4	0x00
#define SMARTRF_SETTING_PA_TABLE3	0x00
#define SMARTRF_SETTING_PA_TABLE2	0x00
#define SMARTRF_SETTING_PA_TABLE1	0x00
#define SMARTRF_SETTING_PA_TABLE0	0xC2

Thank you in advance for your answer.

Regards,

Malo

  • - Which distance do you have between the Rx and Tx side? Note that CC1101/ CC1110 saturate on high input levels.
    - Why are you using 868.3 MHz? In this band the output power is limited to 25 mW in Europa.
    - Have you checked that you have set the correct frequency word acording to your xtal values.
  • - I have approximately 1 meter between the Rx and the Tx side.
    - I am using 868.3MHz because it is the default value for the cc1110 according to SmartRF Studio 7 in the 868MHz band.
    - I defined the values of the frequency word (CC1101_DEFVAL_FREQ2_868, CC1101_DEFVAL_FREQ1_868, CC1101_DEFVAL_FREQ0_868) according to what SmartRF Studio 7 suggests with a 26MHz crystal.
  • First try with larger distance between the Tx and Rx. Or remove the antenna on one or both sides. If you are going to use max output power, use 869.525 MHz, see page 29 in www.etsi.org/.../en_30022001v020401o.pdf
  • I tried with a larger distance (1 to 10 meters) with antennas on one or both sides or without antenna in 868.3MHz. Then I made the same test with in the 869.525Mhz band by changing the 3 registers SMARTRF_SETTING_FREQX of the CC1101 and CC1110.

    I still have not managed to establish a communication.

    Thank you for your answers.

  • Hello,

    In my first post, I said that for the design of my board, I have used the electronics schematics CC1101CC1190EMK868 (swrr045) but I only use the schematics and I didn't looked at the layout for the components position. Is the components position critical (components connect to RF pins of the CC1190) ?

    Thank you for your answers.

    Malo

  • Please post schematic and layout. If you want to do so send me a friend request to be able to send the data private.
  • Hello,

    I manage to make my system works. The problems were :

    • The Quartz accuracy which wasn't good enough to work with the bandwith of 58kHz.
    • The CC1101 didn't drive correctly The CC1190 input PA_EN even if I configured the IOCFG2 register at 0x1B. In order to make it work, I connect the PA_EN to one of my GPIO MCU.

    I don't know why the PA_EN isn't working when it is driven by the GDO2 of the CC1101.

    Thanks TER for your help.

    Regards,

    Malo