Contents

Putting It Together: FC Frame Format and Ordered Sets

The Fibre Channel transport layer is made up of frames as defined below.

The basic unit of transport for video and header data will be FC frame. Each FC frame has the structure shown below (and as described in the FC-PH specification).

Table 1: Fibre Channel frame definitions

Word

Identifier

Byte 0

Byte 1

Byte 2

Byte 3

XX

Idle word

K28.5

D21.4

D21.5

D21.5

XX

Idle word

K28.5

D21.4

D21.5

D21.5

0

SOFi/n

K28.5

D21.5

D23.x

D23.x

1

Frame header
R_CTL D_ID

FC frame
header byte

FC frame
header byte

FC frame
header byte

FC frame
header byte

2

Frame header
CS_CTL S_ID

FC frame
header byte

FC frame
header byte

FC frame
header byte

FC frame
header byte

3

Frame header
Type F_CTL

FC frame
header byte

0000 x000
(Bit 19)

FC frame
header byte

FC frame
header byte

4

Frame header

FC frame
header byte

FC frame
header byte

0000 0000
(SEQ_CNT)

0000 0000
(SEQ_CNT)

5

Frame header

FC frame
header byte

FC frame
header byte

FC frame
header byte

FC frame
header byte

6

Frame header

FC frame
header byte

FC frame
header byte

FC frame
header byte

FC frame
header byte

7 to n

Payload

Data

Data

Data

Data

n+1

CRC

Data

Data

Data

Data

n+2

EOFn/t

K28.5

D21.x

D21.x

D21.x

XX

Idle word

K28.5

D21.4

D21.5

D21.5

Table 2: FC frame sequence and end sequence definitions

SEQ_CNT

The sequence count is used as defined in FC-PH and is incremented by one LSB for each consecutive FC frame of the FC-AV data sequence.

END_SEQ

The end sequence bit (Word 3, Bit 19) is set to logic 1 for the last FC frame of a data sequence (FC-AV container), and is set to logic 0 for all other frames of the sequence.

Idle words

Idle ordered sets, such as K28.5, D21.4, D21.5, D21.5, are transmitted between FC frames. Typically, a minimum of six idle ordered sets between each Fibre Channel frame is needed.

When transmitting, the number of idle ordered sets between FC frames can be varied to adjust the video frame time (to adjust the horizontal blanking).

It is possible for the system designers to control horizontal and vertical blanking using idles. However, this is not typically done in FC-AV.

Start of Frame

FC-AV is independent of class of service. Currently Class 1 and Class 3 implementations exist.

Data payloads

The first frame of an FC-AV container data sequence includes the container header and Object 0 ancillary data as its data payload. Subsequent frames of the container sequence include the Object 2 video pixel data.

Cyclic redundancy check (CRC)

After a video frame has been transmitted, a 4-byte CRC for error checking follows. It uses the following 32-bit polynomial:

X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1

End of Frame

All frames except the last frame of an FC-AV container data transfer sequence use the End of Frame Normal (EOFn) ordered set, beginning RD Negative (K28.5, D21.4, D21.6, D21.6) or RD Positive (K28.5, D21.5, D21.6, D21.6).

The last frame of an FC-AV container data transfer sequence uses the End of Frame Terminate (EOFt) ordered set, beginning RD Negative (K28.5, D21.4, D21.3, D21.3) or RD Positive (K28.5, D21.5, D21.3, D21.3).

Fibre Channel containers

FC-AV employs a container system of transport as described in Clause 5 of the standard.

A container is simply the set of Fibre Channel frames used to transport a single video frame. For uncompressed progressive scanned video, only two container objects are required: Object 0, which contains header information, and Object 2, which carries the video payload. Object 1, by definition, is restricted to Audio and is not used in SPDV.

In some video profiles, container Object 0 is a single Fibre Channel frame. This frame is the first of the sequence and uses the SOFi. All subsequent frames (Object 2) carry video payload.

The Object 0 Fibre Channel frame is comprised of 32 long words (128 bytes) as follows:

FC frame header

6 long words 

24 bytes 

FC-AV container header

22 long words 

88 bytes 

Ancillary data

4 long words 

16 bytes 

Total

32 long words

128 bytes

The FC frame header is that same as that defined in section 5.

FC-AV Container Header

Table 3 describes the standard container header.

Table 3: Object 0 container head

Word

Identifier

Byte 0

Byte 1

Byte 2

Byte 3

  0

Container count

(MSB)

 

 

(LSB)

  1

Clip ID

(MSB)

 

 

(LSB)

  2

Container time stamp

(MSB)

 

 

 

  3

Container time stamp

 

 

 

(LSB)

  4

Transmission type

(Video frame rate)

(Transmission rate)

(Reserved)

(Reserved)

  5

Container type

(Mode)

(Number of Objects)

(Reserved)

(Size of Ext. Header)

  6

Object 0

(Type)

(Link Pointer)

(SPDV index)

(SPDV index)

  7

Object 0 size

(MSB)

 

 

(LSB)

  8

Object 0 offset

(MSB)

 

 

(LSB)

  9

Object 0 object type defined

Type defined

Type defined

Type defined

Type defined

10

Object 1 class

(Type)

(Link pointer)

(SPDV index)

(SPDV index)

11

Object 1 size

(MSB)

 

 

(LSB)

12

Object 1 offset

(MSB)

 

 

(LSB)

13

Object 1 object type defined

(Type)

(Link pointer)

(SPDV index)

(SPDV index)

14

Object 2 class

(Type)

(Link pointer)

(SPDV index)

(SPDV index)

15

Object 2 size

(MSB)

 

 

(LBS)

16

Object 2 offset

(MSB)

 

 

(LSB)

17

Object 2 object type defined

Type defined

Type defined

Type defined

Type defined

18

Object 3 class

(Type)

(Link pointer)

(SPDV index)

(SPDV index)

19

Object 3 size

(MSB)

 

 

(LSB)

20

Object 3 offset

(MSB)

 

 

(LSB)

21

Object 3 object type defined

Type defined

Type defined

Type defined

Type defined

FC-AV Object 0 ancillary data

Also included in the Object 0 FC frame are 16 bytes of Ancillary Data (see Table 4 and Figure 1 below). The ancillary data contains required information, like the number of rows and columns in a video frame, whether it is a field or a frame, color information, and sub pixel information. User-defined data can also be entered into the third and fourth words.

Table 4: Object 0 ancillary data

Long word

Identifier

0

Ancillary data

1

Ancillary data

2

User-defined data

3

User-defined data

Figure 1: Ancillary object definition

FC-AV Object 2 video data

In all video profiles, container Object 2 is a set of Fibre Channel frames. These frames use the SOFn and carry up to 2112 bytes video of video payload. The exact number of bytes per FC frame and the total number of FC frames depend on the video profiles. Table 5 uses a 480x480 monochrome image as an example.

Table 5: Sample video frame (480x480 monochrome)


Parameter


Value

Ancillary data
value (hex)

Video frame rate

30

1E

Number of rows

480

1E0

Number of columns

480

1E0

Frame- or field-based

Frame

0

Color information

Mono

0

Packing table number

8 bit

0

Bits per sub-pixel

8:0:0:0

8000

Video lines per FC frame

4

na

FC frames per video frame

120

na