\documentstyle{foil}

\begin{document}
\raggedright
\nofoilnumbers
\font\small=cmssbx10 at 14.4truept
\font\medium=cmssbx10 at 17.28truept
\font\large=cmssbx10 at 20.74truept
\font\hugh=cmssbx10 at 24.90truept


\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{\bf Eurogam}
A French-UK collaboration between IN2P3 in France and EPSRC in UK.

The array was operational at the NSF (Daresbury) between Sept 1992 and April 1993 (Phase I)
and has been at the Vivitron (Strasbourg) since July 1994 (Phase II). 

It is scheduled to continue at Strasbourg until autumn 1996 (or about 4 months 
before Euroball startup) when the detectors
will move to Legnaro for Euroball.

\medium
principle laboratories involved: 

 CCLRC Daresbury, 
 CENBG (Bordeaux),
 CRN (Strasbourg),
 Grenoble, Lyon,
 IPN and CSNSM (Orsay),
 Liverpool University,
 Manchester University,
 York University


\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Eurogam II}
\subsubsection*{Detectors}
  
\begin{itemize}
\item 30 Coaxial Detectors: Ge detector + 10 element BGO shield from Eurogam Phase 1
\item 24 Clover Detectors: 4 element Ge detector + 16 element BGO shield
\item ancillary detectors: for example 54 element Cesium Iodide inner ball particle detector (Diamant)


\end{itemize}
\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Eurogam II Electronics}
 
Uses integrated electronics with full software control using the VXI 
(VMEbus eXtensions for Instrumentation) standard.
 
\begin{itemize}
\item Ge card - total of 6 VXI cards each having 6 channels (one is a spare).
\item BGO card - total of 6 VXI cards each paired with a Ge card.
\item Clover card - total of 24 cards. Each card has 4 Ge channels (+ one spare 
Ge channel) and 1 BGO channel.
\item Resource Manager (RM) VXI slot 0 card - one per crate
\item Master Trigger
\end{itemize}


\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\small
\subsubsection*{VXI Electronics}

VMEbus eXtensions for Instrumentation, Rev 1.3, July 1989

Eurogam uses D size cards. That is a triple height (9U) Eurocard module which 
includes a P3 connector in addition to P1 and P2 which are found in VME modules.
The cards are 14 inches high and 13 inches in depth and are placed on 1.2 inch
centers (VME cards are 0.8 in). The 1.2 inch module width allows feasible
implementation of high density instrumentation modules while allowing 
enough space for shielding both sides of a module.

The P3 connector includes a 100 MHz clock and sync signal, additional power pins,
more ECL trigger lines and 24 additional lines of daisy chain local bus. Also
defined on P3 is a "star" trigger system where precision ECL trigger signals are
routed through Slot 0 acting as a cross point switch. This allows very 
precisely matched trigger timing between modules regardless of module position.

A standard VXI crate holds 12 "user" modules plus the slot 0 (Resource Manager)
module. 


The Cluster card weights approximately 2Kg.
Total power consumption of a full VXI crate may be as high as 3KW. 

\end{foil}


 
\begin{foil}{Eurogam II 1994-1996}
\small
\subsubsection*{VXI Resource Manager}

The VXIbus device protocols define how modules are granted non-conflicting
portions of the VMEbus address space. Several devices may exist on a single
module, and a single device may consist of multiple modules. 256 devices may
exist in any one VXIbus system. A VXIbus system configuration space is defined
in the upper 16K bytes of the A16 address space. Each device is granted a total
of 64 bytes in this space. Devices requiring additional address space have 
their address requirements readable in a defined register in the A16 address
space. The Resource Manager reads this value shortly after power-on and
then assigns the requested memory space by writing the module's new VMEbus 
address into the device offset register. The Resource Manager may assign 
space in the A24 and A32 address spaces by this means.

The Resource Managers are interlinked so that signals  may be
shared between all VXI crates (for example the trigger validation).

The Eurogam Resource Manager contains a standard VME processor 
module (Motorola MVME147) which provides the communications path between the VXI modules
and the control software.



\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Eurogam II Electronics (continued)}
  
