Nutaq’s second generation PicoSDRs utilize our second generation Radio640 FMCs. Radio640 is based on AD9361 RF chip from the Analog devices. In this short application note, we highlight the different options that are available to configure the Radio640 reference clocks.

The host APIs, which form part of the Nutaq Board and Software (BAS) software suite, provide the initialization scripts with .ini extension. These scripts can be used to configure and initialize different FMCs, including Radio640, MI125, MI250, MO1000, ADAC250, etc. Within the scripts for Radio640, we get the option to configure the reference clock source. The second generation PicoSDR consists of Perseus 611x FPGA carrier board, with the configuration shown in Fig. 1.

Perseus611x FMC Naming System


The four Radio640 FMCs together form an 8×8 transceiver system, with a 2×2 configuration per FMC. Two FMCs are double stacked to form a 4×4 system, while the two double stacks together form the complete 8×8 system. In this setup, we have different choices for providing the clocks to the different FMCs. More specifically, there are 4 configurations:

  • Independent external clocks for each FMC.
  • Internally generated clocks for the top FMCs (FMC1 & FMC3) with the bottom two FMCs (FMC2 and FMC4) getting their clocks from the top FMC.
  • Externally generated clocks for the top FMCs (FMC1 & FMC3) with the bottom two FMCs (FMC2 and FMC4) getting their clocks from the top FMC.
  • Independent clock generated internally on each FMC.

All of the above configurations can be specified in the .ini script. Fig. 2 shows a snippet from the Radio640 initialization scripts. As shown in the figure, It is just a matter of selecting one of the options from the specified configurations. The # sign indicates comments in .ini script format. Moreover, the square brackets ([ ]) are used to address a given FMC.

Reference Clock Source


So for example, if we wanted to specify an external clock source for FMC1 and FMC3, we would configure this as follows:

[FMC1, FMC3]

clk_src = eRadio640ClkSrcExt

Similarly, to instruct FMCs 2 and 4 to get their reference clock from their respective master FMCs (top FMCs), the following configuration would be used:

[FMC2, FMC4]

clk_src = eRadio640ClkSrcMaster

With the above configuration, FMC2 and FMC4 would get their reference clocks from FMC1 and FMC3, respectively. The .ini scripts are parsed automatically by the host APIs. To achieve this, we pass the .ini script name as a parameter to the Windows and Linux executables used for initializing Radio640. Nutaq also provides the complete source files that are used to generate these executables.