The CERN Trajectory Measurement System
![CERN PS Machine](ps.jpg)
The TMS system was designed to measure the trajectory of particle beam's within the CERN Proton Synchrotron. It is able to measure the amplitude, x/y displacement and timing of the individual particle bunches as they pass each of the 40 analogue sensors in the ring. The system integrates the data received for each particle bunch and stores the results in memory for later data access. In order to accurately measure the particle bunches the system uses, FPGA implemented, digital phase locked loops to synchronise the data capture to the incoming data.
The system continuously samples 120 Analogue channels at 125MHz, 14 bits and processes this data in real-time to determine information on the position of particle bunches as they orbit at around 437kHz. The system captures and processes around 15 billion samples per second. Multiple Xilinx Vertex 4 FPGA's are employed in a modular system to capture and process the data. The system is controlled over a Gigabit Ethernet network from which portions of the resulting data can be accessed.
Design
![TMS system installed at CERN](Tms.jpg)
We have used this basic structure in a number of projects. It uses the flexibility of PC hardware running Linux at the higher levels and the raw processing power of FPGA's at the lower level front end to do the real-time acquisition and initial data processing work.
The software is written in 'C++' and uses a special, BEAM developed, RPC mechanism called BOAP to perform the inter-board communications. This uses QOS protocols to provide real time performance over the switched Gigabit Ethernet internal network.
The FPGA Processing Board
![PUPE FPGA Board](Pupe.jpg)
As well as the 9 ADC inputs there is one 10MHz clock input and 13 digital I/O signal lines for timing and other system control functions. There are an additional 8 digital lines reserved for inter-board synchronisation.
The board employs a second Xilinx Virtex-4 LX25 device for Compact PCI interface duties. This uses the PCI bus FPGA firmware as developed by Alpha Data for their existing PMC boards. The PUPE also has two Gigabit Ethernet PHY's with the associated RJ45 connectors on the front panel connected directly to the FPGA. Thus either CompactPCI or Gigabit Ethernet can be used for system communications.
The FPGA firmware is written in VHDL.