0
\$\begingroup\$

I have designed a custom PCB using a CC1310 radio, based on the reference design for the CC1310 LaunchPad.

The uC is programming, and running code, when I attempt to send data through the radio, the software reports a successful transmit, but I am not able to get any data received from my LaunchPad, which I have programmed as the receiver.

I'm really not an RF expert, but I positioned the RF front end components as similarly as possible to those on the reference design, and requested that the board stackup be the same as that from the reference design.

After re-reviewing the BOM, I realise that for C21 in the reference schematic, the capacitor that connects RX_TX to ground, I requested a 0.1uF instead of a 100pF capacitor. I guess that will have a pretty severe impact.

I also realise that when providing my manufacturer with a BOM, I only specified the part type and value, e.g. Inductor 7.5nH, but I now see that in the TI BOM, there is much more detail, specifying RF inductor, non-magnetic core.

Please can someone tell me which components in the RF front end are likely to be the culprit of my non-functional radio? I don't mind re-soldering the whole front end if needs be, but I'd like to only change the parts that I need.

Which are the most likely causes of my problem? What can I do to get it working? and how much can I test this, all I have is a scope.

Addition: I used SmartRF Studio to set my custom board into continuous Tx mode, and to set a LaunchPad for continuous Rx. With ~1m seperation, the receiver was seeing between -35dBm and -60dBm, and then when I powered the Tx down, the Rx dropped to -100dBm. This means the custom board is transmitting something. Does this provide any extra insight?

RSSI Graph

Addition: I have tested two custom PCBs trying to communicate with each other, and they work. Using custom boards with SmatRF Studio, I get a much more stable RSSI of ~-20dBm, as shown enter image description here

So, I know that the custom boards are functional, but will not communicate with a COTS development board.

I used a Software Defined Radio (SDR) dongle as a spectrum analyser, and tested the results of the LaunchPad transmitting, and the custom board, and here are my results.

LaunchPad as Tx enter image description here

Custom PCB as Tx enter image description here

I have tried swapping the incorrect value capacitor C21 for one of the correct value, and it makes virtually no difference to the results.

My only thought on what to do next is to change the other components in the front-end to more closely match that in the BOM.

Please can someone explain the reason for the behaviour I have seen, and provide some information about the difference between the custom PCB and the LaunchPad based on the graphs above?

Anything to improve my understanding would be greatly appreciated.

Addition:

Now I've figured out how to work my SDR, here is a better resolution graph for each device.

The LaunchPad seems to peak at ~867.935MHz: enter image description here

Where as my custom boards seem to be more at ~868.053MHz enter image description here

So whatever I have done has caused a sufficient difference in frequency. Is this really likely to be from the RF front end, or is it likely to be from something else? E.g. The oscillator being slightly off, the PCB copper being slightly different? Small differences in stack up?

I didn't think that a discrete Balun could shift frequency, am I wrong? can the matching circuitry after the Balun cause a frequency shift? What is likely to be responsible for this?

Many Thanks.

\$\endgroup\$
  • 1
    \$\begingroup\$ Your link to the reference design seems to be 'broken'. \$\endgroup\$ – brhans Apr 4 '17 at 19:35
  • \$\begingroup\$ Note to other readers who are interested in this topic: The same question was also posted in the related TI E2E forum, so the question might be answered in future, over there - see: LAUNCHXL-CC1310: Custom CC1310 board, radio not working \$\endgroup\$ – SamGibson Apr 4 '17 at 20:23
  • \$\begingroup\$ @Sam: Thanks for the heads up. I was thinking about this question, then saw your comment. Not gonna waste time on a cross-posted question. \$\endgroup\$ – Olin Lathrop Apr 5 '17 at 11:24
  • \$\begingroup\$ If I get the correct information from either source I will be sure to update both so people can benefit in the future \$\endgroup\$ – Steve Apr 5 '17 at 11:48
  • \$\begingroup\$ @Steve - Thanks! FYI in the past I (and others) have wasted lots of time writing detailed replies to questions on website A, when (unknown to those on website A) similar replies had already been made by those helping on website B, where the same questions had also been asked! Therefore if you're going to ask the same question on multiple sites simultaneously (which I don't encourage) then to avoid people wasting time with duplicated effort, IMHO it's important that people see all the places the question has been asked, while the question is active, as well as afterwards. Sincere good luck! \$\endgroup\$ – SamGibson Apr 5 '17 at 21:32