\begin{itemize}
\item NAM interface. Multiplexes data from 32 NIM ADCs
\item ReadOut COntroller (ROCO) - one per VXI crate
\item Total of 4 VXI crates
\item DT32 bus
\item Hardware Histogramming Unit with 8M channels
\item ROHSI + CES HSM (to be replaced by D2VB interface)
\item VME to CAMAC interface (Hytec VSD2992)
\item FERA to DT32 convertor (CAMAC module)

\end{itemize}


\end{foil}



\begin{foil}{Eurogam II 1994-1996}
\small
\subsubsection*{Hardware Histogrammer}

After all VXI crates the DT32 bus passes through a 
histogrammer unit which is a VME module acting as
a spy onto the data. The unit is software programmable
to select any specific parameters from any choosen 
detectors and build histograms via direct memory
increment into global dual port memory. 

The histograms can be examined using any of the workstations
to check the quality of the data and monitor detector 
performance.

Additionally by histogramming the control tokens generated by the
readout system (for example the start event token and end subevent tokens)
the histogrammer can be used as a very powerful hardware diagnostic tool.

Currently
there are 32 Mbytes of histogramming memory but this can
be increased by adding more memory cards into the VME crate.

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\small
\subsubsection*{Ancillary Detectors - CAMAC}

For ancillary detectors which do not have purpose designed VXI electronics
CAMAC adcs (such as the Silena 4418V and LeCroy 4300b) may be used.

These have FERA readout and the FDT32 module (Fera to DT32 convertor)

\begin{itemize}
\item  manages interaction with the Eurogam Trigger
\item  performs readout of the adcs via FERA bus
\item  performs mapping of the FERA addressing information (VSN \& SubAddress) to
the DT32 bus addressing (Group and Item)
\item  outputs the data onto the DT32 bus acting in the role of another ROCO
\end{itemize}

The VME to CAMAC interface is used only for control, monitoring and diagnostic
purposes. Software enables the CAMAC modules to be accessed in a way 
very similar to that used to access VXI modules and so includes CAMAC adcs
into the system in a seamless manner.

\end{foil}


 
\begin{foil}{Eurogam II 1994-1996}
\medium
\subsubsection*{Other Components}


In addition to the detectors and the VXI modules used to acquire data from them
other systems provide and control the
services needed for the detectors to operate.
 
\subsubsection*{Autofill}
 Another VME crate which provides for the filling and 
monitoring of the liquid nitrogen in the detectors.
\subsubsection*{High Voltage control}
 Uses LeCroy high voltage units interfaced via a 
VME  module to provide the necessary bias to the 
GE detectors and BGO crystals.

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Eurogam II}
\subsubsection*{Data Acquisition and Control}

\begin{itemize}
\medium

\item Implemented within a distributed computing environment
\item All items to be controlled or monitoring are accessed via 
an ethernet LAN.
\item Uses Internet Protocols (UDP/IP)
\item The client-server model which is used to build a network of workstations
is followed and the data acquisition modules become additional resources on
that network
\item Experimental control, real time monitoring of data quality
and event construction are performed using processors within VME
\item Graphical User Interface using UNIX workstations
\item No master workstation or Central DataBase

\end{itemize}


\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\small
\subsubsection*{System Software}


