This is an old revision of the document!
Table of Contents
CC1200 Control Center (4C)
4C is a Web application that runs the Google Chrome and Firefox Web Browser to communicate via the Internet with a BeagleBone Black, that is equipped with an evaluation module with a RF chip mounted. For our purpose we are using the CC1200 Evaluation Module.
4C will be used to evaluate the RF-IC (on our case the CC1200) at an early stage in the design process. Chips like the CC1200 are configured by a bunch of configuration registers (CC1200 has about 100 configurations registers). E.g. to program the RF frequency you habe to program at least three registers. 4C helps you to find an appropriate setting of the configuration registers and functional test your application.
To find an appropriate setting, you a predefined setting of all resisters is inherited in 4C. You modify the configuration registers to your needs. For most common cases, it is not necessary to modify the bits of registers directly. You just modify chip parameters like the output power or the data rate. At the moment only the RF Frequency can be changed directly. Other parameters could also be changed in the future. 4C will compile your desired parameters and set the affected bits of configuration registers. After you have found your setting, you can export the configuration register values to file. The format of the file is in C style.
4C can also be used to perform some performance test, like continuously sending an receiving a bit stream or transmitting and receiving data packets.
4C Installation
4C communicates with a local Web-Server 4C-Web in Node.js via web-sockets written. Node.js is a JavaScript interpreter outside a Web-Browser. 4C-Web translates the commands from 4C and forwards them via a stream-socket to a deamon (cc1200d) installed at the Beaglebone Black. The cc1200d itself controls the CC1200 RF chip. Thus 4C is nothing else than a remote control frontend that is independent of the operating system type. The drawback is, that you need Node.js.
To install 4C several steps have to be done:
- Login as root to the BeagleBone Black and download the cc1200d from here. Unpack
cc1200d.tar
. Copy the library filecp libcc1200.so /usr/lib/.
and the file
libcc1200.conf
cp libcc1200.conf /etc/ld.so.conf.d/.
To activate the library execute
ldconfig
and finally start cc1200d by entering:
./cc1200d
cc1200d will create a log-file. Look if there is some output.
- Go back to your PC or laptop. Download Version v14.16.0 of Node.js for your operating system (Linux, MS Windows or Mac OS X) and install Node.js.
- Download 4C as a ZIP-File from here and uncompress it to your favorite location. Edit the file
4C.js
in directoryCC1200-Control-Center
. Find in file4C.js
the line:var BeagleBone = '192.168.178.37';
and change the IP address to the dress of your BeagleBone Black. Save
4C.js
and exit. - If not already done, open a your favorite terminal app (terminal in Linux or Mac OS X, Powershell in MS Windows) and change to directory
CC1200-Control-Center
. Start 4C-Web by entering:node 4C.js
4C-Web will output:
listenig on *:3000
- Now open your Browser (remember: Chrome, Firefox or Safari) and go to the url:
http://localhost:3000
Now you will see the 4C window.
First Steps with 4C
After you have installed and startet 4C, the window depicted in Fig. 2 will open.
Menu Bar
On top of the window you see the menu bar with the menus TKN, File, CC1200 and the Mode menu:
TKN Menu
The TKN menu contains only one item (About item) that provides some information about the tool.
File Menu
The File Menu contains the Items Load Register, Save Register and Export Register to C.
Save Register
Selecting the Save Register item opens a dialog, asking for a description
and a filename
. All register values shown in the Register Window at the right side of the Main Window are stored and will be downloaded to your computer with the ending “.ticc
”. .ticc
-files are text files containing the description
and the values of all registers of the CC1200. With the Load Register item you can reload the register values. This function is very useful, if you have modified the CC1200 registers and you want to save the current status.
Load Register
Selecting the Load Register item opens a dialog, asking for a .ticc
-file. This will load the register values of the file directly into the CC1200. The description entered at the Save Register dialog, will be shown at the top of the register window.
Export Register to C
With this menu item you can provide a filename to the opening dialog box, where all the registers arg stored in a C style. Optionally you can automatically include a mein routine in the C-file.
CC1200 Menu
The CC1200 Menu contains the items Init SPI, Read Register and Write Register.
Init SPI
Selecting the Init SPI item you can reinitialize the SPI interface. Doing this resets the CC1200.
Read Register
Selecting Read Register item a dialog opens that asks you for the address of a specific register to read. The value of the registers is updated every time you press the Read
-Button. If you press the Close
-button the dialog disappears.
Write Register
Selecting Write Register item a dialog opens that asks you for the address of a specific register to write. The value of the registers is transferred to CC1200 every time you press the Write
-Button. If you press the Close
-button the dialog disappears.
Mode Menu
In the Mode Menu you will select which configuration is shown in the Testing Window.
HF Configuration Window
In the HF Configuration Window you can change HF chip parameters like carrier frequency, modulation, bit rate etc. without modification of the registers. 4C will set the corresponding bits in the registers (look at the register window) automatically. This is useful to determine the correct register values without knowing the calculation behind. E.g. just change the carrier frequency to a specific value. You will see that Registers FREQ0
to FREQ2
(look at the register window) has been changed without knowing the calculation behind.
Currently only changing the carrier frequency has some effect. Other parameters will follow.
Register Window
The Register Window contains all CC1200 registers. After der register name, its address (in parenthesis) and the current value of the register is shown. The address and the value is in hexadecimal presentation. By changing a register value, you change the value directly in the chip. To receive the current register values, you habe to press the Refresh
-Button.
Testing Window
The Testing Window contains the current configuration for tests. The test configuration is chosen by the Mode menu of the menu bar. There are for configurations available:
- Transmission in Synchronous Serial Mode data Communication mode,
- Reception in Synchronous Serial Mode data Communication mode,
- Transmission in FIFO Mode data Communication mode and
- Reception in FIFO Mode data Communication mode.
The data communications modes are explained in the CC1200 User Guide.
For all data communication modes the following parameters are configured:
carrier frequency: 868 MHz,
Modulation: 2-GFSK,
Bitrate: 38.4 kBit/s
Deviation: 19.989014 kHz,
Rx filter bandwidth: 104.166667 kHz,
Transmission Power: 14 dBm
Status Window
In the Status Window the current status of the CC1200 is shown. The status will be updated every second and corresponds to the values explained in CC1200 User Guide.
Strobe Window
The Strobe Window will be used to change the operation of CC1200. Each button activates the depicted command (e.g. the RX button will bring CC1200 in receive operation). The command strobes are described in CC1200 User Guide.
First Tests with SmartRF Studio
In section, we are using two evaluation boards. The CC1200 of the first board will act as a transmitter and the CC1200 of the second board will act as a receiver. The receiver will measure the intensity of the transmitted bits by plotting the “Receiver Signal Strength Indicator (RSSI)” value. If the RSSI value is high, the signal is strong and if it is low, the signal is weak.
First leave SmartRF Studio, if no already done. Now prepare two evaluation boards a described in section first_steps_with_smartrf_studio und connect the boards into the USB plugs of your computer.
Fig. ##: Texas Instruments Main Window with 2 Board
Now, start SmartRF Studio as shown in Fig. 7. Double-click the first board in the device list. The device window for that board will open (see Fig. 8)
Fig. ##: Texas Instruments Continuous RX Mode
Select the setting “Symbolrate 38.4kbps, 2-GFSK, RX BW 100kHz, ETSI Standard (868MHz)” in the “Typical Settings” window. In the lower window, select the menu “Continuous RX”.
Now, go back to the main window of SmartRF Studio“ and double-click the second evaluation board. Chose the same setting for this board in the “Typical Settings” window (“Symbolrate 38.4kbps, 2-GFSK, RX BW 100kHz, ETSI Standard (868MHz)”). But bring this board in to transmit mode, by pressing the menu “Continuous TX” in the lower window. The configuration ist shown in Fig. 9.
Fig. ##: Texas Instruments Continuous TX Mode
Now, go back to the receiver board and press the start button. You will see a curve representing the RSSI value. Now, select the window of the transmitter board and press also the start button. If you now look at the window of the receiver, you will see a jump in the RSSI curve. The jump occurs at the time, the sender starts transmitting. If you switch off the sender, the RSSI curve will drop. This behavior ist shown in Fig. 10.
Fig. ##: Texas Instruments Continuous TX Mode
This simple example should demonstrate the use of SmartRF Studio. Try other settings, perhaps use the packet modes and modify some RF parameters. To get familiar with SmartRF Studio, play around with it.