CERN Trajectory Measurement System: Notes
- A proccessing cycle lasts about 1.2 seconds but can be up to 2 seconds. Cycles can be consecutive.
- The frequency of beam rotation will normally be between 437 and
477 kHz but can be down to 177 kHz for ions. 477Khz is about a 2us
- There can be up to 25 bunches of particles flying around the ring.
- The ADC sample rate will be 125MHz (8ns period).
- The amount of data per second after integration per bunch is: (437000 * 8) = 3.33 MBytes/sec.
- The size of a typical chunk of data, per bunch would be about: (437000 * 8 * 0.2) = 0.66 MBytes.
- One thing we will have to consider is how fast we need to get at
the data in memory. CERN will want to be able to take out a selection
of data before the next machine cycle. With the paging registers, the
table indirection (Cycle Timing to Data) and the fact that they may
only want 6bytes here and there over a PCI bus this may be slow. We
thus may need to add a data gathering factility in the FPGA itself such
as a function that would DMA every 21st set of 6byte samples stating
from a given address to the host.
- An option on the data, as we have more memory that the original
spec, is to store data timing information with the data itself rather
than have a seperate table. We could packetise the data with a simple
header containing the channel number and time followed by 21 sets of
Sigma/DeltaX/DeltaY data. This would make finding a particular time a
bit harder/slower but we could store more acurate times on the data.
- Some of the requests for data involve calculating the mean of the
data values over a number of particle bunch orbits. It might be worth
implementing this in the FPGA on the fly.