The user interface to the data acquisition system is via
UNIX workstations while all VME cpus run the VxWorks 
real-time kernel.
\subsubsection*{VxWorks}
The VxWorks kernel was choosen for the real time
components because
\begin{itemize}
\item it is designed specifically for real-time 
control  and data acquisition functions within a 
multi-tasking environment;
\item it gives very fast handling of interrupts, task 
scheduling, etc.;
\item it is UNIX source compatible. All software generation
and compilation is performed using UNIX workstations;
\item it has full support for BSD networking allowing 
complete integration into a UNIX workstation 
environment;
\item source level debugging is available from UNIX
workstations using DBX.
\end{itemize}

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\small
\subsubsection*{Network Communication \#1}


Each VXI and VME crate contains a cpu (MVME 147) having an 
ethernet interface which is a node on the local area network
and which also acts as a gateway for other CPU cards 
in the same crate. The use of UNIX and VxWorks enables
common network software to be used in all components of the system
\begin{itemize}
\item Internet networking  (IP)
\item UDP/IP (User Datagram Protocol/Internet Protocol)
\item RPC (Remote Procedure Calls)
\item XDR (eXternal Data Representation)
\item NFS (Network File System).
\end{itemize}
 
All communications between applications specific to the
Data Acquisition System are based on the Client/Server 
model using Remote Procedure Calls. Using the network
software RPC requests can be made between clients and servers 
across the ethernet, between VME cpus within a crate 
across the VME backplane, and within a single CPU or workstation.


\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\small
\subsubsection*{Network Communication \#2}


This allows the software components to communication in a
way which is independant of their location.
 
Fixed UDP/IP ports are used by the servers in order to 
avoid the delays which the use of dynamic ports and the
Portmapper would involve.
 
\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Software Components - The Servers}

The Eurogam data acquisition system has a small number of server programs
which provide access to all the data acquisition resources

\begin{itemize}

\item register server
\item spectrum server
\item tape server
\item message/error logger

\end{itemize}

Access is via a RPC service from client workstations

For each server a RPC program protocol is defined 
which is designed to provide access to the server facilities
and to conform with the RPC methodology.

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Register Server}

A general purpose communications core which can be 
customised for specific data acqusition control tasks.

\begin{itemize}

\item VXI crate setup and control application
\item CAMAC crate setup and control application
\item Histogrammer setup and control application
\item Detector High Voltage control system
\item Nitrogen Autofill control system
\item Event Builder control

\end{itemize}


\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Event Builder}


\begin{itemize}

\item Reads raw data from DT32 bus into RAM accessible via VME bus
\item Checks input data for format and data errors
\item Generates statistical information on data quality
\item Performs user specified processing such as shared suppression
\item Generates reformatted output data

\end{itemize}

Eurogam 2 uses single width VME modules each with 2 50MHz 88110 processors

Outputs formatted data via FDDI to the tape server using a multi bufferred RPC 
procedure 

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Spectrum Server}


\begin{itemize}

\item Provides a common application interface independent of
location of the data
\item Spectrum name determines remote server location
\item Online (in histogrammer) and offline (on disc) spectra 
are interchangeable
\item Workstation based client-end software merges spectra from multiple
servers to appear as a single source
\item RPC program optimised for efficient network access.
Supports various high level primitives to allow data to be accessed while
minimizing network traffic.

\end{itemize}

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Register Server}

What is a register?

A {\bf register} is a named abstract object

\begin{itemize}

\item The {\bf name} labels the register
\item The {\bf class} defines how it behaves
\item The {\bf attribute table} configures an individual register

\end{itemize}

Typically a register represents a group of one or more related
control bits on an acquisition card.

A Register may however be purely a software invention (for example 
it could be a disc file containing a program to be loaded).

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Register Server - continued}

Register naming allows

\begin{itemize}

\item Pattern matching
\item Aliasses
\item No need for the application to know hardware details such 
as number of hardware channels and individual location

\end{itemize}

\subsubsection*{Pattern Matching}
 
Server recognises * ? [A-C] [23-36] [x,y,z]

   Ge[1-12].CFD.*

   Ge[?,??].PoleZero


\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\medium
\subsubsection*{Register Server Functions}


\subsubsection*{Access Control}


\begin{itemize}

\item Claim and Free Resource

\end{itemize}

\subsubsection*{Housekeeping}

\begin{itemize}

\item Define Register
\item Undefine Register(s)
\item Inquire Register(s)

\end{itemize}

\subsubsection*{Register Access}

\begin{itemize}

\item Read Register(s)
\item Write Regsiter(s)
\item Initialise Register(s)
\item Read Attribute(s)
\item Write Attribute(s)

\end{itemize}


