Hi;
I am using msp430f5529 evaluation board and I had used cc1101em with the attached setting (everything is working fine with this setting). I decided to upgrade my system to cc1101-cc1190em for achieving an higher transmitting range by increasing the output power (and I try to use it with the attached new setting) but I unable to receive any data. I would glad to hear what may be the problem and what should I do for solving it.
My jumpers connection is:
vdd->HGM
GDO2->LNA_EN
GDO0->PA_EN
cc1101em setting:
#if TI_CC_RF_FREQ == 868 // 868 MHz // Product = CC1101 // Crystal accuracy = 40 ppm // X-tal frequency = 26 MHz // RF output power = 12 dBm // RX filterbandwidth = 58.035000000 kHz // Return state: Return to RX state upon leaving either TX or RX // Datarate = 2.39 kbps // Modulation = GFSK //Modem dev=5.157471kHz // Manchester enable = (0) Manchester disabled // RF Frequency = 868.000000 MHz // Channel spacing = 199.951172 kHz // Channel number = 0 // Optimization = Sensitivity // Sync mode = (3) 30/32 sync word bits detected // Format of RX/TX data = (0) Normal mode, use FIFOs for RX and TX // CRC operation = (1) CRC calculation in TX and CRC check in RX enabled // Forward Error Correction = (0) FEC disabled // Length configuration = (1) Variable length packets, packet length configured by the first received byte after sync word. // Packetlength = 255 // Preamble count = (2) 4 bytes // Append status = 1 // Address check = (1) No address check // FIFO autoflush = 0 // Device address = 0x01 // GDO0 signal selection = ( 6) Asserts when sync word has been sent / received, and de-asserts at the end of the packet // GDO2 signal selection = (11) Serial Clock void writeRFSettings(void) { // Write register settings TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2, 0x0B); // GDO2 output pin config. TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0, 0x06); // GDO0 output pin config. TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN, 0xFF); // Packet length. TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1, 0x05); // Packet automation control. TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0, 0x05); // Packet automation control. TI_CC_SPIWriteReg(TI_CCxxx0_ADDR, 0x01); // Device address. TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR, 0x00); // Channel number. TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1, 0x06); // Freq synthesizer control. TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0, 0x00); // Freq synthesizer control. TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2, 0x21); // Freq control word, high byte TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1, 0x62); // Freq control word, mid byte. TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0, 0x76); // Freq control word, low byte. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4, 0xF6); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3, 0x83); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2, 0x13); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1, 0x22); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0, 0xF8); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN, 0x15); // Modem dev TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1 , 0x3C); //MainRadio Cntrl State Machine TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0 , 0x18); //MainRadio Cntrl State Machine TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG, 0x16); // Freq Offset Compens. Config TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG, 0x6C); // Bit synchronization config. TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2, 0x03); // AGC control. TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1, 0x40); // AGC control. TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0, 0x91); // AGC control. TI_CC_SPIWriteReg(TI_CCxxx0_FREND1, 0x56); // Front end RX configuration. TI_CC_SPIWriteReg(TI_CCxxx0_FREND0, 0x10); // Front end RX configuration. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3, 0xE9); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2, 0x2A); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1, 0x00); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0, 0x1F); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST, 0x59); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_TEST2, 0x81); // Various test settings. TI_CC_SPIWriteReg(TI_CCxxx0_TEST1, 0x35); // Various test settings. TI_CC_SPIWriteReg(TI_CCxxx0_TEST0, 0x09); // Various test settings. } // PATABLE (12 dBm output power) extern char paTable[] = {0xC0}; extern char paTableLen = 1; #endif
The new setting for cc1101-cc1190em is:
#if TI_CC_RF_FREQ == 868 // 868 MHz // Crystal accuracy = 40 ppm // X-tal frequency = 26 MHz // RF output power = 18 dBm // RX filterbandwidth = 58.035000000 kHz // Return state: Return to RX state upon leaving either TX or RX // Datarate = 2.39 kbps // Modulation = GFSK //Modem dev=5.157471kHz // Manchester enable = (0) Manchester disabled // RF Frequency = 868.000000 MHz // Channel spacing = 199.951172 kHz // Channel number = 0 // Optimization = Sensitivity // Sync mode = (3) 30/32 sync word bits detected // Format of RX/TX data = (0) Normal mode, use FIFOs for RX and TX // CRC operation = (1) CRC calculation in TX and CRC check in RX enabled // Forward Error Correction = (0) FEC disabled // Length configuration = (1) Variable length packets, packet length configured by the first received byte after sync word. // Packetlength = 255 // Preamble count = (2) 4 bytes // Append status = 1 // Address check = (1) No address check // FIFO autoflush = 0 // Device address = 0x01 // GDO0 signal selection = ( 6) Asserts when sync word has been sent / received, and de-asserts at the end of the packet // GDO2 signal selection = (11) Serial Clock void writeRFSettings(void) { // Write register settings TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2, 0x0B); // GDO2 output pin config. TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0, 0x06); // GDO0 output pin config. TI_CC_SPIWriteReg(TI_CCxxx0_FIFOTHR, 0xC7); // 0xC7 FOR TX AND 0x47 FOR RX. TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN, 0xFF); // Packet length. TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1, 0x05); // Packet automation control. TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0, 0x05); // Packet automation control. TI_CC_SPIWriteReg(TI_CCxxx0_ADDR, 0x01); // Device address. TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR, 0x00); // Channel number. TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1, 0x06); // Freq synthesizer control. TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0, 0x00); // Freq synthesizer control. TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2, 0x21); // Freq control word, high byte TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1, 0x62); // Freq control word, mid byte. TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0, 0x76); // Freq control word, low byte. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4, 0xF6); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3, 0x83); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2, 0x13); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1, 0x22); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0, 0xF8); // Modem configuration. TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN, 0x15); // Modem dev TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1 , 0x3C); //MainRadio Cntrl State Machine TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0 , 0x18); //MainRadio Cntrl State Machine TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG, 0x16); // Freq Offset Compens. Config TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG, 0x6C); // Bit synchronization config. TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2, 0x03); // AGC control. TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1, 0x40); // AGC control. TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0, 0x91); // AGC control. TI_CC_SPIWriteReg(TI_CCxxx0_FREND1, 0x56); // Front end RX configuration. TI_CC_SPIWriteReg(TI_CCxxx0_FREND0, 0x10); // Front end RX configuration. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3, 0xE9); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2, 0x2A); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1, 0x00); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0, 0x1F); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST, 0x59); // Frequency synthesizer cal. TI_CC_SPIWriteReg(TI_CCxxx0_TEST2, 0x81); // Various test settings. TI_CC_SPIWriteReg(TI_CCxxx0_TEST1, 0x2D); // 0x2D for TX and 0x35 for RX TI_CC_SPIWriteReg(TI_CCxxx0_TEST0, 0x09); // Various test settings. } // PATABLE (18 dBm output power) extern char paTable[] = {0x27}; extern char paTableLen = 1; #endif