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 EnOcean Register Settings

Other Parts Discussed in Thread: CC1101, CC1125, CC1200

Dear All,

 

I am currently struggeling with the right register settings to receive (and send in the next step) EnOcean radio telegrams.

The specification is 868.3MHz, 125kbps, ASK modulation.

 

Has anyone succesfully configured the CC1101 to receive EnOcean telegrams?

 

Every suggestion is welcome.

 

Best Regards,
Alex

 

 

  • Receiving EnOcean telegrams is challenging - mainly due to the very short (1 byte) preamble and SOF. For reception to work you need to use CC1101 in asynchronous serial mode and do data decision in the interfacing MCU.

    As a starting point use the 100 kbps, 325 kHz RX BW typical settings from SmartRF Studio.

    1) Change data rate to 125 kbps, modulation format to ASK/OOK and AGCCTRL2,1,0 to 0x46 00 91. Set CC1101 in asynchronous serial mode and monitor the serial data output pin

    2) Same as 1), but program the data rate to 250 kbps. AGCCTRL2,1,0 to 0x45 00 91. The idea is that a higher programmed data rate will reduce the jitter on the  serial data output pin

  • Hi Sir,

     

    thanks for the Information! Understood so far.

    I will test it tomorrow and will let you know if I had any success.

     

    Best Regards,

    Alex

  • Hello,

    does anybody had success regarding EnOcean on a CC1110?

    I tried different settings, but the best result was also not very good.

    I think one of my biggest problems is the sensitivity of the CC1110.

    The first bits are always '1', so there are no edges for about 200us.

    If the transmitting device is shielded, there are more edges (as there should be more).

    Do you have any helping information?


    Thank you very much for responding,

    best regards,

    Benjamin

  • I set "Sync Word" in Rx Packet Receive Advanced to "No preable/Sync"

    Then do Continuous RX, I get data, but don't know what it is?

    Base Frequency = 868.3Mhz

    Data Rate 125kps

    Deviation 59Khz

    RX filter BW 675Khz

    Modulation 2-FSK

    HTH

    Let me know if you get some success with data decode

  • Hello,


    thanks for the reply!


    The modulation settings is right with FSK?


    Best regards

    Benjamin

  • EnOcean Radio ver 1 used ASK

    EnOcean Radio ver 2 uses FSK

    See Attached

    www.cpmon.com/EnOcean/En.zip

  • Hello,

    i use a CC1125 for receiving EnOcean ASK Telegrams. I tried at first with 11 Bit SYNC Word, but it doesn't work (8 Bit Preamble + 3Bit SOF (the last bit i didn't used)) I received something but can't fit it to a EnOcean Message. After that i use the Transparent Mode and the Synchronous Mode, but there is so much noise.

    What can i do to improve the performance? Any Idea

    Thanks.

    Best regards

    Christian Roßberg

  • In newer products EnOcean uses 8 bits preamble and 4 bits of SOF. (12 bits in total) The bit duration is 8 us, which corresponds to a 125 kbps data rate. The CC1125 reguires 4 bits of preamble for AGC settling so the sync word is thus 12 - 4 = 8 bits. For this reason FIFO mode and synchronous serial mode cannot be used.

    You best bet is to use asynchronous serial mode.  Use carrier sense (CS) on one of the GPIO's as interrupt to the MCU to start sync search. Use the last 8 bits for sync word search (say).Not convinced this will give a good solution though......

    CC1200 is a better option than CC1125. We have tested CC1200 with these settings:

    static const registerSetting_t preferredSettings[] = {

      {CC120X_IOCFG2,         0x11},

      {CC120X_IOCFG0,         0x09},

      {CC120X_SYNC_CFG1,      0x87},

      {CC120X_SYNC_CFG0,      0x33},

      {CC120X_DEVIATION_M,    0x99},

      {CC120X_MODCFG_DEV_E,   0x1B},

      {CC120X_DCFILT_CFG,     0x54},

      {CC120X_PREAMBLE_CFG1,  0x04},

      {CC120X_PREAMBLE_CFG0,  0x98},

      {CC120X_IQIC,           0x00},

      {CC120X_CHAN_BW,        0x03},

      {CC120X_MDMCFG1,        0x82},

      {CC120X_MDMCFG0,        0x49},

      {CC120X_DRATE2,         0xA9},

      {CC120X_DRATE1,         0x99},

      {CC120X_DRATE0,         0x99},

      {CC120X_AGC_REF,        0x22},

      {CC120X_AGC_CS_THR,     0xF4},

      {CC120X_AGC_CFG3,       0x2B},

      {CC120X_AGC_CFG2,       0x20},

      {CC120X_AGC_CFG1,       0x55},

      {CC120X_AGC_CFG0,       0xC0},

      {CC120X_FIFO_CFG,       0x00},

      {CC120X_FS_CFG,         0x12},

      {CC120X_WOR_CFG1,       0x12},

      {CC120X_PKT_CFG2,       0x07},

      {CC120X_PKT_CFG1,       0x00},

      {CC120X_PKT_CFG0,       0x20},

      {CC120X_ASK_CFG,        0x0F},

      {CC120X_PKT_LEN,        0xFF},

      {CC120X_IF_MIX_CFG,     0x1C},

      {CC120X_FREQOFF_CFG,    0x00},

      {CC120X_TOC_CFG,        0x0C},

      {CC120X_MDMCFG2,        0x04},

      {CC120X_FREQ2,          0x56},

      {CC120X_FREQ1,          0xD4},

      {CC120X_FREQ0,          0x7A},

      {CC120X_FS_DIG1,        0x00},

      {CC120X_FS_DIG0,        0xAB},

      {CC120X_FS_CAL1,        0x40},

      {CC120X_FS_CAL0,        0x0E},

      {CC120X_FS_DIVTWO,      0x03},

      {CC120X_FS_DSM0,        0x33},

      {CC120X_FS_DVC0,        0x17},

      {CC120X_FS_PFD,         0x50},

      {CC120X_FS_PRE,         0x6E},

      {CC120X_FS_REG_DIV_CML, 0x14},

      {CC120X_FS_SPARE,       0xAC},

      {CC120X_FS_VCO0,        0xB5},

      {CC120X_IFAMP,          0x0D},

      {CC120X_XOSC5,          0x0E},

      {CC120X_XOSC1,          0x03},

      {CC120X_RNDGEN,         0x7F},

      {CC120X_FSCAL_CTRL,     0x01},

      {CC120X_SERIAL_STATUS,  0x08},

      {CC120X_XOSC_TEST1,     0x3C},

    };

        

  • Thanks, i will try it first with the CC1125.

    Best regards

  • I have a problem with the RSSI value. SmartRF Studio shows -80dBm, after i send a packet it show round about -40dBm, but never returned to -80dBm. For 125kbit/s we need a RX Filter Bandwith of 250kHz, i tried with a smaller RX Filter Bandwith, than it returns to a smaller value.

    How can i solve this problem of "non returning RSSI"?

    Thanks

  • Hello,

    i'm actually at this point:

    static const registerSetting_t preferredSettings[]=
    {
    {CC112X_IOCFG3, 0x11},
    {CC112X_IOCFG2, 0x09},
    {CC112X_SYNC_CFG1, 0x87},
    {CC112X_SYNC_CFG0, 0x33},
    {CC112X_DEVIATION_M, 0x40},
    {CC112X_MODCFG_DEV_E, 0x1B},
    {CC112X_DCFILT_CFG, 0x54},
    {CC112X_PREAMBLE_CFG1, 0x04},
    {CC112X_PREAMBLE_CFG0, 0x98},
    {CC112X_IQIC, 0x00},
    {CC112X_CHAN_BW, 0x01},
    {CC112X_MDMCFG1, 0x82},
    {CC112X_MDMCFG0, 0x41},
    {CC112X_DRATE2, 0xA9},
    {CC112X_DRATE1, 0x99},
    {CC112X_DRATE0, 0x9A},
    {CC112X_AGC_CS_THR, 0x25},
    {CC112X_AGC_CFG3, 0x2B},
    {CC112X_AGC_CFG1, 0x55},
    {CC112X_AGC_CFG0, 0xC0},
    {CC112X_FIFO_CFG, 0x00},
    {CC112X_SETTLING_CFG, 0x08},
    {CC112X_FS_CFG, 0x12},
    {CC112X_WOR_CFG1, 0x12},
    {CC112X_PKT_CFG2, 0x07},
    {CC112X_PKT_CFG1, 0x00},
    {CC112X_PKT_CFG0, 0x20},
    {CC112X_RFEND_CFG1, 0x3E},
    {CC112X_PA_CFG2, 0x25},
    {CC112X_PA_CFG1, 0x00},
    {CC112X_PA_CFG0, 0x7A},
    {CC112X_PKT_LEN, 0xFF},
    {CC112X_FREQOFF_CFG, 0x01},
    {CC112X_TOC_CFG, 0x0C},
    {CC112X_FREQ2, 0x56},
    {CC112X_FREQ1, 0xD4},
    {CC112X_FREQ0, 0x7A},
    {CC112X_FS_DIG1, 0x00},
    {CC112X_FS_DIG0, 0x5F},
    {CC112X_FS_CAL0, 0x0E},
    {CC112X_FS_DIVTWO, 0x03},
    {CC112X_FS_DSM0, 0x33},
    {CC112X_FS_DVC0, 0x17},
    {CC112X_FS_PFD, 0x50},
    {CC112X_FS_PRE, 0x6E},
    {CC112X_FS_REG_DIV_CML, 0x14},
    {CC112X_FS_SPARE, 0xAC},
    {CC112X_FS_VCO4, 0x1F},
    {CC112X_FS_VCO1, 0x9C},
    {CC112X_XOSC5, 0x0E},
    {CC112X_XOSC1, 0x07},
    {CC112X_PARTNUMBER, 0x58},
    {CC112X_PARTVERSION, 0x21},
    {CC112X_SERIAL_STATUS, 0x08},
    {CC112X_RX_STATUS, 0x10},
    {CC112X_XOSC_TEST1, 0x00},
    };

    i got an CS Interrupt, but i didn't get correct values. The values also unreproducible, so something is wrong.  The Signal goes low after some edges, can you help me?

    Best regards

  • Hello,
    I'm wondering if you got it working?
    I'm working on a transmitter/receiver(C1110) with the same settings for EnOcean devices, but I just recive random data. More important for me ist to send such telegramms.
    Would be nice to get any help...

    Werner