\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\subsubsection*{Register Server - additional \#1}
\small



Initially each server has a number of application 
specific procedures which are loaded when the system 
is booted. Registers are then defined dynamically 
by the clients using the server protocol and
specifying the local procedures in the server to be 
invoked when the register is subsequently accessed.
 
The register server allows named items of arbitrary data to be
passed between the user interface programs and the 
server applications. The  register name and the server 
command primitive  select the local procedure to be called.
 
The data can be a single bit to be written to a 
VXI or CAMAC register or may be up to 1 Kbyte. Larger amounts of data
(for example trigger or event builder programs) are handled by 
passing a filename to a suitable register class.

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\subsubsection*{Register Server - additional \#2}
\small


The register attributes provide additional information as needed
by the application procedures to execute the read, write and
initialise primitives. For example, a simple case would be 
a VXI register and the register attributes would include
the VME address offset used to access the register on the VXI card.
For a CAMAC register the register attributes would include the CAMAC 
cnaf data.
 
The server allows many registers to be accessed by a single
RPC request by the use of wild-card techniques applied to
the names. The available register names can be obtained 
by clients from the server thus  allowing a number
of user interfaces in workstations to access the server 
with all coordination provided by the server.

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Tape Server}

Hardware configuration for Eurogam II


\begin{itemize}

\item Total of 5 SCSI bus interfaces
\item 8 Exabyte 8500 tape drives fitted with robot changers

\end{itemize}

Receives and controls data flow across FDDI from the Event Builder

Supports up to 4 data streams from the Event Builder

Each data stream may be output to any number of the Exabyte drives in either
duplication mode, parallel mode or any combination of these.

The Exabyte 8500 drive can write up to 5Gbyte of data onto a 8mm video
cassette at a continuous rate of up to 0.5 Mbyte/sec.

\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Graphical User Interface}

Implemented using TCL (Tool Command Language) by 
John Ousterhout, University of California, Berkeley.


command language interpreter -- tcl-shell

User Interface generated as TCL scripts which are
interpreted

No compilation - Just edit script source file and execute
or simply type or paste commands into the tcl shell window

Development is VERY FAST

Extensions provided within tcl-shell for

\begin{itemize}
\item XView interface ---  xv
\item Eurogram interface --- eg
\end{itemize}


\end{foil}

\begin{foil}{Eurogam II 1994-1996}
\hugh
\subsubsection*{Online data analysis - Sorting}


On-line sort using workstations connected to the FDDI network
acting as spies on the formatted data passing between Event Builder
and Tape Server.

Any existing off-line sort program may be easily converted to 
process live data.

One or two packages are provided as part of the system
but users may bring their own favorite.

Any number of different sort packages may be run concurrently 
on the on-line data.



\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\medium
\subsubsection*{Further Information}
 
By World Wide Web (WWW)

connect to http://nnsa.dl.ac.uk/Eurogam

For this talk connect to
       http://nnsa.dl.ac.uk/Eurogam/documents/edoc204/ps

For EG Session The Book connect to 
       http://nnsa.dl.ac.uk/Eurogam/documents/edoc203/ps

For Tool Command Language connect to
       http://nnsa.dl.ac.uk/Eurogam/documents/edoc202/ps

For Netscape postscript viewer use ImageTool for these.

For some documents ImageTool fails and PageView may work better.

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
EDOC000  Eurogam Document Index

EDOC001  Readout of VXI modules over VMEbus

EDOC002  Discussion paper on histogramming module

EDOC003  Project Management for VXI Data Acquisition System

EDOC004  Singles in Eurogam

EDOC005  Use of VXI lines in the first phase of Eurogam

EDOC006 \& EDOC007 superceded by EDOC022

EDOC008  Ge Card Specification (UK Version)

EDOC009  Germanium Card Specification 

EDOC010  Options for Eurogam Anti-Comptoning

EDOC011  Sorter Specification

EDOC012  Event Builder Specification

EDOC013  VME addressing Scheme

EDOC014  Event Builder and Sorter Control

EDOC015  Overview of Eurogam Data Acquisition System

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
EDOC016  Specification of the Data Acquisition for Eurogam 
 
EDOC017  Ethernet Communications

EDOC018  Remote Procedure Call

EDOC020  Network Tape System

EDOC021  Network VME System

EDOC022  Eurogam Trigger System

EDOC023  Resource Manager VXI Meeting

EDOC024  Eurogam Frontend Crate Server

EDOC025  Real Time Kernels

EDOC026  Event by Event Data Formats

EDOC027  Tape Standards

EDOC028  HV Control specification

EDOC029  Crates, Racks, Power Supplies and Cooling

EDOC030  VXI Resource-Manager Basic Software

EDOC031  VXI line usage

