中查找“HDLC的帧结构和CRC校验”更多相关内容
中查找“HDLC的帧结构和CRC校验”更多相关内容
- ·上一篇文章:以太网综述
- ·下一篇文章:面向字符的同步控制协议
HDLC的帧结构和CRC校验
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]。
显然,对于这些利用,可编程逻辑芯片正可以施展自己的专长。