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 Frequency hopping

Other Parts Discussed in Thread: CC1101, SIMPLICITI, CC430F5137

Hi,

My organisation are building up a prototype to test if the CC1101 transciever module can be used in our final product. We need to build a fast frequency hopping system. We were quite disappointed that there is only little help about implementing frequency hopping on the CC1101.

We are using the fast calibration method for frequency hopping, i.e. saving all FSCAL1 - 3 values and then just writing them to the Transciever everytime a frequency is hopped. However there seems to be something which we are overlooking, because it cannot work.

Can somebody tell me the exact procedure to do this procedure?

 

Thanks in advance.

 

Simon

  • Wow, no answer? Got the same question regarding the CC430 (same radio as the CC1101). CC430 Spec says it can do FHSS but with some heavy explanation on how.

    Any other help here? Thanks.

  • Hello John,

    SimpliciTI 1.2 has a Frequency Hopping implementation.

  • Simon, 

    How fast do you want the FHSS to run, how many channels are you looking for?

    This will help me frame my answer.

    Regards,
    /TA 

  • Simon, thanks for the reply.

    I'm only doing about 50 samples (@ 16bit) per second using only 5 packets each (max). It's a control signal and not audio. I was thinking about how I would implement (ignorance disclaimer here). I would scan many channels for the top 10 RSSI values, share the pattern with these channels, and hop to the pattern. If someone got lost, maintain a fixed channel to pick it up... or something like that.

    My delayed response was because my eMail wasn't being monitored (Outlook just stopped using this one???).

    Thanks,

    John

  • John, 

    I recommend using a timer to setup a schedule for each burst of data and if you have a predefined hopping pattern (easily done by storing a table in Flash) you will get a very simple system that works very well.

    what i am saying is that SimpliciTI might be overkill for what you trying to do.

    Regards,
    /TA

  • Seems easy enough, but I'm sure there are some basic error and recovery process I should use (ie, how to recover communication, what if some channels become repeatedly weak (move to a new set?) and so on. I'll look through the SimpliciTi as an option, but a flowchart on basic hopping would be ideal. 

  • Which MCU are you using? I might have some sample code that you could start with.

    /TA

  • I'm using the CC430F5137. 

  • John, 

    Here is a demo that I have written for doing frequency hopping on 50 channels using a CC430 (the standard development kit)

    All the exiting code is in "TRX_ui.c". This demo just sends "random" data back and forth and count the errors.

    It is compiled in IAR, but it also works in CCS.

    Regards
    /TA

    8510.TRX_demo_CC430.zip 

  • Oh cool! I assume the Radio core and the 430 interface (interrupts and stuff) are pretty much the same as with any CC430 (we actually migrated all our code from the 6137 to the 5137 - so we're getting used to the differences). 

    However, we're challenged by a problem where SmartRF Studio parameters (exported) don't work with our SW (simple protocol, fixed channel). But that's another question and we may need help from the community there as well. We have a very sharp programmer on this, but we're all new to TI (he's more of a driver developer at Intel and not so much an SoC developer).

    Thanks for the sample code!!!

    John

  • If you are having problems with the SmartRF Studio register exports, you may be missing some registers that were changed but not exported. I am not sure how the default export file is created, but when I compared it to the file supplied with SimpliciTI, there were differences. So I ended up adding registers to the export list to match what was in the SimpliciTI header file.

  • Thanks Tim, bonus info! We have plenty to chew on now.

    John

  • Tim,

    I wrote the original code based on the basic "LED Demo" (Less than FIFO, Fixed Length). I assume all the RF functions would be standard (like Strobe and stuff).

    Our prototype was a Chronos talking to the 6137 kit and it worked. When we migrated from the Chronos (6137) to our board (5137), my same code in the new 5137 couldn't talk to the 6137 Kit, and definitely transmitting. However this odd couple could send packets through SmartRF (stronger signal too). Doesn't make sense...

    So we were trying to get the settings from SmartRF to work with our code, but not much luck. So next we'll look to verify nothing was missed in Reg settings from SmartRF as you mention. We plan on getting to the frequency hopping part once we get through this anomaly.

    Just sharing our background in case this scenario rings a bell... 

    Thanks,

    John

  • John, 

    The RF section, the MSP core of the CC430F6x and CC430F5x is the same and the code from a F6 will run on F3 by a simple re-compile with new headers.

    I think the like issue you are having is that your new board has a new RF XTAL (maybe partnumber, loading caps, traces) and the actual frequency you end up operating is wrong.

    If you have a spectrum analyzer this is easy to check, but if you do not have a spectrum analyzer please increase the RX filter bandwidth of the receiving device until it works. The you can poll a register called FREQOFF_EST (See page 728 of the CC430 User Guide (http://www.ti.com/lit/ug/slau259d/slau259d.pdf))

    Regards,
    /TA 

  • You may have nailed it. I was using a pair of 27pF for my loading caps on the 26MHz crystal (instead of 15pF as with the kits).  The BOM for the 5137 Typical circuit showed 27pF in the table with a note on the calculation which threw me off. I don't know what the 27pF means - maybe total capacitance?

    Got some new ones order and will try your other suggestion to widen the Rx "safety net".

    Thanks again!

    John

  • The caps need to be selected based on the load capacitance of the crystal. If your design has a cap on each side of the crystal to ground, this is a series capacitance between the two pins. So each cap should be a little less than 2x the rated load capacitance of the crystal, to take in account for pin capacitance on the device and pcb route capacitance. If your crystal is rated as 12pF load capacitance for instance, then you should use a pair of 20pf to 22pf capacitors on the crystal. On my cc430F5237 design I made the mistake of using 1x caps and so my board's frequency was 70 kHz too high. 

  • A pair of 15's did the trick, stole em off some Chronos boards.

    I'm at about -20dbm on SmartRF Studio and going across 430 versions. It is good!

  • Hi i am trying to study the code,

    and find the hopping info in TX/RX BER,

    however, i cant find any on how to sync the TX/RX and more is

    every sweep need to do the 50channel for transmission?

  • Jeff,

    I'm not an expert here and I have not "yet" implemented hopping, but we did have someone give us some direction offline. My understanding is that you have to come up with the answers because there are so many options. In our case, it was only recommended that we hop across 5 channels, and there must be a protocol to reconnect when the transmissions are out of sync or lost. I believe this recovery method was just return to a known channel and wait for each other to hand-shake. This also implies that there must be a handshake somewhere in the chain otherwise how do you know it was lost. Also, the pattern of channels is hard-coded on each side, and you can use whatever pattern you want and as many channels as you want. This is part of what makes it proprietary radio as I understand it. 

    It would be nice if TI could provide a simple use case if one exists?

    John 

  • ... and I suppose you could transmit the next channel to switch to if you had one way communication. I'm really stretching my knowledge here, but I'd also like to learn more about hopping as we have to implement this eventually.

    What code were you referring to in Rx/Tx BER? 

    Thanks,

    John

  • Actually ,My target is to get high power, and long distance, through the digitally modulated systems can allow us not to use FHSS , however, it require the BW setting >5xxK , which imply cutting the sensitivity.

    more concern us is the standard of the FCC,

    "Frequency hopping spread spectrum systems are not required to employ all available hopping
    channels during each transmission. However, the system, consisting of both the transmitter and the
    receiver, must be designed to comply with all of the regulations in this section should the transmitter be
    presented with a continuous data (or information) stream. In addition, a system employing short
    transmission bursts must comply with the definition of a frequency hopping system and must distribute its
    transmissions over the minimum number of hopping channels specified in this section.

    Each frequency must be used equally on the average by each transmitter. The system receivers shall have input bandwidths that match the hopping
    channel bandwidths of their corresponding transmitters and shall shift frequencies in synchronization with
    the transmitted signals.

    "===============================

    1)
    What i concern is we need to use 25/50 channel equally.

    But so far i know that the FHSS require 2 part :acquisition and synchronization.

    The acquisition is just using few channel which don't use all channel

    "===============================

    2)
    And  for 250mW, we need to do 25 hop channel , however as my info(few btye no streaming required) can already transfer, so why we still do to hopping thru all 25channel ?

     

    "

  • I'm sure this is not the answer you wanted, but I'm going to say it anyway.

    Disclaimer... I'm not affiliated with FCC and I do not have a good knowledge of testing or requirements. In fact, I have no experience in execution herein (capish?). However, I offer this based upon third party knowledge, and I am not responsible for actions taken based upon statements below - which could be very incorrect... so you know, I could be very wrong.

    As I understand, this is less than 1 watt, and it could be just fine however. These are in the ISM bands which is pretty copacetic with medical and others as long as you don't exceed non-intended radiations (from switches, sparks, and such), and you accept interference from that population. I've gotten advice from many people, but the sure way is to consult with someone who can certify you through testing. The fact that you are concerned with this may be a sign you should consult with an RF expert. I have called FCC and they do respond after a few days if you want their facts. 

    My 2 cents, if you just be careful and don't create some unintended radio interference, these devices are under the radar. However, be aware that anyone can call you on it (they can inform FCC), and FCC can stop your sales and require full testing for compliance. If you fail for any reason, it's several $100's for each device you sold. I imagine their criteria is base on your volume of sales and impact on other devices, competition, or lobbyists.

    Depends on your level of risk tolerance and if you're prudent in your design. Want the insurance or not? Do you have competitors on your back... then follow the guidelines and get an expert. 

    Regarding hopping FCC rules, I don't know if or how that exceeds 1 watt. Again, consult with an expert if you are concerned about passing.

    I probably shouldn't have even shared this, but THIS IS ALL AN OPINION and not based on fact. 

    Gut feel, the FCC isn't going to interfere, they don't want to stifle innovation unless it steps on other toes. Then you know how that goes. 

    FYI, I don't know where you're from at all. You have no data on your profile and then asked to be my friend. Then I realized, I hadn't filled out my own profile. You can read it now, then maybe you can share yours.

    21

  • thx for your answer,

    may i know how to contact the FCC so that i can  really clarify the words?

     thanks