Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| network_protocol_programming_lab:change_frequency [2020/05/18 08:57] – rathke | network_protocol_programming_lab:change_frequency [2021/04/19 12:40] (current) – [Tasks] rathke | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Exercise: Changing the frequency ====== | ====== Exercise: Changing the frequency ====== | ||
| - | It is obvious, that changing the RF frequency is a fundamental requirement of frequency hopping systems. Programming the RF frequency is done according chapter 9.1.2 of [[http:// | + | 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 [[http:// |
| - | In detail, the HF $f_{VCO}$ frequency is computed by: | + | In detail, the HF $f_{RF}$ frequency is computed by: |
| - | $$ f_{RF}=\frac{f_{VCO}}{"LO\ Divider} $$ | + | $$ f_{RF}=\frac{f_{VCO}}{LO\ Divider} $$ |
| - | + | ||
| - | where | + | |
| + | where $f_{VCO}$ is the frequency of the " | ||
| $$ f_{VCO} = \frac{FREQ}{2^{16}} . f_{XOSC} + \frac{FREQOFF}{2^{18}} . f_{XOSC}$$ | $$ 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 equal to $40 MHz$. '' | + | In this two equations $f_{XOSC}$ is the crystal frequency of the TI boards and equals |
| + | |||
| + | 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 [[network_protocol_programming_lab: | ||
| + | * 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 [[http:// | ||
| + | * 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. | ||
| + | |||