EDOC032  VXI Basic Data Base Structure

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
EDOC033  Eurogam Sort Language

EDOC034  Eurogam Register Server Protocol

EDOC035  Eurogam VXI Line Use

EDOC036  Eurogam Sorting Parameters

EDOC037  Event Builder Software Specification

EDOC038  Remote Procedure Call - C library

EDOC039  Network Tape System - C library

EDOC040  Using Sun RPC

EDOC041  Untitled

EDOC042  Short Note on VxWorks Implementation

EDOC043  Eurogam diagnostic software

EDOC044  Online analysis software requirements

EDOC045  Eurogam Suppression

EDOC046  Detector position numbering scheme

EDOC047  Naming scheme for Eurogam detectors

EDOC048  Eurogam detector angles

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
EDOC049  Data Formats

EDOC050  Eurogam Hardware Meeting Minutes

EDOC051  Phase 1 System Interconnections 
 
EDOC052  Eurogam Software Meeting  

EDOC054  Liquid Nitrogen Autofill Control System

EDOC055  Eurogam Master Trigger Module

EDOC056  Eurogam Readout Controller 
   
EDOC057  VXI Resource Manager   

EDOC058  FIC8230 to GEC parallel link

EDOC059  Eurogam histogrammer Specification

EDOC060  Eurogam Spectrum Servers - Online Histogrammer

EDOC061  Unified Spectrum Format

EDOC062  Spectrum Access

EDOC063  Specification of the VXI Readout Mechanism

EDOC064  Eurogam hardware event format usage

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
EDOC065  Autofill control system specification

EDOC066  Eurogam Database Requirements

EDOC067  Diagnostic procedures for Eurogam

EDOC068  Prototyping a sort language

EDOC069  Rack Monitoring

EDOC070  The next generation of the NSF interactive graphics system

EDOC071  Germanium Card Specification 

EDOC072  General Purpose Interface (GPI)

EDOC073  Event Format[Sorting+Storage]

EDOC074  Eurogam Sort Reference Card 
  
EDOC075  DT32-bus specification

EDOC076  Specification of the VXI Readout Mechanism

EDOC077  Readout Controller Specification

EDOC078  Spectrum Access  Server Protocol

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
EDOC081  Eurogam Event Builder Language  
 
EDOC082  Reference Card for Eurogam Event Builder Compiler

EDOC083  Software system structure

EDOC084  Test of the Event Builder

EDOC085  VXI/VME integrated data acquisition and control 

EDOC086  Miscellaneous EuroGam Papers

EDOC087  Eurogam Register Server - C library

EDOC088  Eurogam Register Server - Commands 

EDOC089  Message Handling System

EDOC090  Message Handling System - C library

EDOC091  Message Handling System - Commands

EDOC092  Spectrum Access Server---C library
 
EDOC093  Resource Sharing in EuroGam 

EDOC094  EGlib 

EDOC095  EuroGam Software Installation Manual
 
EDOC096  EuroGam Spectrum Access Server---Commands

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
EDOC097  Eurogam Tape Server

EDOC098  Autofill users manual

EDOC099  Technical Manual for High Voltage Server

EDOC200  High Voltage server manual

EDOC201  Rate Monitor technical manual

EDOC202  Tool Command Language

EDOC203  EG-Session: The Book

EDOC204  Eurogam II: The talk

EDOC210  Register Server implementation for CAMAC

ED0C212  Register Definitions for the FDT32 module

ED0C212  Register Definitions for the LeCroy 4300B ADC

ED0C213  Register Definitions for the Silena 4418/V ADC

\end{foil}


\begin{foil}{Eurogam II 1994-1996}
\footnotesize
\subsubsection*{Further Reading}
 
ED0C214  (Charissa) Register Definitions for the RSM (EC592A)

EDOC215  (Charissa) Register Definitions for the LeCroy 2375 module

EDOC216  (Charissa) Register Definitions for the LeCroy 4208 TDC

EDOC217  (Charissa) Register Definitions for the Event Controller

EDOC218  (Charissa) Register Definitions for the LeCroy 2551 scaler

EDOC219  (Charissa) Register Definitions for the LeCroy 2277 TDC

EDOC220  (Charissa) Event Control Module User Manual


\end{foil}

\end{document}
