HDLC的帧结构和CRC校验

2008-02-22 12:37:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

HDLC规程主要由帧结构、规程要素、规程类别三个部分组成[1]。为了使FPGA的设计能够实现HDLC的基本功能并能按照各项标准的规定灵活采用不同的CRC校验算法,首先回顾一下HDLC基本的帧结构形式。
HDLC是面向比特的链路控制规程,其链路监控功能通过一定的比特组合所表示的命令和响应来实现,这些监控比特和信息比特一起以帧的形式传送。

以下是ISO/IEC 3309标准规定的HDLC的基本帧结构。

起始标志 地址数据 控制数据 信息数据 帧校验序列 结束标志
01111110 8bits 8bits 8bits 16或32bits 01111110

其它的HDLC标准也有类似的帧结构。每帧的起始和结束以"7E"(01111110)做标志,两个"7E"之间为数据段(含地址数据、控制数据、信息数据)和帧校验序列。帧校验采用CRC算法,对除了插入的"零"以外的所有数据进行校验。为了避免将数据中的"7E"误为标志,在发送端和接收端要相应地对数据流和帧校验序列进行"插零"及"删零"操作。

各种HDLC间的区别之一是帧校验序列的CRC算法不同,这种不同表现在几个方面:
a. 帧校验序列的位数不同,如16位和32位等。
b. CRC生成多项式不同,如对于16位的CRC,CCITT V.41标准的多项式是x16 x12 x5 1,ANSI CRC-16标准的多项式是x16 x15 x2 1等。
c. CRC序列的初始化条件不同,如可以初始化为全"0"、全"1"等。
d. CRC计算结果的处理方式不同,如可以直接把CRC结果发送,或对CRC结果取反后再发送等。
e. 对接收到的数据做CRC校验时,合格判据不同。因为有了上述的不同处理,自然会得到不同的结果,由此造成合格判据不同。例如有的标准以校验结果"1D0F"判为无错误[2]。而有的ASIC芯片以校验结果"F0B8"判为无错误[3]。
显然,对于这些应用,可编程逻辑芯片正可以发挥自己的特长。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:面向字符的同步控制协议

下一篇:以太网综述