Re: Link Status thoughts
I forgot to add that this protocol has been successfully used in the
past.
Here is the reference:
"A two-chip 1.5-GBd serial link interface"
Walker, R.C.; Stout, C.L.; Wu, J.-T.; Lai, B.; Yen,
C.-S.; Hornak, T.; Petruno, P.T.
Solid-State Circuits, IEEE Journal of , Volume: 27
Issue: 12 , Dec. 1992
Page(s): 1805 -1811
Regards,
Birdy
-----------------Included Message -------------------------------------
Rich,
I thought I will fill in a few gaps in the protocol you presented to
hopefully complete it,
especially in steps 1 - 4. And restate it in my words.
All we need is for the RS layer (or wherever this protocol will
reside), to emit a RF code on its output, whenever it receives a LF code
at
its input. For this discussion, I will assume that it is the RS layer
which will
handle this.
On power-up, each layer, PCS, XGXS etc., starts emitting
local fault (LF), till they acquire sync at which point they start
passing through
whatever comes from below them.
So on power-up, the RS layer automatically starts sending a RF code
since it
starts receiving LF code. Once every layer from the remote end to
itself, gets
out of the LF state (i.e they become transparent to their previous
layer), the RS
layer starts receiving whatever the remote RS layer is sending, which is
the RF
code or idles.
Once the local RS layer gets the RF code or idles, we know that it can
hear the mating
calls of its partner, so it starts sending Idles. If it receives Idles
say a few of them
consecutively (actually one is enough if this protocol is done in the
RS layer) i.e. the RF
code from the remote end have stopped coming, then it knows
that the remote end can also hear it, (otherwise it wouldnt be getting
idles), so it
is now ready to start sending data.
There is no need for timers and the startup protocol is link length
independent.
The whole operation can be captured in a 3-state diagram.
The only potential difference compared to normal operation, is that
under normal
operation, when the RS layer receives the LF code, besides starting to
transmit RF
code at its output, it will also invoke the station management to
initiate debug
by probing MDIO bits etc. At power up, you could suppress that (or let
it be).
Under normal operation, when it receives a RF code, besides sending
Idles at its output,
it initiates debug.
regards,
Birdy