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.

CC2500: High data rate communications problems with 2-FSK

Part Number: CC2500
Other Parts Discussed in Thread: CC2550, TEST2

Good day,

I'm trying to communicate with 500k data rate with 2 FSK a 2550 and a 2500 RF chip. I have currently achieved a 300k data rate communication with 2 FSK but when I try to go higher I can not make it work. I have try a lot of settings but nothing, I saw a lot of questions in the forums with respect of this problem of high data rate with 2-FSK and I am wondering, is not possible to achieve 500k data rate with 2-FSK and that is why in RF studio the default setting is with 500k and MSK? For higher rate is better MSK than 2-FSK?

Hope you can help me.

P.S. If someone has achieved this can you please tell me your settings. Here are mine (300K with 2-FSK)

  • Sorry, I do not why the screen print do not appeared.

    These are my settings:

    # Address Config = No address check
    # Base Frequency = 2433.000000
    # CRC Autoflush = false
    # CRC Enable = true
    # Carrier Frequency = 2433.000000
    # Channel Number = 0
    # Channel Spacing = 199.951172
    # Data Format = Normal mode
    # Data Rate = 299.927
    # Deviation = 101.562500
    # Device Address = 0
    # Manchester Enable = false
    # Modulated = true
    # Modulation Format = 2-FSK
    # Preamble Count = 4
    # RX Filter BW = 406.250000
    # Sync Word Qualifier Mode = 30/32 sync word bits detected
    # TX Power = 0
    # Whitening = false
    //
    // Rf settings for CC2500
    //
    TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0,0x06);    //GDO0OUTPUT PIN CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0,0x05);  //PACKET AUTOMATION CONTROL
    TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1,0x0B);   //FREQUENCY SYNTHESIZER CONTROL
    TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2,0x5D);     //FREQUENCY CONTROL WORD, HIGH BYTE
    TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1,0x93);     //FREQUENCY CONTROL WORD, MIDDLE BYTE
    TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0,0xB1);     //FREQUENCY CONTROL WORD, LOW BYTE
    TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4,0x4D);   //MODEM CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3,0x7A);   //MODEM CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2,0x83);   //MODEM CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,0x60);   //MODEM DEVIATION SETTING
    TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0,0x18);     //MAIN RADIO CONTROL STATE MACHINE CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG,0x16);    //FREQUENCY OFFSET COMPENSATION CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2,0x43);  //AGC CONTROL
    TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3,0xEA);    //FREQUENCY SYNTHESIZER CALIBRATION
    TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1,0x00);    //FREQUENCY SYNTHESIZER CALIBRATION
    TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0,0x19);    //FREQUENCY SYNTHESIZER CALIBRATION
    TI_CC_SPIWriteReg(TI_CCxxx0_LQI,0x7F);       //DEMODULATOR ESTIMATE FOR LINK QUALITY
    TI_CC_SPIWriteReg(TI_CCxxx0_RSSI,0x80);      //RECEIVED SIGNAL STRENGTH INDICATION
    TI_CC_SPIWriteReg(TI_CCxxx0_MARCSTATE,0x01); //MAIN RADIO CONTROL STATE MACHINE STATE
    TI_CC_SPIWriteReg(TI_CCxxx0_VCO_VC_DAC,0x94);//CURRENT SETTING FROM PLL CALIBRATION MODULE

    For 2550

    Channel Spacing: 199.95 kHz

    Data Rate: 299.927 KBd

    Deviation: 101.56 KHz

    Xtal: 26 MHz

    //
    // Rf settings for CC2550
    //
    TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0,0x06);    //GDO0 OUTPUT PIN CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN,0x15);    //PACKET LENGTH
    TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0,0x04);  //PACKET AUTOMATION CONTROL
    TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2,0x5D);     //FREQUENCY CONTROL WORD, HIGH BYTE
    TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1,0x93);     //FREQUENCY CONTROL WORD, MIDDLE BYTE
    TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0,0xB1);     //FREQUENCY CONTROL WORD, LOW BYTE
    TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4,0x0D);   //MODULATOR CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3,0x7A);   //MODULATOR CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2,0x03);   //MODULATOR CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,0x60);   //MODULATOR DEVIATION SETTING
    TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0,0x18);     //MAIN RADIO CONTROL STATE MACHINE CONFIGURATION
    TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3,0xEA);    //FREQUENCY SYNTHESIZER CALIBRATION
    TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1,0x00);    //FREQUENCY SYNTHESIZER CALIBRATION
    TI_CC_SPIWriteReg(TI_CCxxx0_TEST2,0x00);     //VARIOUS TEST SETTINGS
    TI_CC_SPIWriteReg(TI_CCxxx0_TEST1,0x21);     //VARIOUS TEST SETTINGS
    TI_CC_SPIWriteReg(TI_CCxxx0_MARCSTATE,0x01); //MAIN RADIO CONTROL STATE MACHINE STATE
    TI_CC_SPIWriteReg(TI_CCxxx0_PKTSTATUS,0x02); //CURRENT GDOX STATUS AND PACKET STATUS
    TI_CC_SPIWriteReg(TI_CCxxx0_VCO_VC_DAC,0x94);//CURRENT SETTING FROM PLL CALIBRATION MODULE

  • Hi,

    As MSK is more spectral efficient, it is better to use for Higher data rates.

    Do you have a particular reason why you want to use 2-FSK for 500KBPS?

    As per the CC2500 data sheet, 2-FSK should work upto 500KBPs.

    You said, you tested up to 300KBPS, 2-FSK without any issue. Is this correct?

    You may try with the following setting is SmartRF Studio for 500KBPS.

    Set Rx Filter BW  = 812.5KHz

    Set Freq Deviation = 126.9KHz (125KHz)

    Set Data Rate = 499.878KBPS ( 500kbps)

    Please make sure that the Frequency offset is less than 10KHz from the Transmitter to the receiver. If it requires adjust the frequency.

    The minimum Receiver Bandwidth required = 2* Freq Dev + Symbol Rate + (4*Crystal ppm*Freq of Operation)

    If the above BW calculation becomes more than 812.5KHz then the Receiver may not receive the signal. That's why make sure the Freq offset in between the Transmitter and receiver at minimum. You can measure the tx freq by using CW-Unmodulated more (Set the Spectrum Analyzer Span to < 10KHz for better Freq resolution).

    Thanks,

    PM

  • Good day,

    Thank your for your response. I need to use 2-FSK due to a certification issue and I need the higher data rate for my application. The answer to the second questions is correct, I did achieved 300k with 2-FSK. I will start with the settings that you give me. I only have some doubt with the 10K Hz offset. when you say "If it requires adjust the frequency." you mean the Base frequency right? and for determine this offset I have to use the continuous RX and TX mode and in the continuous TX, I have turn on the "Frequency Sweep mode" then insert in the Delta Freq bar a value less than 10 k Hz, right or I have misunderstood? Finally, the way to observe that this offset is less than 10 kHz is by observing the RSSI offset with a value less than 10 or what parameter do I have to check in the Continuous RX mode?  

    I am sorry for the inconvenience, I am new with this type of communication.

    Hope you can help me.

    Regards.

  • Hi,

    Yes, if the Frequency offset is more in between the Transmitter and Receiver than adjust the Base Frequency.

    To determine the Freq offset in between the transmitter and receiver, you have to measure the Transmit Frequency on both Transmitter and Receiver by using a Spectrum Analyzer or Frequency Counter.

    For Tx frequency measurement you can use Continuous Tx - Unmodulated mode from SmartRF Studio.

    Connect your board ( Tx ) to Spectrum Analyzer ( Set center Freq to the Base Freq , span to 1MHz initially, Level to +10dBm), go to SmartRF Studio and set it to Continuous Tx - Unmodulated mode, select the Base frequency ( for example 2433MHz) and click Start button. If the board is transmitting then you can see the CW carrier on the Spectrum Analyzer. Adjust the Center frequency of the Spectrum Analyzer to bring the carrier to the center freq of spectrum analyzer. Then reduce the Span to 10KHz and measure the Freq of the carrier with Marker - Peak function. Note down the Tx Freq.

    Repeat the above with the Rx module. Yes, you put this is also in Continuous Tx - Unmodulated mode from SmartRF Studio and measure the Tx freq.

    If the Tx freq difference is less than 10KHz  in between the Tx and Rx  then it is OK otherwise  adjust the Base Freq of one of the device to match to the other device. Ideally the freq difference should be Zero.

    Thanks,

    PM

  • Hi,

    Did you make any progress?

    Thanks,

    PM

  • Sorry, for the late answer. Yes. I have a good progress with what you told me. Thank you very much.

    Sadly, I could not reach the highest because I do not have the equipment that you suggest me but I manage to get higher value.