BNMR: PSM (Pol Synth Module)

From DaqWiki
Revision as of 15:01, 25 April 2022 by Bsmith (talk | contribs)
Jump to navigation Jump to search

Links

Introduction

The PSM/PSM2/PSM3 VME modules are used to produce RF for the bnmr and bnqr respectively. In this document, "PSM" refers to any of these modules. There are significant differences between the modules. The PSM must be run on the bnqr experiment only, and the PSM2 on bnmr only (see #PSM2 for details).

The PSM3 is designed to be run on either bnmr or bnqr. A front-panel switch selects between bnmr or bnqr operating mode. Only one PSM3 module has been built. Currently it is located in the bnmr VME crate and is still being tested.

PSM Manuals

Description

Please refer to the #PSM Manuals from which much of this information is derived.

PSM/PSM2

The POL Synthesizer Module (PSM/PSM2) is a VME module built at TRIUMF, incorporating a AD9857 Quadrature digital upconverter. It has been designed to generate a complex modulation swept RF signal summed with a reference frequency (fREF). In the case of the PSM, the swept signal may be a single modulated carrier (1f) or include the modulated 3rd and 5th harmonics (3f and 5f). In the case of the PSM2 the 3f and 5f profiles output the same frequency as the 1f profile. They are designed to be used to produce RF shifted in phase compared to the 1f profile by 90 or 270 degrees.

Each carrier is independently modulated.

Note
the harmonics and the reference frequency ( 1f,3f,5f, fREF) are known as "profiles".
Do not confuse the "1f" profile with the Experimental (PPG) Mode 1f (Freq) !!

At the time of writing, only the "1f" profile has actually been used in the bnmr and bnqr experiments.

For the bnmr and bnqr experiments only profile "1f" is implemented in the frontend code, except for PPG Mode 1f (Freq) where both profile "1f" and fREF are supported. To avoid confusion, the profile "1f" is referred to in the programs and the custom parameters page as "one-f".

The PSM/PSM2 can be operated in two modes:

Single Tone Mode
carrier is not modulated, the output signal consists of a single frequency signal. Frequency data are read from the Frequency Sweep Memory (1f,3f,5f) or from the Frequency tuning register (fREF). At least one strobe must be issued.
Quadrature Modulation Mode
both the I and Q data paths are active, the output is a quadrature modulated analog output signal. The I and Q data are read from the I&Q data memory. Each profile (1f,3f,5f,fREF) has its own I&Q memory. If an unmodulated carried is needed, I,Q pairs are set to constant values. When the I,Q memory length is set to zero, the output is modulated by a pair of constant values.

The carriers are synthesized and modulated digitally. In quadrature modulation mode, the modulation data consists of up to 2048 I,Q pairs sampled at a submultiple of the carrier sample rate. The synthesizer circuit interpolates the I,Q sample rate to match the carrier sample rate before modulation.

See #PSM2 Module for a note on how the PSM2 differs from the PSM.


PSM2

The PSM is designed for use in the BNQR experiment. The PSM2 module was later designed for use in the BNMR experiment, and is a modified PSM module, running at a higher frequency (up to almost 80MHz compared with the PSM's almost 40MHz). See PSM2 for the differences between the PSM and PSM2.

Note
Due to a bug in the module, the PSM2 does not support Single Tone Mode. To simulate Single Tone Mode, the PSM2 is run in Quadrature Modulation Mode with the Idle i,q pair set to (511,0). This is set up automatically by the custom parameters page when the user selects Single Tone Mode. A note to this effect appears below the PSM2 parameters.


PSM3

This module will replace the PSM and PSM2.

The POL Synthesizer Module (PSM3/VFS) is a VME module built at TRIUMF. It has been designed to generate a complex modulation swept RF signal summed with a reference frequency (f1). It comprises four independent frequency channels (f0 Ch1-4) and a fifth reference channel (f1).

The PSM3 has two operating modes (programmable or selected by a switch on the front panel). In BNMR mode, the four frequency channels output RF at the selected frequency in four fixed phases: O,90,180 and 270 degrees output from f0 Ch1-4 respectively. The f1 reference channel outputs the reference frequency at the same phase at the 0 degree channel.

In BNQR mode, the module outputs harmonics of the f0 Ch1 RF on the f0 Ch2-4 channels. In BNQR mode, a phase offset from f0 Ch1 can be programmed for Ch2-4 channels.

The PSM3 has no single tone/quadrature mode register. Single tone mode is achieved by modulating with a fixed I,Q pair of e.g. (512,0).


Idle Frequency, Idle I,Q pair

The PSM defines a location in Frequency memory where a single frequency can be loaded, known as the Idle Frequency location or "Idle". The Idle location is the highest Frequency DM address in the module.

Similarly, in each I,Q pairs memory, the highest address is defined as the Idle I,Q location for that profile/channel.

Loading a frequency value into Idle, resetting the memory pointer to point to this location and issuing a strobe will result in a single RF frequency being loaded, provided...

  • the amplitude is set > 0
  • external gate(s) supplied or select "gated always"
  • PSM/PSM2 :
    • the module must not be set to full sleep mode
  • PSM :
    • select "single tone mode"
  • PSM2 :
    • load IQ pair (512,0) into Idle I,Q for all enabled profiles
  • PSM3 :
  • load IQ pair (512,0) into Idle I,Q for all enabled channels


Using the PSM in the BNMR/BNQR experiment

Programming the PSM module (loading the registers/generating frequency/iq files) is done automatically depending on the parameters the experimenter enters on the custom parameters page. The client rf_config checks the PSM parameters, and generates I,Q pairs file(s) and/or a frequency file if needed.

The output signal can be modulated with a single I,Q pair ("Single Tone Mode") or by I,Q pairs read from the I,Q Memory. I,Q pairs file(s) are generated automatically (by rf_config) for "Quadrature Modulation Mode" according to the parameters supplied. Currently the modulation modes supported in the bnmr and bnqr are "Hermite" and "ln-sech". The I,Q pairs file is loaded into the I,Q memory at begin-of-run.

When a frequency file is loaded, if the number of strobes exceeds the number of frequencies, the frequency is set according to the input parameters. The frequency may stay at the final frequency, jump to the idle frequency, or return to the first value in the frequency file. Similarly if an I,Q pairs file is loaded and the gate remains active for longer than the time taken to read out the I,Q memory, depending on the input parameters, the idle I,Q pair, or the first or last I,Q pair in memory may be used for the modulation.

If desired, all the I values or all the Q values in the file can be set to 0 for testing.

When the experimenter switches to a particular PPG Mode, default values for the PSM parameters are loaded. The experimenters can then change the PSM parameters as desired.


In the bnmr and bnqr experiments, the PSM module is programmed differently for a Type 1 (I-MUSR) or Type 2 (TD-MUSR) experiment.

Type 1 (I-MUSR) RF experiments

Some Type 1 experiments (Modes 1a,1b,1f,1g) include a frequency (RF) scan. During the run, the frequency is incremented between the start and stop values. The frequency remains constant during the cycle, and is incremented by a software command from the frontend at the end of each cycle. When the frequency value reaches the stop value, the helicity may be flipped and the scan is restarted. The desired frequency is loaded into the Idle Frequency location (no frequency table is generated).


Randomized frequency values are supported for some Modes (1a,1b). In this case, a frequency table is generated (by rf_config) but not downloaded into the module. The frequency table is a list of the frequency values to be loaded for the scan. The frequency table is loaded into an array at begin-of-run and randomized (i.e. the frequency step values are randomly selected). The random frequency values are then loaded into the Idle frequency location in turn and the cycle started. When all the values are exhausted, the scan is finished. The frequency values are then re-randomized and the process repeated.


Type 2 (TD-MUSR) experiments

Type 2 Modes are divided into two cases:

Non-Table-Driven Modes

  • Modes 20*,2d,2s

A fixed frequency is used for the run (no frequency scan). The frequency value is loaded into the Idle Frequency. The RF is gated by output(s) from the PPG, so the RF comes on during part of the cycle.

* Mode 20 can also used with no RF.

Table-Driven Modes

  • Modes 2a,2b,2e,2f

These are frequency table-driven modes, which include a frequency scan. During each PPG cycle, the frequency is scanned by incrementing between the start and stop values. To implement this, a frequency table is downloaded into the PSM. The frequency table is a list of all the frequency values to be loaded for one scan of the RF between the start and stop values. The frequency file is generated by rf_config from the input parameters in the ODB. The frequency table is loaded into the PSM DM at begin-of-run. During each PPG cycle, the PSM outputs each frequency in turn from DM, on receipt of a strobe signal from the PPG.

Randomized frequency values are supported for some table-driven Modes (2a,2e,2f). In this case, the frequency table is generated by rf_config. This table is read into an array at begin-of-run and randomized. The random values are loaded into the PSM DM from a pointer (rather than from a file). This process (randomize and load into PSM DM) is repeated between each PPG cycle. The random frequencies are output in turn on receipt of the PPG strobe signal.