2
\$\begingroup\$

In your specific case, using a 0.1uF cap in the biasing network instead of 100pF will almost certainly prevent the signal from radiating. I would start there. Next would be the other reactive components (caps, inductors, baluns, etc) in the RF path.

In general, there are a lot of things that have to go right for an RF design to function.

  1. Component selection

    When building from a reference design, as it looks like you have done, it is important to match the components exactly. Sometimes the key specs (ESR in a cap, for example) aren't referenced on a BOM. Only once you have a working design can you try to swap in cheaper (or more available) parts.

    If you look at the LaunchPad BOM, you will see that some of the capacitors are marked as "Manufacturer Selection". This implies that the other components are critical, and that those specific parts should be used.

    Keep this in mind when you have are making a BOM around your own design, and call out critical specs on your BOM! It may help the next engineer down the road :)

 

  1. PCB layout

    Entire libraries of books have been written on this subject! It's too broad for me to go into here. Since you are working from a reference design, make sure that you have have used the same layout and trace routing. If the reference traces are close and parallel, do that. If one trace splits off sideways, do that too.

    Another aspect is the characteristic impedance of the traces. The board stackup is important, the trace widths are important, and the geometry can be important. For example, for differential lines the amount of space between the traces is as important as their width.

    If you keep your traces short, the characteristic impedance becomes a little more forgiving.

    If you want more examples for comparison, there are more reference designs for this chip at TI's site here.

 

  1. Software configuration

    I haven't used this chip, but I have used other radio transceivers from TI. Their SmartRF Studio is almost mandatory. You tell it your design, and it spits out magic numbers that you use for your radio configuration. Very helpful.

 

Finally, it looks like the CC1310 has been updated and the new rev requires updated software to make it run. I don't know if this applies to you, but you can read about it here.

Hope this helps to get you going!

\$\endgroup\$
  • 1
    \$\begingroup\$ Thanks, I've ordered all of the RF front end passive components, where available the exact part numbers, otherwise the same spec. I will first start by changing the incorrect cap, and if that doesn't work, then I'll start replacing the rest. I have made my implementation to match match the reference design very closely, and I had an RF engineer review the design prior to getting it fabricated, so I hope it is just the component with the wrong value. Is it likely that when I put the correct capacitor on the system will radiate with poor performance, or will it not be likely to radiate? \$\endgroup\$ – Steve Apr 4 '17 at 21:43
  • 2
    \$\begingroup\$ @Steve It's hard to say. It looks like you've covered most of the bases. It seems likely to me that it will start radiating very well with the new cap! Or perhaps it'll take new inductors, too. Come back and let us know :) \$\endgroup\$ – bitsmack Apr 4 '17 at 22:14
  • \$\begingroup\$ Great, thanks for the advice. Can you tell me what the purpose of that capacitor is, or tell me the name of it so I can try to better understand its function? \$\endgroup\$ – Steve Apr 5 '17 at 7:07
  • 1
    \$\begingroup\$ @Steve The entire circuit is known as a "discrete balun". It converts the differential ("balanced") feed from the IC to a single-ended ("unbalanced") feed to the antenna. The name "balun" comes from "BALanced/UNbalanced". TI has a pretty good app note that talks about its function and how to tune it. Cypress has an wonderful document which talks about many aspects of RF design, and also covers a discrete balun. \$\endgroup\$ – bitsmack Apr 5 '17 at 17:49
0
\$\begingroup\$

I would focus on configuration. At very short range (< 1 m) even comically incorrect RF front end design will still get a signal through.

\$\endgroup\$
  • \$\begingroup\$ Please could you be a little more specific? What do you mean focus on configuration? I am getting reasonably good results for the custom PCBs talking to each other, I wondered about 100m up the road, and still getting data through pretty constantly. I also changed the frequency in the firmware and can get the board to happily talk to the LaunchPad, but don't understand what part of my PCB has caused the ffrequency shift \$\endgroup\$ – Steve Apr 8 '17 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.