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