Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
network_protocol_programming_lab:8_smartrf [2021/04/09 11:40] – [HF] admin | network_protocol_programming_lab:8_smartrf [2022/04/29 08:43] (current) – [4C Installation] fangenoorth | ||
---|---|---|---|
Line 8: | Line 8: | ||
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 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 Installation ===== | ||
Line 16: | Line 14: | ||
To install //4C// several steps have to be done: | To install //4C// several steps have to be done: | ||
- | - Login as root to the BeagleBone Black and download | + | - Download |
- | - Go back to your PC or laptop. Download Version v14.16.0 of [[https:// | + | - Go back to your PC or laptop. Download Version v14.16.0 of [[https:// |
- | - Download //4C// as a ZIP-File from [[https:// | + | - Download //4C// as a ZIP-File from [[https:// |
- 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 '' | - 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 '' | ||
- Now open your Browser (remember: Chrome, Firefox or Safari) and go to the url: <code bash> | - Now open your Browser (remember: Chrome, Firefox or Safari) and go to the url: <code bash> | ||
+ | |||
+ | **If you work inside uni with your own machines the above setup will not work.** This is because the BeagleBones reside in their own subnet to which you don't have access from your laptops connected to eduroam for example. This issue arose already in the earlier steps. Back then we solved it by first sshing into the inna server (or via JumpHost) and then ssh into the BeagleBones. But now the situation is a bit different, because we cannot instruct our Webbrowser to do this. Instead we have to use a technique called //SSH port tunneling// | ||
+ | |||
+ | Luckily the command to set this up is quite easy. First execute steps 1 to 3 from the above. However in step 3 enter '' | ||
+ | <code bash> | ||
+ | ssh -N t27@inna.tkn.tu-berlin.de -L 4711:<IP of BBB>: | ||
+ | </ | ||
+ | This tells ssh to forward packets arriving on port 4711 on your local machine (from the node webapp) to port 4711 on the BeagleBones (to the cc1200 daemon) using the inna server as a intermediate Jump Host. Note that the terminal window needs to stay opened and this ssh call should not be terminated, otherwise the tunnel will be closed as well. | ||
+ | |||
+ | Now you can start and connect to the webapp as described in step 4 and 5. | ||
+ | |||
===== First Steps with 4C ===== | ===== First Steps with 4C ===== | ||
Line 29: | Line 38: | ||
==== Menu Bar ==== | ==== Menu Bar ==== | ||
- | On top of the window you see the menu bar with the menus //TKN//, //File//, //CC1200// and the // | + | On top of the window you see the menu bar with the menus //TKN//, //File//, //CC1200// and the // |
=== TKN Menu === | === TKN Menu === | ||
Line 63: | Line 72: | ||
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 '' | 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 '' | ||
+ | === Mode Menu === | ||
+ | In the //Mode Menu// you will select which configuration is shown in the //Testing Window// | ||
==== HF Configuration Window ==== | ==== HF Configuration Window ==== | ||
- | In the HF // | + | 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 '' |
Currently only changing the carrier frequency has some effect. Other parameters will follow. | Currently only changing the carrier frequency has some effect. Other parameters will follow. | ||
+ | ==== Register Window ==== | ||
- | ==== Device Control Panel ==== | + | The // |
- | + | ||
- | < | + | |
- | + | ||
- | + | ||
- | 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 " | + | |
- | + | ||
- | === 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. " | + | |
- | + | ||
- | ==== Expert Mode Window ==== | + | |
- | We are not using the easy mode. Therefore switch to expert mode (see Fig. 3) after you have enabled " | + | |
- | + | ||
- | < | + | |
- | + | ||
- | 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 | + | |
- | * //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 " | + | |
- | + | ||
- | ==== Register Export ==== | + | |
- | + | ||
- | After changing all registers to your needs, it is time to export | + | |
- | + | ||
- | To export the register values, press the " | + | |
- | + | ||
- | < | + | |
- | + | ||
- | 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 | + | |
- | + | ||
- | E.g., if you select the "// | + | |
- | + | ||
- | If you do not like this style, you can modify it with the placeholder "RN, rn, RD rd ..." depicted | + | |
- | + | ||
- | If you are satisfied with you template, you will export | + | |
- | < | + | ==== Testing |
- | 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. | + | The //Testing Window// contains |
- | ===== First Tests with SmartRF Studio ===== | + | * Transmission in // |
+ | * Reception in // | ||
+ | * Transmission in //FIFO Mode// data Communication mode and | ||
+ | * Reception in //FIFO Mode// data Communication mode. | ||
- | In section, we are using two evaluation boards. The CC1200 of the first board will act as a transmitter and the CC1200 | + | The data communications modes are explained in the //CC1200 |
- | First leave SmartRF Studio, if no already done. Now prepare two evaluation boards a described in section [[network_protocol_programming_lab: | + | For all data communication modes the following parameters are configured: |
- | + | ||
- | < | + | |
- | 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) | + | carrier frequency: 868 MHz,\\ |
+ | Modulation: 2-GFSK,\\ | ||
+ | Bitrate: 38.4 kBit/s\\ | ||
+ | Deviation: | ||
+ | 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// | ||
- | Select | + | ==== Strobe Window ==== |
- | In the lower window, select | + | The Strobe Window will be used to change |
- | Now, go back to the main window of SmartRF Studio" | + | ===== First Test with 4C ===== |
- | 9. | + | |
- | < | + | First, take a BeagleBone Black equipped with a CC1200 evaluation module and perform the installation of 4C. Now open 4C and the main window appears. |
- | 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. | + | Go to the Register Window |
+ | Now change | ||
- | < | + | In the next step choose //RX Synchronous Serial |
- | 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. | + | You habe found a configuration |