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: weak signal range...

Part Number: CC1101

Hello,

I'm currently evaluating the feasibility to integrate the CC1101 as RF solution for my product design. 

Unfortunately TI evaluation kit is not available from TI site and others for weeks. And I'm doing my evaluation form an 868MHz amazon hardware ( https://www.amazon.com.be/dp/B084BSMCQG?ref_=pe_43847721_708903971_E_301_dt_1)

Everything is going well with operation of the CC1101. And can make a siple ping pong message between two modules.  The only thing that is still wrong is my range that is ridiculous.
So far I have a range about 40m LOS... Testing in the field next to my house, free obstacles between emitter and receiver, tested at 1.5m heigth. 
I tried various configuration proposed by SmartRF Sutdio, but none of them sounds to bring a solution. 
Having doubt about the HW I'm using I also tried kit from aliexpress. One 868MHz and a 433MHz.... (see here) but results are also similar... 
So finally I'm getting lost... 

Here it is the CC1101 configuration I used (which is mostly based on the SmartRF proposition exemple for 100kbs). 

    write_register_c(0x02, 0x06);   // IOCFG0 - GDO0 Configuration - Enable RX after packet reception

    write_register_c(0x03, 0x07);   // FIFOTHR  
    write_register_c(0x04, 0xD3);   // SYNC WORD to "6666"
    write_register_c(0x05, 0x93);   // SYNC WORD to "6666"


    write_register_c(0x06, 0xFF);   // PKT LENGTH

    write_register_c(0x07, 0x0C);   // PKTCTRL1 - Status Bytes - CRC autoflush
    write_register_c(0x08, 0x06);   // PKTCTRL0 - Packet automation Control - Whitening data Off, Enable CRC, infinite Packet length mode

    write_register_c(0x0B, 0x08);   // FSCTRL1 - Frequency Synthesizer Control - For 26MHz XTAL base - Value from smartRF 868MHz - 100kBaude
                                    

    write_register_c(0x0D, 0x21);   // FREQ2 - Frequency Control WORD
    write_register_c(0x0E, 0x62);   // FREQ1 - Set frequency Carrier to 868MHz - Based on 26MHz XTAL
    write_register_c(0x0F, 0x76);   // FREQ0 - 

    write_register_c(0x10, 0x5B);   // MDMCGG4 - Modem configuration - Channel Bandwidth configuration to  325 kHz -- Bandwidth = 2 * (Modulation Deviation + Data Rate)
    write_register_c(0x11, 0xF8);   // MDMCFG3 - Modem configuration - Data rate to 100 kBaud
    write_register_c(0x12, 0x13);   // MDMCFG2 - Modem configuration - GFSK Modulation, SYNCWORD 30/32 bits
    write_register_c(0x13, 0x22);   // MDMCFG1 - Modem configuration - No FEC, 4 preamble bytes
    
    write_register_c(0x15, 0x47);   // DEVIATN - Modem deviation setting (default)
        
    write_register_c(0x17, 0x30);   // MCSM1 -  Default

    write_register_c(0x18, 0x18);   // MCSM0 - Main Radio Control State Machine Configuration    
                                            
    write_register_c(0x19, 0x1D);   // FICCFG - Frequency Offset Compensation Configuration
    
    write_register_c(0x1A, 0x1C);   // BSCFG - Bit Synchronization Configuration

    write_register_c(0x1B, 0xC7);   // AGCCTRL2 - AGC control
    write_register_c(0x1C, 0x00);   // AGCCTRL1 - AGC control   
    write_register_c(0x1D, 0xB2);   // AGCCTRL0 - AGC Control
    
    write_register_c(0x20, 0xFB);   // WORCTRL - Wake on radio control
        
    write_register_c(0x21, 0xB6);   // FREND1 - Front end Rx configuration
    write_register_c(0x22, 0x10);   // FREND0 -Front end Tx configuration  (default) 
                                    // PA table index 0 pointed


    write_register_c(0x23, 0xEA);   // FSCAL3 Frequency synthesizer calibration
    write_register_c(0x24, 0x2A);   // FSCAL2
    write_register_c(0x25, 0x00);   // FSCAL1
    write_register_c(0x26, 0x1F);   // FSCAL0

    write_register_c(0x2C, 0x88);   // TEST 2 (default) 
    write_register_c(0x2D, 0x31);   // TEST 1 (default)
    write_register_c(0x2E, 0x09);   // TEST 0 (default)

I could find another post on E2E where that people sounds to have exactly the same issue as I'm facing: here

At this stage I'm wandering if I'm doing something wrong on the CC1101 operation or if this is just the hardware I'm using that bad (that would be strange to have 3 source that are bad)...
Any suggestion? 

Best regards, 

  • Hi,

    Have you checked the conducted performance of these boards? It is recommneded to first establish that the conducted performance is working as expected before moving to range testing.

    Please see the following App Notes to help with this:

    Regards,

    Zack

  • What is not clear with the module you are using is under which conditions the antenna has been tuned. The ground plane is very small meaning that connecting (ground) wires to the board increase the ground plane. I would buy some wipe antennas and use these instead of the coil that comes with the kit.

  • Thank you ZAC for your answer. 

    That's where I'm struggling today. I have VNA for matching antenna... 
    But for Rx and Tx sensitivity & power measurement I don't have a generator or spectrum analyser. 
    And since TI EV boards are still not available ... I don't' have any other reliable source or receiver to compare with. 
    Might you have other 3rd party evaluation board for CC11XX to refer me? 

    Thanks 

  • Thank you TheGhostOf,

    That's a fair point. 
    I'll make my chance with whip anthennas... 

    BTW question regarding my final design. 
    This one will not expect to have PCB (then grounding plane) larger than this. But my product will have the chance to have more room aside the PCB... Could using dipole antennas with simply two wires 1/4lambda directly connected to the CC1101 differential output (without any ballun) be a good and cost effective solution? 

    Best regards, 

  • No, you will not be able to get the required matching/ impedance, see https://www.ti.com/lit/pdf/swra168 for the requirements. 

  • Ok. 
    So you mean I can keep dipole solution (then one of dipole to the GND) but with the balun for adapting impedance? 
    Or dipole will not be a solution even with balun. 

    The doc swra168 is well done but no mention for dipole antennas. 

  • Hi,

    There are low-cost spectrum analysers available for basic Sub-1 GHz output power measurements - it is quite important to establish that the conducted performance is as expected here.

    You will need both the balun and the impedance matching/filtering network in order to achieve the optimum impedance required and to pass regulatory requirements for spurious emissions, unfortunately.

    Regards,

    Zack