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.
  • 4C attached to a second BeagleBone Black equipped with the CC1200.

Tasks

  • the programming is done by reusing the source files of lesson 2. Exercise: Packet Reception. Make a copy of the files.
  • Change the symbol rate to 1.2 kBaud and the preamble count to 6 bytes. If necessary reexport the register value from 4C.
  • Read chapter 9.12 ff. about programming the RF frequency in the CC1200 Users Guide and implement it.
  • you should implement a function for programming the frequency and printing the current programmed frequency.
  • for testing compare your computed values of the FREQ registers with SmartRF Studio.
  • In your program, set RF to an arbitrary value (e.g. 851 MHz) within the supported frequency band of CC1200.
  • In SmartRF Studio also change the symbol rate to 1.2 kBaud and the preamble count to 6 Bytes.
  • Bring 4C in “TX Packet Mode“ using the default frequency (858MHz).
  • start the transmitter. At the receiver, the BeagleBone Black, you should now receive NO packet.
  • Now, stop the transmitter and change the frequency to your selected frequency.
  • Now, you should be able to receive the packets.

Hints

  • take care on rounding errors. E.g. the frequency should be 868 MHz and not 867.5 MHz.
network_protocol_programming_lab/change_frequency.txt · Last modified: 2021/04/19 12:40 by rathke
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0