hey guys ,
I bought the Anaren booster pack a month ago. It was my first time working with a rf module and msp.When i looked at the firmware of the booster supplied by anaren it drove me crazy. I’m sure that you might have felt the same. They have used extensive generalization to include all possibilities and not to mention the cross referencing to be done to make it work. Me and my friends tried to understand the code . But it was too confusing and hence we stopped. So I wrote the firmware myself. In this tutorial let us see how to do the same . In the code to follow we will use two launchpads and 2 AIR booster packs. I’ve changed the pin connections a little to communicate through UART . So basically we will be sending text from one computer to another by means of the RF booster pack. We will be using MSP430G2553 controller. You have to know basic UART and SPI protocols and their setup in msp to make this work.
So let us see how to work with CC110. This rf ic works on 4 different frequencies based on the programming and the external hardware. We will be using 867 Mhz.It is controlled by msp by means of SPI interface which includes SOMI , SIMO , SCLK , CSN pins of CC110l.The GDO pins are used to update the status of the CC110l and can be programmed to interrupt the controller on start of various events. The device is configured by writing to its configuration registers and the status is known by reading form status registers. The mode of CC110 is set by using Strobe Commands. Like any transceiver it can works as a RX or TX at a time.
So with this background let us get on the board.
The connections are as shown below.
The Connections to the Computer are to established using a serial port of a computer. In case the computer doesn’t have a serial port then use a serial-USB Converter. Connect the UART_RX to the TX pin of the serial port ,UART_TX to the RX pin of the serial port and the GND pin of bin together.The connections of the Cc110l are as shown . The connections of the Booster pack are :
I’ve used the launchpad debugger to burn the code on the ic.In the example shown the booster and the controller are mounted on a separate board and not on the launchpad.This was done to use the UART port.For those who are not interested in using the uart port then directly connect the booster to the launchpad.But some changes to the board definitions have to be made.To run the code presented here please use the connections mentioned.
Here are the project files of this example.
The project consists of several files which are used to make the coding simpler.Two boards are required for this example.Each Board accepts data from the hyper terminal and transmits it.The other board receives this and displays it on the hyper terminal.The same code has to be burnt on both the msp43G2553 controllers.The required software for this is a serial port access software like hyper terminal (default in win xp) .In case of Win 7 users you’ll have to download the software online.Tera term , hyper terminal and FLIPTERM are some of the software’s available on net for Win 7 .I’m using Win 7 with hyper terminal.The UART is configured for a
- baud -9600
- parity – none
- flow control = none
- stop bits – 1
- databits – 8
These settings are required for the terminal to operate.
The basic flow of the code is as follows :
POR => Initialize board =>Put the device in listen mode =>if data received from uart send through rf module => if data received from rf display on terminal.
The project contains different files for different initializations.The interrupt vectors are present in “pragmas.c” connect each board and program the code into them.Connect each one to a different serial port and open the corresponding hyper terminal.Once the hyper terminal is open reset the controller.This will display “*” on the terminal.Any character typed hence will displayed as a “-” on the screen.A character received will be displayed as it is. So in the above example i ve typed “ADadw”.This was transmitted which was displayed as “-” , and received which displayed the characters themselves.
The CC110_functions.c file contains the functions to initialize the CC110l.The register values are available with the manuals provided by Anaren.The CC110l is set to -0.5dBm power.This gives a range of about 7-10 m.To vary power edit the patable value to the required value.To vary the config register vary the values in this files next to the required registers.The CC110l provides the register addresses.So the device developed by me looks somewhat like this.Hope you have a fun time working with it.For any queries post a comment or mail it to me at firstname.lastname@example.org.
I’ve added a schematic of the circuit used by me. NOTE THAT I HAVE USED MSP430G2553 IN 28 PIN PACKAGE.so ignore the PORT3.this circuit was used for a project of mine.If you have any queries please leave a comment.Hope this article was useful.
Andy has tried the code On CCS .He is able to use the booster directly on the launchpad without much modifications. Though I ve not tried this myself he has made it work. His comment is as follows:
” The hardware I’m using is TI launchpads with the AIR module plugged in. I was able to compile using CCS version 4 and use the virtual com ports on the launchpad. I had to make the following changes to reroute GDO0 to P1.3 and CSN to P1.4 on each AIR module. The Booster Pack User Manual describes these changes and I used 0603 resistors to make the connections. I found this manual on the Anaren site. .
1. Cut the trace between JP2 pin 1A and pin 1B. Solder a 0 ohm 0603 resistor between JP2 pin 2A and pin 2B. This routes GDO0 to P1.3 on the launchpad.
2. Cut the trace between JP3 pin 1A and pin 1B. Solder a 0 ohm 0603 resistor between 3A and 3B. This routes CSN to P1.4.
Change defines in mspboard.h to map the new connections.
#define GDO0_PIN BIT3
#define GDO2_PIN BIT0
#define CSn_PIN BIT4
Compile, flash, and execute FW each launchpad. No other changes made. I use two sessions of putty each connected to a launchpad to send and receive data. “