论文部分内容阅读
HDLC是被广泛用作数据链路层的控制协议,HDLC的子集被X.25、ISDN和帧中继网所采用。但是,目前的HDLC产品基本上都是国外的。HDLC的ASIC芯片有Motorola公司的MC92460、ST公司的MK5025、Zarlink公司的MT8952B等。Innocor、Xilinx等公司推出了能在FPGA中实现HDLC功能的IP Core(Intellectual Property Core,知识产权核),但这些IP Core需要付费购买许可(License)才能使用。另外,购买的ASIC芯片和IP Core在应用中受到各种限制,例如,计划采用的CRC生成多项式与所购买产品的CRC生成多项式有可能是不同的。因此,设计具有自主知识产权的HDLC产品具有重要的意义。 CRC校验是HDLC协议的重要组成部分,通信双方通过CRC校验完成对帧的检测,用来判断所接收的数据是否发生错误。CRC校验技术的基本原理是统一的,但是其实现方法却有多种,直到现在,依然有新的CRC实现方法不断出现。CRC实现方法大致可以分为3种:软件方法;用硬件实现的串行方法;用硬件实现的并行算法。所谓并行算法,它是相对于串行算法而言的,每次计算多位比特数据,提高CRC计算的速度。 本文所做的工作包括两个方面: 第一,以符号多项式理论为基础,从理论上论证了任意长度比特组合的CRC校验码的并行算法,提出了并行CRC计算的数学模型,并且以8位二进制序列(即一个字节)为例,介绍了利用此数学模型计算校验码的方法,最后给出了与此算法相对应的VHDL模型。经过对实验数据的对比分析,表明文中所提并行CRC算法的关键路径延迟和硬件面积都得到了优化。 第二,以Top-Down设计方法给出了一种HDLC协议控制器的设计方案,用VHDL语言进行了行为级描述,采用Xilinx公司的FPGA产品进行实现。