Wireless Modules.

We tend to put a lot of faith into complex, intelligent electronic intruder detector systems and sometimes forget that in a nuclear war, nearly all electronics  will be destroyed by the first Electro-Magnetic Pulse (EMP). However, so far there have been no nuclear wars and our troops have only been deployed in conventional actions, that do allow the deployment of electronic devices. It might be wise to remember that after the first EMP, mechanical intruder detection devices may be all that will still work.

Another problem is anything that radiates energy can be detected, it’s location pin-pointed and subsequently rendered ineffective, providing the opposition have the hardware and ability to do so.

Without any further explanation I decided to have a look at what is required and what is possible in the way of wirelessly interconnecting intelligent multi-point intruder detection systems.

As always, I know nothing about this subject and writing about it is my way of learning !.

Avoiding problems.

RF design to me,  has always been a ‘black art’ and best avoided !.  So my approach is rather than start with an RF chip … buy an ‘RF module’  that already has the difficult stuff done for you and contains all the supporting components required to make it work. It also has the advantage that it has been tested and works.
The problem is that many companies now manufacture wireless transceivers, so which do you choose ?.  When I was reading up on this subject, one popular type of RF transceiver module uses the Texas Instruments CC1101 chip, which at first glance, frightened the life out of me !.  However chips of this type are similar so my only choice is to bite the bullet and I have decided to try and master RF modules that use the TI CC1101 RF transceiver chip. If you are interested, then read the 92 page data sheet !.
Now, I figured that no company is going to produce something that is going to be too difficult to use and that meant there had to be some short cuts. So right from the start I am looking for the easy way !.  From a simplistic point of view the CC1101 is an RF transmitter receiver chip that allows just about every working parameter can be  programmed.  In my book, such flexibility inevitably means ‘complexity’  and that is how I find it, at this moment.

A first look at the CC1101 registers.

What controls each parameter of the device is a number of registers which have to have programmed into them a HEX value in order to tell the basic chip what frequency it has to work on, at what transmitter power, baud rate  and many other working parameters.  What I have failed to find out so far is whether these registers are volatile, ie they have to be programmed into the registers on every power up sequence of the chip ?.  From experience I expect registers to be non-volatile and to retain the programmed values, so this is an outstanding question. Why am I thinking like this ?. Well it started with a posting on the Proton forum that said the  registers had to be reprogrammed on every power up … and this is something that is alien to me.  
I also assumed that each device had to be programmed  by the manufacturer in order to test each function. If the registers are non- volatile then are these values retained as ‘default’ values ?. So will the device function ‘out of the box’ in  the test configuration ?.  My main concern being to try and reduce the number of registers that need to be programmed. I do not know the answer to these question yet.
The next thought was that if I were selling these chips I would want them to be popular and easy to use. One way of doing this would be to provide a PC program  that would make programming them much simpler. In the best case I would want a ‘default’ set of register values that would  produce a working chip. A bit of searching turned up SmartRF Studio 7 GUI that does just that. The thing of interest is the EASY MODE, which gives you a choice of typical applications that takes the grief out of the problem and comes up with a set of register values that work.. It also gives a graphical presentation of the state of all registers, each of which can be changed in the ADVANCED MODE.

The idea is that one selects the attributes required and the program will produce a list of register values needed to be programmed into the CC1101 . The register values are in the right hand window. This program can be downloaded free.  The CC1101 can be programmed to work in any of the following frequency bands …. 310 - 348 MHz, 420 - 450 MHz, and 770 - 928 MHz. It also supports frequency hopping and packet communication.
TI do sell a development kit with a test board that can do a lot of things … but costs about $500. Since the Chinese are using increasing numbers of of these chips, one can eventually hope for a Chinese clone development kit that is much more affordable !. Why companies like TI don’t subcontract the design and production of development aids to someone who can do it economically … eludes me. Maybe it is because we do not produce anything any more  and have forgotten how to exploit our own inventions !.

I only obey simple instructions !

The basic CC1101 chip has this large set of registers that must be programmed with a HEX value before the chip can function and the first question is how do they get programmed in the first place ?.  The answer is that the CC1101 has a four line SPI data transfer  facility. This type of programming facility is common on micro-controllers such as the  PIC range. So the  usual way is to use a micro-controller to program (and control) the CC1101 chip. Note that I used the word CONTROL because even a simply change of state from Receive to Transmit requires a register changes (and then back again).  The PIC microcontroller senses the world about it and instructs the CC1101 accordingly,  so any ‘ system intelligence’ lies in the controlling microcontroller program rather than the CC1101.

An example of this arrangement are modules that have a ‘transparent’ TTL RS232 data transfer for control purposes.  These modules have an onboard microcontroller that automatically controls the contents of the registers of the CC1101, to operate on the correct frequency, at the correct baud rate, modulation type, RF power output etc.  On these modules you will see two chips, one the CC1101 and the other, the microcontroller that controls it, which can be of any type. In the above example the CC1101 is in the center of the PCB and the microcontroller above it.
I only ‘understand’ one type of microcontroller … the PIC and that is the one I  habitually use.  To make life simpler for me I use the professional Proton+ compiler, which does everything I ask of it.

31st January 2013.

At the moment I am only in the thinking stage. I have ordered seven wireless modules from China including one that uses the CC1101.  If things progress I will order at least one more to establish a working link.

This is the one I have ordered and it costs less than £5. The CC1101 chip can be seen in the middle of the board. Top left are the connections for the SPI programming cable (from the microcontroller). This module may look small, but essentially the same module can now be obtained that is only 12mm square.