![](http://datasheet.mmic.net.cn/330000/PM7366_datasheet_16444405/PM7366_46.png)
RELEASED
DATA SHEET
PM7366 FREEDM-8
ISSUE 4
PMC-1970930
FRAME ENGINE AND DATA LINK MANAGER
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA,INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
33
9
FUNCTIONAL DESCRIPTION
9.1
High-Level Data Link Control Protocol
Figure 1 shows a diagram of the synchronous HDLC protocol supported by the FREEDM-8. The
incoming stream is examined for flag bytes (01111110 bit pattern) which delineate the opening and
closing of the HDLC packet. The packet is bit de-stuffed which discards a "0" bit which directly
follows five contiguous "1" bits. The resulting HDLC packet size must be a multiple of an octet (8
bits) and within the expected minimum and maximum packet length limits. The minimum packet
length is that of a packet containing two information bytes (address and control) and FCS bytes.
For packets with CRC-CCITT as FCS, the minimum packet length is four bytes while those with
CRC-32 as FCS, the minimum length is six bytes. An HDLC packet is aborted when seven
contiguous "1" bits (with no inserted "0" bits) are received.
At least one flag byte must exist
between HDLC packets for delineation. Contiguous flag bytes, or all ones bytes between packets
are used as an "inter-frame time fill". Adjacent flag bytes may share zeros.
Figure 1 – HDLC Frame
Flag
Information
FCS
Flag
HDLC Packet
Flag
The CRC algorithm for the frame checking sequence (FCS) field is either a CRC-CCITT or CRC-
32 function. Figure 2 shows a CRC encoder block diagram using the generating polynomial g(X)
= 1 + g1X + g2X2 +…+ gn-1Xn-1 + Xn. The CRC-CCITT FCS is two bytes in size and has a
generating polynomial g(X) = 1 + X5 + X12 + X16. The CRC-32 FCS is four bytes in size and has
a generating polynomial g(X) = 1 + X + X2 + X4 + X5 + X7 + X8 + X10 + X11 + X12 + X16 + X22
+ X23 + X26 + X32. The first FCS bit received is the residue of the highest term.
Figure 2 – CRC Generator
D
0
D
1
g
1
D
2
D
n-1
Message
Parity Check Digits
g
2
g
n-1
LSB
MSB