Configuring Synchronous Data Runs#

Introduction#

There are times when you need to make sure data runs are synchronized and the same length across all modules. For example, counting measurements need consistent run lengths to simplify data normalization. Coincidence measurements need to start at the same time to ensure trigger correlation between modules. The Pixie-16 system provides this critical functionality.

Warning

Synchronous data runs requires all modules in the Pixie-16 Crate. A single misconfigured module prevents data runs from executing on all modules.

This guide will take you step-by-step through the process.

Setting up the system#

We’ll reference the User’s Manual throughout these instructions. You can view the manual at this link.

These instructions focus on a single crate as this is the most common configuration. The User’s Manual Section 1.7.2 has more information on multi-crate systems.

Clock distribution#

Run synchronization works best when all modules use the same clock. This ensures that the timestamps can be correlated between modules. You can configure this using the daisy-chained (User’s Manual Section 1.7.1.3) or PXI (User’s Manual Section 1.7.1.2) clock modes. It is possible to execute a synchronous run with the individual clock mode. Just be aware that timestamps, reported run lengths, etc. may vary slightly between modules.

We recommend using the PXI clock mode for most situations.

Settings file configuration#

This is where we see the most confusion. Misconfiguration here causes runs to never start. Three module parameters affect the data runs: MODULE_CSRB, IN_SYNCH, SYNCH_WAIT.

First, configure the System Director module in Slot 2 by setting MODULE_CSRB to 81. This ensures that a single module handles signal coordination. All follower modules should have a value of 0.

Next, set SYNCH_WAIT to 1 in all modules in the system. This is the most critical step. Any module with a value of 0 will prevent data run execution in all other modules.

Finally, set IN_SYNCH to 0 in all modules. A mix of settings here won’t affect starting and stopping runs. It will affect your ability to reconstruct time correlated events in your data.

Starting the data run#

You start data runs with the same function calls as an asynchronous run: Pixie16StartListModeRun() and Pixie16StartHistogramRun(). The major difference here is that you don’t have to call the function for every module in the system. Just the leader module will do (i.e. slot 2).

Results in a mixed-module system#

The table below demonstrates the precision of using synchronous data runs. The expected run time for both runs was 10 seconds. The table contains the real time value reported by the module.

The standard deviation for synchronous runs was 0.0015 s. Asynchronous runs have a std. deviation of 0.0332 s. The synchronous runs have an order of magnitude smaller spread. This is because asynchronous start times occur when the host software issues the request.

Revision

Slot

Sync

Async

F

2

10.002

10.0583

H

4

10.0044

10.0339

F

7

10.0036

10.0967

F

8

10.0009

10.0079

F

9

10.001

10.0078

H

10

9.99997

10.0078

B

12

10.0009

10.0077

C

13

10.0011

10.0081