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.

Trouble with CC1110 communication

Other Parts Discussed in Thread: TEST2, CC1101

Hello,

I am currently working on a project with a CC1110F32, with theCC1110DK-MINI-868. I want to establish communication with sensors who are in my workspace.

The sensors operate at 868.3 MHz in ASK modulation at a rate of 125 kbit/s. The packets that are sent are of variable size. It has a preamble byte, 4 bits for synchronization, 4 bits for the end of frame, and a variable number of bytes for the data. Unfortunately, I can't use the system to add the preamble and synchronization bytes with the CC1110. Same as the CRC8 (for the data integrity) instead of CRC16. So I have to manually add these parts to match with my protocol.

In SmartRF, I disabled the features I don’t need (PRE/SYNC, CRC). The first test I did was with the section "Continuous RX", I watch the RSSI peaks of my sensors, but the result is random. But when I put the flow rate at 5 kbit/s, I can see all of my peak properly (about one peak every 6 sec).

Then, I tested the "Packet RX" section, but unfortunately I get no relevant information, I think it comes from the noise because I don’t use the PRE/SYNC detection. I tried reducing the sensitivity with AGCCTRL2 register (0x2D), instead of the noise, I get a lot of zeros, but I can see a few packets of data, but the values don’t match with my sensors.

Could you help me to find a solution? Does the CC1110 in ASK is compatible with 125 kbit/s? Maybe I forgot a parameter in a register but I don't know which.

Regards.

Packet :

| PRE | SOF | DATA  |  EOF |
|    1    |  1/2  |      X     |   1/2  |  Byte

Result on SmartRF Studio :

SmartRF - Continuous RX - 5 kBaud

SmartRF - Packet RX - 5 kBaud

SmartRF - Continuous RX - 125 kBaud

SmartRF - Packet RX - 125 kBaud

  • Hello.

    Today, I have new information. I have tested a lot of things but always unsuccessfull. I send you my new registers for my protocol, but I have found something when I analysed my sensors.

    I have made some research about the OOK/ASK modulation, and my sensors are only ASK. When it send a 0, it send a decrease amplitude, not an "empty frequency". So, if I understand correctly, I have to configure the PA_TABLE, but I don't know how.

    Could you help me for that? What I have to put in the registers to avoid noise and have a correct data?

    Regards.

    SYNC1 = 0x0A; // sync word, high byte

    SYNC0 = 0xA6; // sync word, low byte

    PKTCTRL0 = 0x01; // packet automation control

    FSCTRL1 = 0x06; // frequency synthesizer control

    FREQ2 = 0x21; // frequency control word, high byte

    FREQ1 = 0x65; // frequency control word, middle byte

    FREQ0 = 0x6A; // frequency control word, low byte

    MDMCFG4 = 0x9C; // modem configuration

    MDMCFG3 = 0x3B; // modem configuration

    MDMCFG2 = 0x30; // modem configuration

    MDMCFG1 = 0x02; // modem configuration

    MDMCFG0 = 0x93; // modem configuration

    MCSM0 = 0x18; // main radio control state machine configuration

    FOCCFG = 0x17; // frequency offset compensation configuration

    AGCCTRL2 = 0x07; // agc control

    AGCCTRL1 = 0x00; // agc control

    FREND0 = 0x11; // front end tx configuration

    FSCAL3 = 0xEA; // frequency synthesizer calibration

    FSCAL2 = 0x2A; // frequency synthesizer calibration

    FSCAL1 = 0x00; // frequency synthesizer calibration

    FSCAL0 = 0x1F; // frequency synthesizer calibration

    TEST2 = 0x88; // various test settings

    TEST1 = 0x35; // various test settings

    TEST0 = 0x09; // various test settings

    PA_TABLE1 = 0x50; // pa power setting 1 

  • Hello,

    Today I made a big step in my data issues. I have changed some configuration register, and now my received data are more like what I should have in theory.

    I have changed the channel spacing (because I made a mistake with my parameters), and I have modified the AGC register, more exactly the LNA gain. I wanted to change the PA_TABLE, but it for the transmission, but I don't care about that for now. I want to make a reception, so I "played" with the LNA gain and I found a good parameter.

    So, like I said, my received data is like my theorical data, but the preambule isn't recognized. I think the calibration is to low for an one byte preambule. How can I make it more faster? I think I have to change the FSCAL register, or perhaps BSCFG register. What do you think?

    Regards.

    My recevied data in "Packet RX" :          FE 69 E2 EE EE EA 15 E5 6A 2E 50

    My theorical data send by my sensor : AA 69 E2 EE EE EA 15 E5 6A 2E 64

    My new register :

    SYNC1 = 0xAA; // sync word, high byte

    SYNC0 = 0xA6; // sync word, low byte

    PKTLEN = 0xFE; // packet length

    PKTCTRL0 = 0x01; // packet automation control

    FSCTRL1 = 0x06; // frequency synthesizer control

    FREQ2 = 0x21; // frequency control word, high byte

    FREQ1 = 0x65; // frequency control word, middle byte

    FREQ0 = 0x6A; // frequency control word, low byte

    MDMCFG4 = 0x5C; // modem configuration

    MDMCFG3 = 0x3B; // modem configuration

    MDMCFG2 = 0x30; // modem configuration

    MDMCFG1 = 0x03; // modem configuration

    MDMCFG0 = 0x61; // modem configuration

    MCSM1 = 0x3F; // main radio control state machine configuration

    MCSM0 = 0x18; // main radio control state machine configuration

    FOCCFG = 0x17; // frequency offset compensation configuration

    AGCCTRL2 = 0x24; // agc control

    AGCCTRL1 = 0x00; // agc control

    FREND1 = 0xB6; // front end rx configuration

    FREND0 = 0x11; // front end tx configuration

    FSCAL3 = 0xEA; // frequency synthesizer calibration

    FSCAL2 = 0x2A; // frequency synthesizer calibration

    FSCAL1 = 0x00; // frequency synthesizer calibration

    FSCAL0 = 0x1F; // frequency synthesizer calibration

    TEST1 = 0x35; // various test settings

    TEST0 = 0x09; // various test settings

    PA_TABLE1 = 0x84; // pa power setting 1 

  • Hello William,

    If your system can not operate in the normal mode of operation with recommended preamble, sync pattern and hence  you don't want to use the built in packet engine of CC110 to insert/detect preamble and sync bytes then the preamble and sync needs to be handled in the SW.  Synchronous serial mode in CC1101 explains such operation and I think you can try that on CC1110 as well. Some registers used for this purpose on CC1101 are "reserved" on CC1110. You may want to look at DN119 ( http://www.ti.com/litv/pdf/swra316a ) which explains how to implement Asynchronous Serial mode on CC1110. For optimizing the registers in ASK see http://www.ti.com/litv/pdf/swra215e

    Regards,

    MRC.

  • Hello MRC,

    I have already optimized the ASK with the DN022, and I have made a few modification to get a better reception (less sensitivity, around -85 dBm).

    I have looked the DN119, and I have made the modification on SmartRF and on my code, but it no longer receives.

    Regards.

  • Hi,


    am I right, that your settings are for EnOcean devices?


    I'm working on that too, so I have some questions:

    Does your configuration works with the async serial mode or have you used the packet engine in any way?


    Thanks for any answer,

    best regards,

    Benjamin

  • Hello,
    I'm wondering if you got it working?
    I'm working on a transmitter/receiver 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