Last updated: Sept. 2003 by TL
Cable Error Calibration
Introduction
Data from the EMC UPCs are sent continuously to the EMT.
The following
diagram
shows how the EMT deals with this incoming data and checks for certain cable errors.
The three cable errors are:
- Frame Clash
- Frame Drift
- Loss of Cable Accident
Frame Clash
Each UPC sends data with a frame bit that identifies the start of a block of data.
The EMT generates its own frame bit for the data that is sent to the GLT.
If the frame bit from the UPCs coincide with the frame bit generated by the EMT
(i.e. a frameclash occurs) the EMT will be in a state were it is trying to read
the data out of the dual-port RAM that it is simultaneously trying to read in from the cable.
The data may therefore become garbled.
Frame Drift
The frame bit from the UPCs should be a constant 16 clock ticks apart.
If, for some reason, they are not the EMT will not start reading the data
at the right point in the stream and it will become garbled.
This error condition is further examined in the following
document.
Loss of Cable Accident
The UPCs also send a clock on the cables to the EMT.
A loss of the clock may mean that the cable has been unplugged or that the
connection is poor. It may also indicate that the UPC at the other end of
the cable is malfunctioning.
Either way, it will result in a loss or corruption of data.
The Calibration
The relative phase of the UPCs' framebit can be set by changing two parameters.
The first is the UPC trigger summer frame offset.
The second is the EMT sync-delay.
The cable error calibration is designed to iterate over the
different possible values for the frame offset and sync-delay
and to determine and display when cable errors occur.
At present the sync-delay is fixed at 5 and the frame offset is varied over its
whole range (i.e. from 0 to 15).
(Iterating over the sync-delay values is probably not possible since
the master crate would believe the EMT to be out of sync and would keep
issuing sync commands. It is also of little value since there are only two
values that are "allowed" by the GLT.)
Building the code and running the calibration
For instructions on this please see the
EMT online page.
Analysing the histograms
Looking at the ~2570 histograms produced by the run
is made a relatively painless process using L1EmtOep/frameclash.kumac.
The kumac gives you four options:
- Cable error plots.
- Split cable error bits.
- Safe frame offsets.
- Quit.
The first option allows you to flick through the cable error plots one TPB at a time.
Each page shows you the 12 cables for that TPB.
The x-axis is the UPC frame-offset value and the y-axis is the number of cables errors.
Example 1 shows an example set of plots.
All the cables show errors for an offset position of 3 except
cable 1 which gives errors for an offset position of 6.
The histograms that have a red (or green) border are from split cables
and are therefore expected to give identical results.
Example 2 shows a TPB with problems!
Cable 5 shows errors for offset positions 2 and 3.
The error for offset position 2 is intermittent since it only generated errors for 4 out of the 5 minor cycles.
Cable 6 shows errors for all offset positions.
After looking at all of the plots the kumac dumps out a
postscript file called cblErrors.ps containing all the cable error plots.
Selecting option 2 from the menu displays a comparison of the
split cables and should be empty.
Option 3 displays a summary of all of the cable error plots and
dumps this out to a postscript file called safeframes.ps.
This plot shows the offsets that cause errors for all the cables.
The bins in red correspond to cables with errors for more than one offset.
Ajit Kurup
Tom Latham
|