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.

CC11xL/CC1101 as receiver for KEELOQ signals

Other Parts Discussed in Thread: CC1101, TEST2, CC1120, CC1121

We have tested and found the CC1101 suitable as a receiver for  KEELOQ OOK PWM modulated signals. This work is also applicable for CC11xL. Due to the large tolerance on the basic pulse element, asynchronous serial mode needs to be used. Data decision and bit and byte sync needs to be done in SW by the interfacing MCU. 

For our testing, actual keyfobs were used as transmitters, while the CC1101 DK was used with SmartRF Studio as receiver. The data rate was programmed to 3.8 kbps, RX filter bandwidth was set to 135 kHz (to handle potensial freq offset between transmitter and receiver)  and frequency used for the tesing was 433.92 MHz. The most important register settings are listed below, note the AGCCTRLx and the FSCTRL1 registers. The sensitivity for this setting is approximately -111 dBm.  

IOCFG2           0x0D
FIFOTHR          0x47
PKTCTRL0         0x32 (asynchronous mode)
FSCTRL1          0x06
FSCTRL0          0x00
FREQ2            0x10
FREQ1            0xB0
FREQ0            0x71
MDMCFG4          0xA7
MDMCFG3          0x32
MDMCFG2          0x30
MDMCFG1          0x22
MDMCFG0          0xF8
MCSM2            0x07
MCSM1            0x30
MCSM0            0x18
AGCCTRL2         0x04
AGCCTRL1         0x00
AGCCTRL0         0x92
FREND1           0xB6
FREND0           0x11
FSCAL3           0xE9
FSCAL2           0x2A
FSCAL1           0x00
FSCAL0           0x1F
TEST2            0x81
TEST1            0x35
TEST0            0x09

  • This has worked well for several customers to receive Keeloq, do you have something similar for transmitting Keeloq?

  • Thanks for your post!

    I working on similar task: trying to receive OOK PWM signal, manchester encoding from several types of existing equpment in async mode.
    But did not have success yet.

    Your post help me tune cc1101 and i see my signal now, but range is pretty bad, less than 10 meters.

    I would like to know - is there some application notes about tuning ASK/OOK PWM in async mode? DN022 i've already read.

    I try to findout info about keeloq and check you settings (to make same changes for my signal) and miss: keeloq typical BW is about 280 kHz, but you set 135. Datarate is about 1ksps, but you set 3.8.

    I can understand datarate increase (your already wrote about it - to decrease jitter). Also i understand AGCCTRLx settings.

    But totally miss why such BW is used and why your change FSCTRL1 settings (set different IF frequency).

    Thanks in advance.

  • The optimal IF freq depend on the RX filter bandwidth. Its been some time since I worked on this, but my understanding was that the freq offset the receiver must tolerate was +/-100kHz. The 135kHz RX bandwidth was set to handle this offset and tested to be sufficient.

  • Thanks for you reply, but i still miss why i have such small receive distance (less than 10 meters).

    I even find keeloq device and check and got same results - less that 10 meters of receive distance.

    How to improve that? I try to set wide bandwidth (200-300 kHz) and try to change AGCTRL2 (MAGN_TARGET value) and have no success.

    Do you have any idea how to improve sensivity and increase receive distance? I need at least 50 meters at open space...

  • If you only get 10 m its sounds like something is wrong. What HW do you use? What SW? What kind of antenna? What are your power table setting? What RSSI do you read?

  • Yes, it's seems to me, that i do something wrong, but i can done noob mistakes (because i just take this task and have small experience).

    We have existing hardware in our own automation systems. In most cases used uaa3220ts transiever. Radio is OOK (ASK) PWM signal in 433.92 with manchester encoding with about 1.5ksps data rate.

    I testing new hardware prototype, msp430 + cc1101 with helical antenna, which will be used in new remote.

    I've used you config (published in 1 post) and able to get signal in async mode from 5-7 (stable) meters. But i lost signal in 10+ meters. Trying to play (according to DN022) with AGCTRL0/2 and have no success in increasing range.

    May be you can suggest better config or what to change in your existing config to increase range (sensivity)?

  • Have you tried testing with our CC1101 EMs and SmartRF studio? Have you done any conducted measurements?

  • Nope, i did not have cc1101dk or EMs, only our proto hardware.

  • Btw, what actual range with real keyfobs you get?

    I find real keeloq keyfob and check your config and got same results - less than 10 meters.

    Problem in HW?

  • sounds like a HW problem yes. You might test some other smartrf studio settings to verify this, but I recommend that you try testing it with our HW first and that you also do some conducted measurements (If you do not have a SMA connector, disconnect the antenna and mount a semirigid cable). Further, have you tuned the antenna on your board?

  • Well, i try to get cc1101dk, but need reason for tops that this have sense and worth.

    Not really sure about HW, i've testing ready rf modules from trusted manufacturer, something like that: http://www.alibaba.com/product-gs/280374578/CC1101_433MHz_rf_module.html (not same but very similar).

    For sure, need to check with SMA and with semirigid cable too. Right now usual spiral antenna is used, which is used typically in our remotes.

    I miss - do you remember what range do you get with real keyfobs from 1 post?
    What's else i can try to play except bandwidth/datarate?

  • HI Charlotte
    I have been trying on and off for a number of years to get CC1101 to work as a receiver for OOK based signals and in particular Keeloq. No luck with range. I also get no signal at a few meters but the same hardware can transmit over 150 meters. I have products working with Keeloq transmit using the CC1101 with excellent range but cannot get a receiver to work. So sad as I have tried this a few times and have a unique opportunity that I cannot solve using the CC1101. Maybe the CC1120 or CC1121 with better sensitivity may work. It is almost as if the AGC does not respond fast enough for low power signals and the AGC does not kick in soon enough. If the sensitivity is increased then the signal is lost in the noise. Any ideas on this issue.
    Thanks
    Andrew
  • As a test to rule out hardware issues: Would you be able to test sensitivity using one of the standard settings in SmartRF Studio using (G)FSK?
  • I use the same hardware very successfully for GFSK and have tuned the antenna on a network analyzer. I will do more tests on OOK as I have a few more ideas to test. I was using RF studio to try different settings during my testing and cross referenced these to the meaning in the datasheet. Next step is to try this on your kit (433.92Mhz) first then port back to my hardware (403.55Mhz). Thanks for the suggestion.
  • have you checked the excel sheet found in this post: e2e.ti.com/.../375556

    - First, you can calculate the expected range for you conditions to see if the range is as expected or not.
    - If not, you will find a check list in the other tab how to find why the range is lower than expected.

    One of the important things to figure out is if the range is limited by the hardware or register settings.