Essentials
Figure: Building blocks required for a single 'timing event'
Bang!. Components of the General Machine Timing (GMT) are shown in blue. Components required to generate settings for the GMT are shown in green. The flow of data from the 'Machine Model' to a 'Timing Receiver' is indicated with red arrows. Other infrastructure (grey boxes) and data flow (black arrows) is important too.
Principle of the GMT
As the GMT is an alarm based system, a
timing message is broadcast by the
Data Master via the White Rabbit network to all nodes ahead of time. The timing messages contains and
event ID and a
due time. If a Timing Receiver (TR) is configured for the received event ID, an alarm is set at the TR. On-time, a
timing event executes a local action at the TR.
Data Master and Upper Layers
A physical machine model is created for each machine (ion source, linac, ring, transfer line ...) of the accelerator complex. This happens off-line and takes a long time (weeks, months, years). When a beam is requested by
applications in the main control room, the settings management system LSA uses the relevant machine model(s) to calculate appropriate settings, which are downloaded to the Front-End Computers (FECs). LSA is an off-line system and settings generation and subsequent data supply typically take a few seconds.
A special FEC is the the one that hosts the
Generator of the GMT, which receives so-called patterns from LSA. If the patterns may be executed, the Generator sends the patterns as binary data to the FPGA of the Data Master. If supplied with data, the patterns are executed. Typically, patterns contain distinct alternatives. It is the task of the
Beam Scheduling System (BSS) to select alternatives. The BSS decides based on input from control room applications and input from other sources such as the Master Accelerator Status Processor (not shown in the figure above). The BSS alters schedule execution by sending commands to the Data Master via the Generator.
The Data Master executes the schedule in hard real-time by broadcasting timing messages, typically 1ms ahead of their due time.
Next
--
DietrichBeck - 08 Nov 2018