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.

CC1101: Wireless data communicatiuon issue

Part Number: CC1101
Other Parts Discussed in Thread: TEST2

Hello TI,

I am working on TI's CC1101 chipset for wireless communication. I have designed my own PCB for the chipset with all recommendations mentioned in datasheet. These devices are interfaced with STM32F3 series micro controller.

The CC1101 is configured with Smart RF studio with below settings.

static const struct sCC1101 gCC1101Settings = {
    0x2E,  // IOCFG2              GDO2 Output Pin Configuration
    0x2E,  // IOCFG1              GDO1 Output Pin Configuration
    0x06,  // IOCFG0              GDO0 Output Pin Configuration
    0x47,  // FIFOTHR             RX FIFO and TX FIFO Thresholds
    0x7A,  // SYNC1               Sync Word, High Byte
    0x0E,  // SYNC0               Sync Word, Low Byte
    0x14,  // PKTLEN              Packet Length
    0x04,  // PKTCTRL1            Packet Automation Control
    0x05,  // PKTCTRL0            Packet Automation Control
    0x00,  // ADDR                Device Address
    0x00,  // CHANNR              Channel Number
    0x06,  // 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
    0xF8,  // MDMCFG3             Modem Configuration
    0x46,  // MDMCFG2             Modem Configuration
    0x22,  // MDMCFG1             Modem Configuration
    0xF8,  // MDMCFG0             Modem Configuration
    0x40,  // DEVIATN             Modem Deviation Setting
    0x07,  // MCSM2               Main Radio Control State Machine Configuration
    0x30,  // MCSM1               Main Radio Control State Machine Configuration
    0x18,  // MCSM0               Main Radio Control State Machine Configuration
    0x16,  // FOCCFG              Frequency Offset Compensation Configuration
    0x6C,  // BSCFG               Bit Synchronization Configuration
    0x43,  // AGCCTRL2            AGC Control
    0x49,  // AGCCTRL1            AGC Control
    0x91,  // AGCCTRL0            AGC Control
    0x87,  // WOREVT1             High Byte Event0 Timeout
    0x6B,  // WOREVT0             Low Byte Event0 Timeout
    0xFB,  // WORCTRL             Wake On Radio Control
    0x56,  // FREND1              Front End RX Configuration
    0x10,  // FREND0              Front End TX Configuration
    0xE9,  // FSCAL3              Frequency Synthesizer Calibration
    0x2A,  // FSCAL2              Frequency Synthesizer Calibration
    0x00,  // FSCAL1              Frequency Synthesizer Calibration
    0x1F,  // FSCAL0              Frequency Synthesizer Calibration
    0x41,  // RCCTRL1             RC Oscillator Configuration
    0x00,  // RCCTRL0             RC Oscillator Configuration
    0x59,  // FSTEST              Frequency Synthesizer Calibration Control
    0x7F,  // PTEST               Production Test
    0x3F,  // AGCTEST             AGC Test
    0x81,  // TEST2               Various Test Settings
    0x35,  // TEST1               Various Test Settings
    0x09,  // TEST0               Various Test Settings
};

I am facing issue on receiver side that some garbage data is continuously received even if nothing is sent from other device.

Can you please give me suggestion where it is going wrong?

Thanks!

  • You will be able to find a 16 bit sync easy in noise. Have you checked that the CS threshold is set high enough?

    Use a 32 bit sync if possible.
  • Thank you for your suggestion.

    In settings pasted above the relative carrier sense has been disabled. Where as the absolute carrier sense is 7 dB below MAGN_TARGET setting which is set to default value of 33dB.
    So the carrier sense threshold is 27dB.

    I have verified with 32 bit sync word setting. With that setting nothing is getting received. Where as I am able to see on spectrum analyzer, that data is being sent from other device.
  • Thank you for your suggestion.

    In settings pasted above the relative carrier sense has been disabled. Where as the absolute carrier sense is 7 dB below MAGN_TARGET setting which is set to default value of 33dB.
    So the carrier sense threshold is 27dB.

    I have verified with 32 bit sync word setting. With that setting nothing is getting received. Where as I am able to see on spectrum analyzer, that data is being sent from other device.
  • Ok, have you checked that you actually send a 32 bit sync word when you test?

    What is the reason you selected the sync word you are using?
  • Whenever packet is sent, I am monitoring GDO0 pin. The GDO0 gets assert and de-assert. With that only I am assuming that the data is sent. Also I am monitoring it over spectrum analyzer but not sure from the waveform whether the exactly the sync word has been sent or not.

    Is there any way that I shall try to see if it is sent or not?

    I just randomly chose that sync word, there is no any specific reason for it.

    Thanks!
  • See as one example, e2e.ti.com/.../313209 on how to select a good sync word.

    When you test 32 bit sync, is the only thing you have done to set MDMCFG2.SYNC_MODE on both the TX and RX side? Have you also tried MDMCFG2.SYNC_MODE = 3?
  • Thank you for reply!

    I tried with sync word 0xD391 and both combination of MDMCFG2.SYNC_MODE = 3 and MDMCFG2.SYNC_MODE = 7. With both setting some data is being received but it is garbage. Also the garbage data appears when I send some data from other device 3 to 4 times.