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.

CC2500 output impedance and range

Other Parts Discussed in Thread: CC2500, CC2591, SIMPLICITI, CC2590, MSP430F169, TEST2

Hi all,

i am reading app note AN068 "Adapting TI LPRF Reference Design for Layer Stacking" and i don't understand

why the load value of balun Zout is 20 Ohm.

Furthermore, based on your experience, is it possible to achieve 500 meters range (open field) with 2.4 GHz carrier, 1 dBm output power, at 10 kBaud?

Thank you in advance for your replies.

 

Best regards

  • Oscar,

    A balun output can be any impedance.  In this example I chose this value so the impedance change from the radio to the load (50 ohms)  is not done in one step.   Some designers choose not to use a filter and therefore need the impedance at the balun output to be 50 ohms.  This makes the discrete component values smaller.   At these frequencies and tolerance of the components it is better to have larger values. 

    Also from a modeling circuit analysis you transform this circuit looking form the balun output and the equivalent impedance is 20 ohms.   Use any spice or RF simulator and it will solve and also tell you this is the equivaluent impedance at that point.  When you connect the filter it translate the circuit to 50 ohms. 

    We want 50 ohms so all the power is absorbed by the load and no reflections occur. 

    I'm supply you with a couple of engineer text book sources which should help you better understand

    "Practical RF Circuit Design for Modern Wireless Systems"  Volume 1 Less Besser & Rowan Gilmore ISBN 1 - 58053-521-6

    "Microwave Engineering"  David M. Pozar  ISBN 9780471448785

    "Circuit Theroy Fundamentals and Applicatioins"   Aram Budak   ISBN  0-13-134057-03

    Best Regards

    Rea

  • Oscar,

    TI does not test every thoery point but we do make evaluation kits to see if it is possible.   Fris equation holds true for line of sight applicaitons.  Make sure you are taking into account the noise sensitivity numbers of the radiio which set the lower bound or maximum distance.   

    Accordijng to Fris if you place the antenna high up in the air you will increase the distance the radio can transmit.   This ought to be obivious since most cell telephone towers are high in the air. 

    You might be looking at Fris equatiion and not taking into account the height and radio senstivity.  It is not just a function of the output power by itself.

    Regards,

    Rea

  • Hi Oscar,

    500m range using the CC2500 with a data rate of 10 kbps is difficult to archive…If you can have high gain antennas it might be possible. There is a app note called “Range measurements in an open field environment” which can be interesting for you. http://focus.ti.com/lit/an/swra169a/swra169a.pdf.

    -P

     

  • Thank you very much for your help!

    I am a newbie in RF networking, so I really appreciate it.

    Anyway, finally I boost the CC2500 output using a CC2591 kit.

    I would ask you other questions: unfortunately there isn't the reference design of CC2591 and so i don't know the mechanical dimensions CC2591EMK board connector (see

    http://focus.ti.com/docs/toolsw/folders/print/cc2591emk.html).

    i guess that the pitch is 2.54 mm but i am not sure about this. Can you help me?

    Furthermore I have reading something about SimpliciTI, it should resolve collision problem...do you confirm?

    Thank you in advance.

    Regards,

    Oscar

     

     

  • Hi Oscar,

    The details about the connectors we are using on our evaluation modules can be found here:

    http://e2e.ti.com/support/low_power_rf/f/160/p/18430/71048.aspx#71048

    If you need 500m LOS range, I think it will be sufficient with the CC2590 instead of the CC2591. If you are planning on using this CC2500+CC259x, you need to think about regulations in different countries. We have an appnote giving an introduction to regulations in the 2.4 GHz. http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=swra060

    I am not an expert on SimpliciTI, but if explain some more what you are trying to achieve, I might be able to help you.

    Good luck with the design and have a nice weekend! 

      -P

  • Hi all again,

    well i have 3 "slave node" that transmits data towards a "master" node every 5 seconds more or less (see picture below).

    What happen if the slave nodes try to transmit at the same time? Does simpliciTI manage this situation (collision)?

    I have also a doubt regarding RF Interference. My nodes have an architecture like that in the picture below, so with a "control" board that manage the RF modules (CC2591EMK and CC2500EMK). In the picture the CC2500EMK is not showed.

    The control board is custom design, the core is a MSP430F169.

    The RF field of the 2.4 GHz antenna (i use the same antenna showed in the picture below) can disturb the beneath control board? Shall i use a metallic enclosure for the control

    board ?

    Thanks in advance for your replies.

    Best regards

    Oscar

     

  • Oscar,

    Trying to implement a polarization or time diversity is really separate questions.    Polaraization diversity is handled much like you have shown in the diagram.  One antenna is orthoganal to the second antenna.   In a pure line of site this means the radiation pattern will be stronger in two directions.   The spacing is a minimum of 1/4 wavelength between antennas for maximum effect.    Yes the second boards ground plane effects the results so one should program the small card and run it on battery to remove it fromt he bottom card to get a more conclusive measurment.

    Time diversity generally has two antennas spaced 1/4 wavelength and in the same directioin.  This is primarily done for robustness.   If you have a closed room that has an area with a dead area the small time delay due to the antenna spacing will most likely cover the area.     Of course moving the antennas around could also change a dead area.   

    Running two antennas in parallel generally means a combiner is used to send the signals to the antennas of equal delays.  You cannot connect the two antennas in parallel without some intermediate device.    This will change the impedance matching and loading of the radio's output power.  

    In the case of time domain an RF fast switch can be used to switch from one antenna to the next.  

    The above idea is done in many applicaitons.  If you take two antennas of the same orientation your RSSI signal strength in open field is maximum as long as height is observed.   If you then rotate one 90 degrees the signal will decrease 3 dB or more. 

    In a close area (room)  you depending upon scattering to communicate.  Therefore it is hard to say if a diversity implementation provides better coverage but it definitely makes a system more robust if the second antennas orientation is not normal to the transmit antenna.

    So in summary,  I would not use a metallic enclousre for control.   If you can identify a weak to dead area combination then test these combinations as shown.   The whip antenna is made to work outside of an enclosure.     If you are considering a plastic enclosure and PCB antenna then you would repeat the test for that prototype.  We can guide you to an equivalent performaning PCB antenna. 

    Regards,

    Rea Schmid

  • Hi Rea,

    thanks for reply!

    But my idea was only to enclose the control board, just to shield the low frequency electronic like the msp430 from the radiation of the transmitting module up the control

    board. Maybe i am too much conservative.

    Regards,

    Oscar

     

     

  • Oscar,

    We haven't seen the need for sheilding and this is based upon anechoic chamber measurements to pass FCC.    The emission for EMI and RF are well within the specs for US - FCC rules on 802 standards.   I think years ago that was an acceptable approach,  but it might not be needed.   I do believe your spectral noise sensitivity decreases,  therefore you can have more dynamic range.   This should be easy to see.  If you measure at a particular distance and decrease the power level on the transmit controller,  while observing 1% packet error rate on the RX boards.  Have one enclosed and one not.       My guess you will pick up range due to magnetic waves reach the board but not through the antenna.   The antenna is a pretty narrow bandpass element.   So It would make sense.

    The boards balun and match filter is a wider bandwidth circuit.    Internally each channel has 5 MHz bandwith digital filter in the signal path.   But as EMI contacts the ground plane creates some noise that could find a path to the chip.   We usually recommend a L or PI filter on the power lines,  but ground can still pick up these signals. 

    Cheers,

    Rea Schmid

  • Hi Oscar,

    Just to fill in on the SimpliciTI side. Yes, SimpliciTI comes with support to handle this scenario. The technicalities behind is what we call Clear Channel Assessment (CCA) with random back-off.

    The idea is that each of the slave nodes will listen to see if the channel is occupied before it transmits and if it is occupied, then wait a random time before it tries again. If it's not occupied it will simply transmit. There is also a random delay at start-up preventing nodes sharing power (mains) to try sending at the same time the first time. This improves the situation, but one can make the communication even more robust adding acknowledgments etc.

    Let me know if you have further questions about SimpliciTI.

    Regards,
    Kjetil

  • This is Chris Pinter with Pinter Electronics Consulting. I am an RF Engineer and will offer you some suggestions. If you need to get a hold of me directly please visit http://www.pinterec.ca/contact-us

    Impedance matching is very critical for all of the TI lower power RF devices.  I am finding that the layout of the components is just as critical as the choice in the values for the capacitors and inductors. The circuit should be layed out as costly as you can to the reference design.  The values of the components will require some tuning to get the matching impedance correct.

    If you need some help.  I am able to review your design and offer you impendance matching services.  We can even measure the radiation pattern of your antenna when you get it done.

    We offer a straight forward service in design review and impedance matching.  Please conisder looking into it.    

    http://www.pinterec.ca/services/wireless-development/ti/low-power-rf-zigbee

    If you need any more help just drop me a line.  

    Chris Pinter

  • Hi all,

     

    in the end the system is working! We use it for remote sensing applications, it is placed on mountain at an altitude of 4000 meters. We reach

    over 4 km range for the radio link between the stations placed in mountain and the base station.

     

    So very very thank you for all your help!

    Best regards,

    Oscar

  • Dear Oscar,

     

    I'm using the CC2500 with a CC2591 Front-End and using a (PCB) inverted F antenna described in the DN031. Also I use the RFStudio to configure the Configuration Registers. I'am wondering, what kind of configuration must be set to RF Transceiver (Baud Rate) to achive 4 km?

    Regards,

    Gregorio

     

  • Hi Gregorio,

    sorry for the delay of my answer.

    I attach the configuration i have used for our 4 km radio link. Hope this helps.

     

    Regards.

    Oscar

     

    #if TI_CC_RF_FREQ == 2400                          // 2.4GHz
    // Product = CC2500
    // Crystal accuracy = 40 ppm
    // X-tal frequency = 26 MHz
    // RF output power = 0 dBm
    // RX filterbandwidth = 540.000000 kHz
    // Deviation = 0.000000
    // Return state:  Return to RX state upon leaving either TX or RX
    // Datarate = 9.6 kbps
    // Modulation = (7) MSK
    // Manchester enable = (0) Manchester disabled
    // RF Frequency = 2483.000000 MHz
    // Channel spacing = 199.950000 kHz
    // Channel number = 0
    // Optimization = Sensitivity
    // Sync mode = (3) 30/32 sync word bits detected
    // Format of RX/TX data = (0) Normal mode, use FIFOs for RX and TX
    // CRC operation = (1) CRC calculation in TX and CRC check in RX enabled
    // Forward Error Correction = (0) FEC disabled
    // Length configuration = (1) Variable length packets, packet length configured by the first received byte after sync word.
    // Packetlength = 61
    // Preamble count = (2)  4 bytes
    // Append status = 1
    // Address check = (0) No address check
    // FIFO autoflush = 0
    // Device address = 0
    // GDO0 signal selection = ( 6) Asserts when sync word has been sent / received, and de-asserts at the end of the packet
    // GDO2 signal selection = (0) Associated to the RX FIFO: Asserts when RX FIFO is filled at or above the RX FIFO threshold. De-asserts when RX
    //                            FIFO is drained below the same threshold.
    // FIFO_THR = 14
    // 5 bytes in TX FIFO (59 available spaces)
    // 60 bytes in the RX FIFO

    void writeRFSettings(void)
    {
        // Write register settings
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2,0x29);  // GDO2 output pin config.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0,0x06);  // GDO0 output pin config.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN,0x3D);  // Packet length.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1,0x05);  // Packet automation control. + test address
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0,0x05);  // Packet automation control.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_ADDR,0x06);  // Device address.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR,0x00); // Channel number.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1,0x07); // Freq synthesizer control.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0,0x00); // Freq synthesizer control.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2,0x5F); // Freq control word, high byte
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1,0x80); // Freq control word, mid byte.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0,0x00); // Freq control word, low byte.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4,0x88); // Modem configuration.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3,0x84); // Modem configuration.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2,0x73); // Modem configuration.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1,0x22); // Modem configuration.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0,0xF8); // Modem configuration.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,0x00); // Modem dev (when FSK mod en)
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1,0x1F); //MainRadio Cntrl State Machine
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0,0x18); //MainRadio Cntrl State Machine
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG,0x1D); // Freq Offset Compens. Config
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG,0x1C); //  Bit synchronization config.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2,0x07); // AGC control.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1,0x00); // AGC control.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0,0xB2); // AGC control.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREND1,0xB6); // Front end RX configuration.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FREND0,0x10); // Front end RX configuration.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3,0xEA); // Frequency synthesizer cal.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2,0x0A); // Frequency synthesizer cal.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1,0x00); // Frequency synthesizer cal.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0,0x11); // Frequency synthesizer cal.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST,0x59); // Frequency synthesizer cal.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_TEST2,0x88); // Various test settings.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_TEST1,0x31); // Various test settings.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_TEST0,0x0B);  // Various test settings.
        delay(10);
        TI_CC_SPIWriteReg(TI_CCxxx0_FIFOTHR,0x0E);  // FIFO TRESHOLD = 60 bytes (RX)
    }



    // PATABLE (-16 dBm output power)
    extern char paTable[] = {0x55};
    extern char paTableLen = 1;

    #endif

     

  • Hi Oscar,

     

    Thank you for your help.

     

    Regards,

    Gregorio