Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
university:tools:m2k:tutorials:buildingaradiowithm2k [26 Feb 2020 12:34] – replace gr-iio with gr-m2k Teo Perisanuuniversity:tools:m2k:tutorials:buildingaradiowithm2k [25 Jan 2021 15:20] – fixed links Adrian Suciu
Line 59: Line 59:
 Controlling the radio implies controlling the output voltage frequency of ADF4350. A GRC block, integrated with M2k blocks, that controls the frequency can be created. no-OS provides a driver for ADF4350 that simplifies the work. This driver communicates using SPI. In the following steps we are going to create a GRC block for gr-m2k that uses libm2k communication segment integrated with no-OS drivers.  Controlling the radio implies controlling the output voltage frequency of ADF4350. A GRC block, integrated with M2k blocks, that controls the frequency can be created. no-OS provides a driver for ADF4350 that simplifies the work. This driver communicates using SPI. In the following steps we are going to create a GRC block for gr-m2k that uses libm2k communication segment integrated with no-OS drivers. 
  
-  - Install libm2k. Instructions can be found [[https://wiki.analog.com/libm2k|here]]. +  - Install libm2k. Instructions can be found [[/university/tools/m2k/libm2k/libm2k|here]]. 
-  - Compile the gr-m2k blocks for your PC. Check the steps [[https://wiki.analog.com/university/tools/m2k/libm2k/gr-m2k|here]].+  - Compile the gr-m2k blocks for your PC. Check the steps [[/university/tools/m2k/libm2k/gr-m2k|here]].
   - Download the ADF4350 driver from [[https://github.com/analogdevicesinc/no-OS/tree/d00cc225a264d03807cafc4bf6a133af69affa36/drivers/frequency/adf4350|no-OS page]].   - Download the ADF4350 driver from [[https://github.com/analogdevicesinc/no-OS/tree/d00cc225a264d03807cafc4bf6a133af69affa36/drivers/frequency/adf4350|no-OS page]].
  
Line 102: Line 102:
 **Create the implementation class** **Create the implementation class**
  
-In this part we are going to integrate libm2k with a no-OS driver. For more information please check this [[https://wiki.analog.com/libm2k/digital_communication#libm2k_and_no-os_drivers|link]].+In this part we are going to integrate libm2k with a no-OS driver. For more information please check this [[/university/tools/m2k/libm2k/digital_communication#libm2k_and_no-os_drivers|link]].
  
 Create //adf4350_sink_impl.h// and //adf4350_sink_impl.cc// in gr-m2k/lib. Create //adf4350_sink_impl.h// and //adf4350_sink_impl.cc// in gr-m2k/lib.
Line 202: Line 202:
 {{:university:tools:m2k:tutorials:m2k_fm.png|}} {{:university:tools:m2k:tutorials:m2k_fm.png|}}
  
-The file {{ :university:tools:m2k:tutorials:m2k_fm_1.zip |}} contains the gnuradio flowgraph.+The file {{ :university:tools:m2k:tutorials:m2k_fm.zip |}} contains the gnuradio flowgraph.
 The gnuradio flowgraph acquires the data from the M2K and sets the ADF4350 PLL frequency. When changing the PLL frequency slider, the gnuradio ADF4350 block that we just written, encodes SPI messages to the PLL in order to change the frequency that is fed into the mixer.  The gnuradio flowgraph acquires the data from the M2K and sets the ADF4350 PLL frequency. When changing the PLL frequency slider, the gnuradio ADF4350 block that we just written, encodes SPI messages to the PLL in order to change the frequency that is fed into the mixer. 
 The data acquired from the mixer is captured by the M2k using GNURadio. The flow then shifts the frequency by a smaller offset in the "offset" slider. The offset slider allows fine tuning of the signal before it gets demodulated by the WBFM receiver block. Eventually the data is sent to an audio sink which plays back the radio in the speakers. The data acquired from the mixer is captured by the M2k using GNURadio. The flow then shifts the frequency by a smaller offset in the "offset" slider. The offset slider allows fine tuning of the signal before it gets demodulated by the WBFM receiver block. Eventually the data is sent to an audio sink which plays back the radio in the speakers.
  
 This project was presented in GRCon 2019. Slides are available [[https://www.gnuradio.org/grcon/grcon19/presentations/building_a_radio_with_m2k_and_spare_parts/Adrian Suciu - Building a radio with m2k and spare parts.pdf|here]] This project was presented in GRCon 2019. Slides are available [[https://www.gnuradio.org/grcon/grcon19/presentations/building_a_radio_with_m2k_and_spare_parts/Adrian Suciu - Building a radio with m2k and spare parts.pdf|here]]
university/tools/m2k/tutorials/buildingaradiowithm2k.txt · Last modified: 25 Jan 2021 15:22 by Adrian Suciu