This is an old revision of the document!


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.

Fig. ##: Texas Instruments Evaluation Board

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:

  1. Login as root to the BeagleBone Black and download the cc1200d from here. Unpack cc1200d.tar. Copy the library file
    cp 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.

  2. 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.
  3. Download 4C as a ZIP-File from here and uncompress it to your favorite location. Edit the file 4C.js in directory CC1200-Control-Center. Find in file 4C.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.

  4. 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
  5. 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.

Fig. 1: 4C Main Window

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.

Device Control Panel

Fig. ##: Texas Instruments Easy Mode

As you can see in Fig. 3, the window is divided into three parts.

Connected Evaluation Boards Window

  • The upper part contains some useful control, that are used very frequently. E.g. can set the device either in “Packet TX”- or “Packet RX”-Mode, “Start” packet transmission or packet reception or you can reset the device.

Predefined Configurations Window

  • The middle part of the window contains predefined configurations - called settings.

Test Configurations Window

  • In lower part of the window you can configure and start predefined tests, e.g. “Packet TX”.

Expert Mode Window

We are not using the easy mode. Therefore switch to expert mode (see Fig. 3) after you have enabled “Register View” and “RF Parameters” in the upper part of the window.

Fig. ##: Texas Instruments Expert Mode

After entering expert mode, you will recognize (see Fig.4), that the number of predefined configurations has been increased and the number of options for the predefined tests also has been increased. Beside that, two more windows are now visible:

  • The registers of the chip are now accessible in the “Register View”
    In the register window all the internal registers of the CC1200 are listed. If you change the value of a register, this value will be written directly to the chip. You have two options changing a register: Either you can modify the whole content of the register or some parts. After a register has been written, its content is read back and shown. For some reasons, you trigger the reading of all registers, if you push re “Refresh”-button.
  • You can chose the RF parameters of the chip.
    In this window, you change the RF parameters of the chip, without touching the registers. SmartRF Studio will do that for you. E.g. if you change the symbol rate, SmartRF Studio will modify the affected registers. To test, which register has been changed, press the “Refresh Button” in the register window. All the register that are change to bold text are effected. This is very useful, to determine which registers must be modified in your own source code.

Register Export

After changing all registers to your needs, it is time to export the value of all registers and include the the register values in your own source code. Afterwards the register values will be written by about program.

To export the register values, press the “Register Export”-button as shown in Fig. 4. A new window pops up as shown in Fig. 5.

Fig. ##: Texas Instruments Export Register Window

On the left side of the window, a list of predefined templates are shown. This list can be extended by new templates. Below the template window, the structure of a selected template is depicted:

First, there is a header, followed by the register section and ended by a footer. The result is shown in the right side of the window.

E.g., if you select the “SimpleTI setting” template, the register values are exported in C language header file. The header section opens the possibility to provide a meaningful naming. The register section will be applied to each register. , For each register a new line will create, starting with a C “#define” statement, followed by the string “SMARTRF_SETTING_@RN@”. “@RN” will be replaced ba the register name in large capitals. After the register name a tabulator will follow (“@«@” is the tav´bulator sign) and finally the string “0x@VH@” follows. In this string the placeholder “@VH@” will be replayed by the register value in hexadezimal presentation. In the footer section, the “#ifndef” C statement opened in the header section will be closed.

If you do not like this style, you can modify it with the placeholder “RN, rn, RD rd …” depicted in the “Temple View. The meaning of each placeholder can be obtained by pressing the “Help..” button. You also can create a new template.

If you are satisfied with you template, you will export the register values into a file by pressing “Export to File …” button. But, by careful. Up to now, we habe not selected the registers, that need to be exported. The selection will be done be pressing the “Select…” button. A new window will be opened as shown in Fig. 6.

Fig. ##: Texas Instruments Export Register Selection Window

On the left side in Fig. 6, all the available registers are shown. The CC1200 has 165 registers. On the right side, the exported registers are shown. If you want to remove a register, highlight it in the left window and click the left arrow. If you want to add a register highlight it in the right window and press right arrow. If you want to include all registers, then press the three right arrows and so on. If you are not sure, which registers to include, just include all registers.

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.

network_protocol_programming_lab/8_smartrf.1617963440.txt.gz · Last modified: 2021/04/09 12:17 by admin
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0