Level 2 I/O Protocol
The topic here is chiefly how data gets into L2 SLIC's and
MBT's. The basic answer is Cypress
Hotlinks on Unshielded Twisted Pair. Both Maryland and Nevis
have observed error rates less than 1 in 10^14 on the selected
cable.
Here is a brief summary of the protocol. As the draft
is developed, it will include the following. For current information
see the FIC and MBT
TDR's.
- frequency of oscillator is any 16.0 MHz .01% crystal (Spec
in MBT TDR).
- list of special characters defined (in Cypress notation and
Hex)
- pad character K28.5 05
- start event K28.0 00 (BOE)
- end event K23.7 08 (EOE) [choice not quite final yet]
- how the links get started up
- reframe on power-up or SCL_INIT or 2 (or more?) consecutive
errors
- how self-test is initiated and terminated
- VME commands for both; all active channels on card
- target bit error rates 1 in 10^15 is a goal, 6 in 10^14 achieved
- STP cables and connectors RJ45 and UTP (see MBT TDR)
- source responsibilities:
- message length
- 16 B padding required after trailer
- header is standard L2 header, all fields filled including
correct Data Type
- trailer is standard L2 trailer (may contain 2B of longitudinal
parity)
- physical trailer of up to 2 Bytes (typically error Byte and
1B long. parity)
- occurs AFTER padding to 16B ???
- sequence for starting an event
- BOE then data may follow on next byte
- sequence for stopping an event
- receiver responsibilities (Below is the minimum, for "stateless"
input. More complex 2-state using both BOE and EOE is allowed;
see FIC and MBT TDR's)
- receipt of pad character: recognize as non-data
- receipt of end event
- prepare physical trailer with parity and prepare for new
event
- receipt of start event
- realign fifo if not done by end event
- receipt of illegal character
- count error
- ignore or accept as data, depending if stateless or 2-state
- receipt of undefined special character
- resynchronization
- on multiple successive errors, begin attempt to reframe
- if fielding an unbuffered data source, L1 busy may be raised
J. Linnemann's slides
from December 98, revised January 99, close to convergence.
J-F. Renardy's table
of Cypress characters 1 byte distant from control characters,
which will help us think about which control characters we would
like to use in L2.
Older Information
Muon circuits and documentation
(see especially MRC2
specification and MRC1
CSR description)
SLIC proposed circuit
and top
and bottom
layout with (Coax so far)
A proposed state
machine by Mike Fortner for receiving Cypress inputs assuming
special characters for begin, end
- There are only 2 long-lived states, IDLE and EVENT (whether
you are between events or in one)
- the 2 states allow you to ignore bad characters between events,
which is most of them
- getting unexpected begin/end are handled assuming it is more
likely to miss a special character than for noise to give you
a specific character
- the extra detail in the diagram shows details of handling
data, noise, and special characters in these contexts
- a separate state machine would handle reframing
notes
from the FIC and L2 protocol meetings of September 1998.
J-F. Renardy's
presentation on the FIC and protocol questions
J. Linnemann's (unpresented) slides
on protocol questions from September 98.
From the G-link, which is the input to the
FIC, all the issues appear again. The source is the L1CFT system.
Currently we refer to the L1CFT
TDR Draft. Latest information may be found from Manuel's
latest new presentation
(which may still not be fully little-endian in data details).
The FIC TDR also has relevant detail.
- Also of interest are G-link resynch
measurements by the Barsotti group and their resynch
protocol (see G-link Usage) for a unidirectional link.
Updated: linnemann@pa.msu.edu
Site originated by Philippe Laurens