BNMR: Difference between revisions

From DaqWiki
Jump to navigation Jump to search
Line 37: Line 37:




== Experimental (PPG) Modes ==
== Experimental modes ==
A number of different experimental modes are defined for each of Type 1 (Integral) and Type 2 (TD) [[#Environment|environment]]. These allow different experimental modes to be run (e.g. Frequency scan, Rb Cell scan).
 
There are two separate concepts that use similar naming schemes (e.g. 1f, 20) - the timing of pulses issued by the PPG and the name of the overall experimental mode. The overall mode determines both which timing scheme is run, as well as which hardware is scanned during the run (e.g. RF frequency, Na cell voltage). Multiple experimental modes may use the same PPG timing scheme (e.g. modes 1c, 1d, 1e, 1n use the PPG timing scheme called 1n).
There are two separate concepts that use similar naming schemes (e.g. 1f, 20) - the timing of pulses issued by the PPG and the name of the overall experimental mode. The overall mode determines both which timing scheme is run, as well as which hardware is scanned during the run (e.g. RF frequency, Na cell voltage). Multiple experimental modes may use the same PPG timing scheme (e.g. modes 1c, 1d, 1e, 1n use the PPG timing scheme called 1n).


Line 59: Line 57:
| 1d || 1n || ✓ || ✓ || Scan the laser intensity
| 1d || 1n || ✓ || ✓ || Scan the laser intensity
|-
|-
| 1e || 1a ||  || ✓ || Scan the magnetic field strength
| 1e || 1n ||  || ✓ || Scan the magnetic field strength
|-
|-
| '''1f''' || 1f || ✓ || ✓ || Scan RF frequency
| '''1f''' || 1f || ✓ || ✓ || Scan RF frequency
Line 93: Line 91:


Any of these modes may be run in [[#Beam Control|single channel mode]]. Only Type 2 modes may be run in [[#Beam Control|dual channel mode]].
Any of these modes may be run in [[#Beam Control|single channel mode]]. Only Type 2 modes may be run in [[#Beam Control|dual channel mode]].
Users change which mode is active using the webpages for each experiment, which in turn interact with the [[#Software_Components|mode changer]] python script.


== Hardware Components ==
== Hardware Components ==

Revision as of 16:13, 25 April 2022

Links

BNMR and BNQR Experiments at TRIUMF

This is the main page of the documentation for the Data Acquisition System (DAQ) for the BetaNMR (BNMR) and BetaNQR (BNQR) experiments at TRIUMF

Introduction

The Data Acquisition System is based on the MIDAS data acquisition package.

There are two separate beamlines, BNMR and BNQR, each with its own experimental setup :

  • bnmr running on the BNMR high-voltage platform
  • bnqr running on the BNQR high-voltage platform

Each experimental setup has its own #Hardware Components (i.e. a VME crate containing DAQ modules). Each runs as a separate MIDAS experiment named bnmr or bnqr. DAQ software specific to these experiments (MIDAS clients) run the experiments - see #Software Components. Experimenters control the experiment using the MIDAS Web Server (mhttpd).

Beam Control

The main TRIUMF EPICS Control System is used to control the beam, which can be switched to either experiment's beamline. There are two Beam Modes that the experiments can be run in:

single channel mode
where the beam is sent to one beamline (channel) only, either BNMR or BNQR. Only one of the DAQ systems bnmr or bnqr is active.
dual channel mode
where the beam is switched between the two beamlines (channels) BNMR and BNQR at regular intervals. Both DAQ systems bnmr and bnqr are active.

Environment

For both experiments, two types of environment are defined (cf MUSR experiments):

  • Integral (Type 1)
  • Time Differential or TD (Type 2)
  • Combination of the above two types

See #Experimental (PPG) Modes.


Experimental modes

There are two separate concepts that use similar naming schemes (e.g. 1f, 20) - the timing of pulses issued by the PPG and the name of the overall experimental mode. The overall mode determines both which timing scheme is run, as well as which hardware is scanned during the run (e.g. RF frequency, Na cell voltage). Multiple experimental modes may use the same PPG timing scheme (e.g. modes 1c, 1d, 1e, 1n use the PPG timing scheme called 1n).

Below is a full list of experimental modes, with the most common ones highlighted in bold. More details about each mode can be found on the BNMR mode changer page and the BNQR mode changer page.

Experimental modes
Mode name PPG timing BNMR? BNQR? Comment
10 10 No RF, nothing scanned
1a 1a Scan RF frequency
1b 1b Scan RF frequency
1c 1n Scan settings on a Camp device
1d 1n Scan the laser intensity
1e 1n Scan the magnetic field strength
1f 1f Scan RF frequency
1g 20 Scan RF frequency
1j 20 Scan settings on a Camp device
1n 1n Scan the Rb cell voltage or any other EPICS device
1w 1w Parametric scan of RF frequencies
1x 1f Scan RF frequency with one region at higher resolution
20 20 Nothing scanned
2a 2a Scan RF frequency
2b 2b Scan RF frequency
2d 1b RF on, nothing scanned
2e 2e Scan RF frequency
2f 2f Scan RF frequency
2h 20 Read alpha channels from scalers
2s 2s Spin-echo
2w 2w RF Wurst modulation

Any of these modes may be run in single channel mode. Only Type 2 modes may be run in dual channel mode.

Users change which mode is active using the webpages for each experiment, which in turn interact with the mode changer python script.

Hardware Components

DAQ hardware components for each DAQ system (BNMR/BNQR) include the following VME modules:

Table 2: VME Modules for each Experiment
Module Description VME Base Address BNMR BNQR Manual
SIS3801 version E multichannel scaler A 0x2800 yes no
SIS3801 version E multichannel scaler B 0x1800 yes yes *
SIS3820 multichannel scaler B 0x38000000 no yes *

SIS3820

PPG (Pulseblaster) Pulse Programmer 0x8000 yes yes PPG
Spincore Pulseblaster
PSM Pol Synthesizer module (RF) 0x820000 no yes PSM
AD9857 Quadrature
Digital Upconverter

Programming Guides:
PSM / PSMII
PSMII** Pol Synthesizer module II (RF) 0x820000 yes no
PSMIII** Pol Synthesizer module III(RF) 0x820000 yes no Pol Synth III (VSF)
Programming Guide
PSMIII
NIMIO32 Input/Output Register 0x100000 yes yes NIMIO32
MVME162 68040 board, cpu runs CAMP (VxWorks) bnmrvw polvw
VMIC cpu runs frontend (Linux) lxbnmr lxbnqr
* Currently (July 2017) BNQR crate contains both SIS3801E and SIS3820. Latest version supports Alpha Mode which requires the SIS3820. The SIS3801E will be removed from the crate shortly.
** May 2018 PSMII replaced by PSMIII in BNMR crate.

The names of the VMIC running the frontend and MVME162 (the CAMP host) for each experiment are shown in Table 2 above.


The connections between the DAQ VME Modules are shown in BNMR DAQ Hardware Connections.

Software Components

The DAQ system is based on the MIDAS package. Data acquisition software to run the bnmr and bnqr experiments has been written to run under MIDAS. This includes the frontend, custom logger etc. This software is mostly common to both experiments (differences between the two experiments are handled with ifdefs).

The experiment is controlled using the MIDAS webserver (mhttpd). Due to the large number of experimental parameters required, Midas custom pages have been written for the experimenters to control and monitor their experiment.

The custom logger (mdarc/midbnmr) saves the data into MUSR MUD format files, and the MUSR CAMP slow control system is used for slow controls. Analysis is done by physica.

The DAQ software components are started by the script start-all and stopped by the script kill-all. These include standard MIDAS utilities (e.g. mhttpd, mlogger, mserver) as well as components specific to the bnmr and bnqr experiments.

The main DAQ software components specific to the bnmr and bnqr experiments are

Table 3: DAQ Software Components
Component Host Experiment Purpose
Name Type Name Type
febnmr_vmic Midas
frontend
lxbnmr #VMIC bnmr the frontend sets up, reads out hardware modules, sends histograms.
The frontend code for both experiments is identical.
febnqr_vmic lxbnqr bnqr
rf_config Midas
Client
isdaq01 Midas
Host
PC
both check PPG parameters, download program to PPG
mdarc custom data logger saves data in MUD format
midbnmr converts MIDAS format saved data files to save in MUD format
mheader sends out CAMP and EPICS slow-control data to be saved in the MUD data file
fe_epics sends experimental data to EPICS (can be read by control-room)
autorun automatic run controller
cleanup cleans up and archives any saved run files that were not properly archived. Run by user occasionally as needed.
scripts isdaq01 MIDAS
host
PC
both scripts perform important functions e.g. kill-all, start-all. Scripts run at the begin and end of each run send information to the elog, check the CAMP logged variables etc.
perlscripts isdaq01 both various perlscripts control changing experimental mode, checking and maintaining run numbering, etc.
camp camp
server
bnmrvw MVME162 bnmr MUSR slow control system
polvw bnqr
camp
client
isdaq01 Midas
Host PC
both
physica isdaq01 Midas
Host PC
both data analyser
lcrplot plot data


Each of the DAQ components is described in more detail (click on the appropriate link in Table 3). The perlscripts use the MIDAS utility odbedit to communicate with the ODB, and may be run by one of the MIDAS clients, or by a (custom)script button on a MIDAS web page.

Separate test software has been created for some of the hardware modules. See BNMR: Hardware Debugging.


DAQ Summary

The VMIC front end computer
  • runs the frontend code which
    • controls PSM,PPG, VMEIO, Scaler modules
    • acquires data from SIS MCS (scaler) module(s), builds histograms
    • uses channel access to control EPICS variable(s) (e.g. helicity)
    • periodically sends the data out into the data buffer
The host computer (isdaq01)
  • runs all other software components which
    • acquire the data from the data buffer
    • log the data
    • monitor the experiment
    • start/stop runs

Nomenclature

In this document, " bnmr or bnqr " may be written as " bn[mq]r "

For example, directories :

/home/bnmr/online/bnmr spc and spc /home/bnqr/online/bnqr

are referred to by shortcuts such as

space /home/bn[nm]r/online/b[nm]r spc and spc ~/online/b[nm]r

Alternatively, these directories may be written as

  • /home/<experiment>/online/<beamline>
  • /home/<expt>/online/<beamline>
  • ~/online/<beamline>

where <experiment> <expt> and <beamline> are bnmr or bnqr.