CY7B923
CY7B933
To clarify this correspondence, the following example shows
the conversion from an FC-2 Valid Data Byte to a Transmission
Character (using 8B/10B Transmission Code notation)
Transmission Order
Within the definition of the 8B/10B Transmission Code, the bit
positions of the Transmission Characters are labeled a, b, c, d,
e, i, f, g, h, j. Bit “a” shall be transmitted first followed by bits b,
c, d, e, i, f, g, h, and j in that order. (Note that bit i shall be
transmitted between bit e and bit f, rather than in alphabetical
order.)
FC-2 45
Bits: 7654 3210
0100 0101
Converted to 8B/10B notation (note carefully that the order of
bits is reversed):
Valid and Invalid Transmission Characters
Data Byte Name
D5.2
The following tables define the valid Data Characters and valid
Special Characters (K characters), respectively. The tables
are used for both generating valid Transmission Characters
(encoding) and checking the validity of received Transmission
Characters (decoding). In the tables, each Valid-Data-byte or
Special-Character-code entry has two columns that represent
two (not necessarily different) Transmission Characters. The
two columns correspond to the current value of the running
disparity (“Current RD−” or “Current RD+”). Running disparity
is a binary parameter with either the value negative (−) or the
value positive (+).
Bits:ABCDEFGH
10100 010
Translated to a transmission Character in the 8B/10B Trans-
mission Code:
Bits: abcdeifghj
1010010101
Each valid Transmission Character of the 8B/10B Transmis-
sion Code has been given a name using the following conven-
tion: cxx.y, where c is used to show whether the Transmission
Character is a Data Character (c is set to D, and the SC/D pin
is LOW) or a Special Character (c is set to K, and the SC/D pin is
HIGH). When c is set to D, xx is the decimal value of the binary
number composedof the bitsE, D, C, B, and A in that order, and the
y is the decimal value of the binary number composed of the bits H,
G, and F in that order. When c is set to K, xx and y are derived by
comparing the encoded bit patterns of the Special Character to
those patterns derived from encoded Valid Data bytes and selecting
the names of the patterns most similar to the encoded bit patterns
of the Special Character.
After powering on, the Transmitter may assume either a posi-
tive or negative value for its initial running disparity. Upon
transmission of any Transmission Character, the transmitter
will select the proper version of the Transmission Character
based on the current running disparity value, and the Trans-
mitter shall calculate a new value for its running disparity
based on the contents of the transmitted character. Special
Character codes C1.7 and C2.7 can be used to force the trans-
mission of a specific Special Character with a specific running
disparity as required for some special sequences in X3.230.
Under the above conventions, the Transmission Character
used for the examples above, is referred to by the name D5.2.
The Special Character K29.7 is so named because the first six
bits (abcdei) of this character make up a bit pattern similar to
that resulting from the encoding of the unencoded 11101 pat-
tern (29), and because the second four bits (fghj) make up a
bit pattern similar to that resulting from the encoding of the
unencoded 111 pattern (7).
After powering on, the Receiver may assume either a positive
or negative value for its initial running disparity. Upon recep-
tion of any Transmission Character, the Receiver shall decide
whether the Transmission Character is valid or invalid accord-
ing to the following rules and tables and shall calculate a new
value for its Running Disparity based on the contents of the
received character.
The following rules for running disparity shall be used to cal-
culate the new running-disparity value for Transmission Char-
acters that have been transmitted (Transmitter’s running dis-
parity) and that have been received (Receiver’s running
disparity).
Note: This definition of the 10-bit Transmission Code is based
on (and is in basic agreement with) the following references,
which describe the same 10-bit transmission code.
A.X. Widmer and P.A. Franaszek. “A DC-Balanced, Parti-
tioned-Block, 8B/10B Transmission Code” IBM Journal of Re-
search and Development, 27, No. 5: 440−451 (September, 1983).
Running disparity for a Transmission Character shall be calcu-
lated from sub-blocks, where the first six bits (abcdei) form one
sub-block and the second four bits (fghj) form the other
sub-block. Running disparity at the beginning of the 6-bit
sub-block is the running disparity at the end of the previous
Transmission Character. Running disparity at the beginning of
the 4-bit sub-block is the running disparity at the end of the
6-bit sub-block. Running disparity at the end of the Transmis-
sion Character is the running disparity at the end of the 4-bit
sub-block.
U.S. Patent 4, 486, 739. Peter A. Franaszek and Albert X. Wid-
mer. “Byte-Oriented DC Balanced (0.4) 8B/10B Partitioned
Block Transmission Code” (December 4, 1984).
Fibre Channel Physical and Signaling Interface (dpANS
X3.230−199X ANSI FC−PH Standard).
IBM Enterprise Systems Architecture/390 ESCON I/O Inter-
face (document number SA22−7202).
8B/10B Transmission Code
Running disparity for the sub-blocks shall be calculated as fol-
lows:
The following information describes how the tables shall be
used for both generating valid Transmission Characters (en-
coding) and checking the validity of received Transmission
Characters (decoding). It also specifies the ordering rules to
be followed when transmitting the bits within a character and
the characters within the higher-level constructs specified by
the standard.
1. Running disparity at the end of any sub-block is positive if
the sub-block contains more ones than zeros. It is also
positiveat the end of the 6-bitsub-block if the 6-bit sub-block
is 000111, and it is positive at the end of the 4-bit sub-block
if the 4-bit sub-block is 0011.
2. Running disparity at the end of any sub-block is negative if
the sub-block contains more zeros than ones. It is also
21