...
Term | Description |
---|---|
ATCA | Advanced Telecommunications Computing Architecture |
BSA | Beam Synchronous Acquisition |
CPU | Central Processing Unit |
EPICS | Experimental Physics and Industrial Control System |
EVR | Event Receiver |
FPGA | Field Programmable Gate Array |
IOC | Input Output Controller |
RF | Radio Frequency |
SHM | Shelf Manager |
TPR | Timing Pattern Receiver |
VCO | Voltage Controlled Oscillator |
...
Linac Locking - A System Level Overview
In this section, IOC deployment details are provided pertaining to the App hosting the phase locker IOC, as well as the IOC name and the assigned CPUs in both Dev and Production.
The Timing Pattern Receiver (TPR) is an application that replaced the Event Receiver (EVR) for LCLS-II and its purpose is to generate triggers for control, data acquisition and other purposes. There are two main flavors in which this application is deployed: (i) as a PCIe board and (ii) as an ATCA board. The IOC described here is for a PCIe card. The TPR operates at a faster rate than the EVR (i.e. higher bandwidth), has a more compact frame and also has an LCLS-I timing fiber input, thus allowing it to switch to an LCLS-I operating mode if needed.
(PCIe TPR - Borrowed from PCIe TPR peer review slide deck, see Reference section below)
The PCIe TPR can provide up to 12 hardware triggers and/or channels. A channel is a source for a trigger and can be AND-ed or OR-ed with its adjacent channel. The user is also able to control --besides rate-- polarity, delay and width. Below, one can find a comprehensive view of the functionality of the TPR that spans firmware, middleware and software. For more details, please refer to the attached slide deck at the bottom of this page.
(PCIe TPR Firmware and Software - Borrowed from PCIe TPR peer review slide deck, see Reference section below)
The IOC is used in conjunction with the TPR displays to not only read diagnostics from the firmware, but also set up triggers, assign channels to triggers and timestamp Beam Synchronous Acquisition (BSA) data.
In this section, IOC deployment details are provided pertaining to the App hosting the phase locker IOC, as well as the IOC name and the assigned CPUs in both Dev and Production.
The IOC is housed by the masterSource App. The intended released tag in Production is The IOC is housed by the masterSource App. The intended released tag in Production is R2.2.3.
IOC App Name | App Version |
---|---|
masterSource | R2.2.3 |
...
Code Block | ||
---|---|---|
| ||
(base) skoufis@aird-b50-srv01 (master) $ cat db/pcie_tprTrig.db record(longin, "TPR:$(LOCA):$(IOC_UNIT):$(INST):FPGAVER") { field(DESC, "TimingCore FPGA version") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),0) fpgaVersion") field(SCAN, "I/O Intr") } record(longin, "TPR:$(LOCA):$(IOC_UNIT):$(INST):UPTIME") { field(DESC, "TimingCore Uptime") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),0) uptime") field(SCAN, "I/O Intr") } ... record(bo, "TPR:$(LOCA):$(IOC_UNIT):$(INST):EVSOFT07_TCTL") { field(DESC, "Soft Event 07 Enable/Disable") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),0) softEvEnable_07") field(OMSL, "supervisory") field(ZNAM, "Disabled") field(ONAM, "Enabled") field(PINI, "YES") info(autosaveFields, "VAL") } record(longout, "TPR:$(LOCA):$(IOC_UNIT):$(INST):EVSOFT07") { field(DESC, "Soft Event 07") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),0) softEv_07") field(DTYPOMSL, "asynInt32supervisory") field(OUTPINI, "@asyn($(PORT),0) softEv_07") field(OMSL, "supervisory") field(PINI, "YES") info(autosaveFields, "VAL") } |
Displays in both Dev and Production exist for the control of the triggers.
...
YES")
info(autosaveFields, "VAL")
}
|
Displays in both Dev and Production exist for the control of the triggers.
To set the triggers and corresponding channels in Production, follow the instructions below.
Code Block | ||
---|---|---|
| ||
[softegr@lcls-srv01 skoufis]$ cd $EPICS_IOCS/sioc-sys0-ms09/iocSpecificRelease/masterSourceApp/srcDisplay/
[softegr@lcls-srv01 srcDisplay]$ ./sioc-sys0-ms09_gui.sh
|
This should launch the main display, from which we can invoke the appropriate channel and trigger screens for setup. See an example of those scenes below.
To set the triggers and corresponding channels in ProductionDev, follow see the instructions below.steps below.
Code Block | ||
---|---|---|
| ||
[softegr@lcls-srv01 skoufis]$ cd $EPICS_IOCS/sioc-b084-ms09/iocSpecificRelease/masterSourceApp/srcDisplay/
| ||
Code Block | ||
| ||
[softegr@lcls-srv01 skoufissrcDisplay]$ cd $EPICS_IOCS./sioc-sys0-ms09/iocSpecificRelease/masterSourceApp/srcDisplay/ [softegr@lcls-srv01 srcDisplay]$ ./sioc-sys0-ms09_gui.sh |
This should launch the main display, from which we can invoke the appropriate channel and trigger screens for setup. See an example of those scenes below.
To set the triggers and corresponding channels in Dev, see the steps below.
Code Block | ||
---|---|---|
| ||
[softegr@lcls-srv01 skoufis]$ cd $EPICS_IOCS/sioc-b084-ms09/iocSpecificRelease/masterSourceApp/srcDisplay/
[softegr@lcls-srv01 srcDisplay]$ ./sioc-b084-ms09_gui.sh |
The released software will be made available in the main IOC release area post-deployment (Dev: /afs/slac/g/lcls/epics/iocTop/masterSource/, Production:/usr/local/lcls/epics/iocTop/masterSource/). See below for the specific repositories and tags.
See software release details below.
...
Repository
...
Version
...
IOC Name
...
b084-ms09_gui.sh |
The released software will be made available in the main IOC release area post-deployment (Dev: /afs/slac/g/lcls/epics/iocTop/masterSource/, Production:/usr/local/lcls/epics/iocTop/masterSource/). See below for the specific repositories and tags.
See software release details below.
Repository | Version | IOC Name |
---|---|---|
masterSource | R2.2.3 | sioc-sys0-ms09 |
See firmware release details below.
Repository | URL | Version |
---|---|---|
slaclab / EvrCardG2 | https://github.com/slaclab/evr-card-g2/releases/tag/v2.2.0 | v2.2.0 |
TPR Documentation
View file | ||||
---|---|---|---|---|
|
PCIe TPR Peer Review
View file | ||||
---|---|---|---|---|
|
See firmware release details below.
...
Repository
...
Version
...