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.

4-FSK and CC1110

Other Parts Discussed in Thread: CC1101, TEST2

Hello,

I've a problem on setting CC1110 with 4FSK modulation.  The device works fine with 500kbps MSK, but I don't know how to set register to work with 4FSK at 600kbps. The frequency is 433MHz.

500kbps MSK registers setting are:

  PKTCTRL1 = 0x04;          // No address check. Append status bytes.
  PKTCTRL0 = 0x45;          // Variable packet length. Use CRC. Enable whitening
  PKTLEN = 0xFF;               // Maximum packet length (255 bytes)

  FREQ2 = 0x10;   // Frequency control word, high byte.
  FREQ1 = 0xA7;   // Frequency control word, middle byte.
  FREQ0 = 0x62;   // Frequency control word, low byte.

  // Filter BW, data rate.
  MDMCFG4 = 0x0E;           // Data Rate = 500 kbps
  MDMCFG3 = 0x3B;           // Rx filter bandwidth = 812.5 kHz

  // IF frequency
  FSCTRL1 = 0x10;           // IF Frequency: 406.25 kHz
  FSCTRL0 = 0x00;

  // Modulation format, detection level
  MDMCFG2 = 0x73;           // 30/32 bits sync word detection. MSK modulation.
  MDMCFG1 = 0x43;           // 8 byte preamble. No FEC.
  MDMCFG0 = 0x3B;           // Channel spacing: 250 kHz

  // Deviation setting
  DEVIATN = 0x00;

MCSM2 = 0x07;

MCSM1 = 0x30;             // RXOFF_MOODE: Idle; TXOFF_MODE: Idle

MCSM0 = 0x34;             // Automatic FS calibration Every 4th time when going from RX or TX to IDLE, Close_in RX 0dB attenuation

  // Frequency offset compensation configuration
  FOCCFG = 0x1D;

  // Bit synchronization
  BSCFG = 0x1C;

  AGCCTRL2 = 0xC7;
  AGCCTRL1 = 0x00;
  AGCCTRL0 = 0xB0;
  FREND1 = 0xB6;
  FREND0 = 0x10;
  FSCAL3 = 0xEA;
  FSCAL2 = 0x2A;
  FSCAL1 = 0x00;
  FSCAL0 = 0x1F;


  PA_TABLE0 = 0x60;         // Output power: 0 dBm

I try to change the following register:

    // Filter BW, data rate.
  MDMCFG4 = 0x1D;           // Data Rate = 300 kbps
  MDMCFG3 = 0x7A;           // Rx filter bandwidth = 650 kHz

  FSCTRL1 = 0x06;        
  FSCTRL0 = 0x00;

  // Deviation setting
  DEVIATN = 0x71;           // Deviation 228.515625 KHz

but the I cannot receive.

Can the CC1110 works with 4fsk modulation? Can SmartRF Studio generates the optimum register setting for CC1110 4fsk?

