This is an old revision of the document!
Table of Contents
Exercise: Changing the frequency
It is obvious, that changing the RF frequency is a fundamental requirement of frequency hopping systems. Therefor programming the RF frequency is the aim of this exercise. Programming the RF frequency is done according chapter 9.1.2 of CC1200 Users Guide.
In detail, the HF $f_{RF}$ frequency is computed by:
$$ f_{RF}=\frac{f_{VCO}}{LO\ Divider} $$
where $f_{VCO}$ is the frequency of the “Voltage Controlled Oscillator (VCO)” and will be computed by $$ f_{VCO} = \frac{FREQ}{2^{16}} . f_{XOSC} + \frac{FREQOFF}{2^{18}} . f_{XOSC}$$
In this two equations $f_{XOSC}$ is the crystal frequency of the TI boards and equals to $40 MHz$. LO Divider determines the frequency band of the CC1200 and can be obtained in the FSD_BANDSELECT part of the “Frequency Synthesizer Configuration” register (FS_CFG register).
FREQ is the 24 bit VCO frequency and computed by the FREQ0 (bits 16-23 of VCO frequency), FREQ1 (bits 8-16 of VCO frequency) and FREQ2 (bits 0-7 of VCO frequency) registers. FEQOFF is intended for fine tuning the RF frequency caused by tolerances of the crystal and can be neglected.
Requirements
This task requires
- a ready BeagleBone Black equipped with the CC1200
- one TI Development Kit for the CC1200
- Smart RF Studio.
Tasks
- the programming is done by reusing the source files of lesson change_frequency
- open the CC1200 panel and select “Symbolrate 38.4kbps, 2-GFSK, RX BW 100kHz, ETSI Standard (868MHz)” in the typical settings part
- press the button “Packet RX” in the lower window. Some registers in the register view will change their value
- in the option
length configchangevariabletofixed. - now, choose an appropriate length of the
Lengthfield, e.g. 10. - export all registers to a file. This means 208 registers must be exported.
- connect the BeagleBone Black to your computer and login as superuser.
- copy the export file from SmartRF Studio to the BeagleBone Black
- import the export file into your program and initialize the registers according the values of the export file.
- verify that the registers have been written correctly.
- Read chapter 8 about the packet handling of the CC1200 Users Guide and implement it.
- Bring SmartRF Studio in “Packet TX” mode, change the
length configto fixed and change theLengthfield to the value used in the export file - start the transmitter. At the receiver, the BeagleBone Black, You should now receive the packets.
If you are able to receive packets in fixed length mode, the next step will be to receive packets in variable length mode:
- go back to SmartRF Studio and change the
length configtovariable - look, which registers have been changed.
- modify the changed registers in your program. You do not need to reexport the complete registers.
- now, implement variable length packets and test it.