Thank you

  • Design note DN036 gives the register settings.  See the appendix.

    Note also that for 600 kbps datar rate, 4-FSK you need to enter 300 kBaud in SmartRF Studio.

     

    You can generate the settings in Studio as follows:

    a) Start with 500 kBaud, MSK preferred settings

    b) Change Baud rate to 300 kBaud, modulation format to 4-FSK, frequency deviation to 228 kHz

    DN036 CC1101+CC1190 600 kbps Data Rate +19 dBm Transmit Power without FHSS in 902-928 MHz Frequency Band.pdf
  • Thank you Sverre,

    but in Smart RF studio for CC1110 there isn't 4-fsk modulation.

    I follow the DN036, and also I use the register setting value generated from Smart RF Studio for CC1101.

    The register that have to be changed from 500kbps MSK to 600kbps 4FSK seem to be:

    MDMCFG4 = 0x0D;           // Data Rate = 300 kbps
    MDMCFG3 = 0x7A;            // Rx filter bandwidth = 650 kHz
    FSCTRL1 = 0x0e;           // IF Frequency: 406.25 kHz
    FSCTRL0 = 0x00;
    MDMCFG2 = 0x43;           // 30/32 bits sync word detection. 4-FSK modulation.
    MDMCFG1 = 0x42;          
    MDMCFG0 = 0xf8;          
    DEVIATN = 0x71;           // Deviation 228.515625 KHz

    On the receiver side, I have a only CRC Error.

    Where is the error? Thank you

  • Hi Sverre,

    I still haven't solved the problem. Is there a difference in packet struct changing the modulation format from MSK (500kbps) and 4FSK (600kbps)?

    With 4fsk I have only CRC error on RX site.

    Thank you

  • Answer is long, long overdue. 

    Just realized that the register mapping is different for CC1101 and CC1110 for some of the non-documented settings.  

    DN036 "Register settings used are given in the appendix. It is recommended to increase the CC1101 loop filter BW when operating at 600 kbps, 4-FSK. This is achieved by setting FIFOTHR[7] = 1 and TEST2[1] = 1." FIFOTHR does not exist on CC1110. For CC1110 the following is correct: MCSM0[3] = 1 and TEST2[1] = 1

  • I would like to follow up on this post from half a decade earlier.. 

    I am trying to get the highest data rate possible out of the CC1101 at 916 Mhz, and I need to maintain this transmission for about 5-8 hours if possible.

    I followed the procedure prescribed in smartRF studio and I get 100% packet error rate. I am using two cc1101s on the smartRF boards with the following register settings that were yielded by the above process.

     Sync word qualifier mode = 30/32 sync word bits detected 
     CRC autoflush = false 
     Channel spacing = 199.951172 
     Data format = Normal mode 
     Data rate = 299.927 
     RX filter BW = 812.500000 
     PA ramping = false 
     Preamble count = 8 
     Address config = No address check 
     Whitening = false 
     Carrier frequency = 867.999939 
     Device address = 0 
     TX power = 0 
     Manchester enable = false 
     CRC enable = true 
     Deviation = 228.515625 
     Modulation format = 4-FSK 
     Base frequency = 867.999939 
     Modulated = true 
     Channel number = 0 
    IOCFG2        29
    IOCFG1        2E
    IOCFG0        06
    FIFOTHR       87
    SYNC1         D3
    SYNC0         91
    PKTLEN        FF
    PKTCTRL1      04
    PKTCTRL0      05
    ADDR          00
    CHANNR        00
    FSCTRL1       0E
    FSCTRL0       00
    FREQ2         21
    FREQ1         62
    FREQ0         76
    MDMCFG4       0D
    MDMCFG3       7A
    MDMCFG2       43
    MDMCFG1       42
    MDMCFG0       F8
    DEVIATN       71
    MCSM2         07
    MCSM1         30
    MCSM0         18
    FOCCFG        1D
    BSCFG         1C
    AGCCTRL2      C7
    AGCCTRL1      00
    AGCCTRL0      B0
    WOREVT1       87
    WOREVT0       6B
    WORCTRL       F8
    FREND1        B6
    FREND0        10
    FSCAL3        EA
    FSCAL2        2A
    FSCAL1        00
    FSCAL0        1F
    RCCTRL1       41
    RCCTRL0       00
    FSTEST        59
    PTEST         7F
    AGCTEST       3F
    TEST2         88
    TEST1         31
    TEST0         09
    PARTNUM       00
    VERSION       04
    FREQEST       00
    LQI           00
    RSSI          80
    MARCSTATE     01
    WORTIME1      00
    WORTIME0      00
    PKTSTATUS     00
    VCO_VC_DAC    94
    TXBYTES       00
    RXBYTES       00
    RCCTRL1_STATUS 00
    RCCTRL0_STATUS 00


    Any advice would be greatly appreciated!