HDLC协议C语言,符合中国移动标准协议转换器中HDLC协议FPGA设计与实现.doc

符合中国移动标准协议转换器中HDLC协议FPGA设计与实现

符合中国移动标准协议转换器中HDLC协议FPGA设计与实现

随着通信与网络技术的不断发展,使我国用现有的El资源来传输以太网业务成为广泛的应用。以太网数据要通过El线路传输就必须对以太网净荷数据进行帧封装,才能从El线路上恢复出以太网数据帧,完成以太网数据的交换。通常、以太网数据是通过HDLC协议或GFP协议来进行封装的。本文介绍了中国移动标准协议转换器中以太网到单路E1转换器HDLC协议封装的FPGA(现场可编程逻辑阵列)设计与实现。

通用HDLC协议介绍

HDLC(High Level Data LinkContr01)协议是通信领域应用最广泛的协议之一。它是面向位的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。其帧结构如图l所示。

其中,F为起始标志和结束标志,定义为,作为帧同步标志。两HDLC帧间至少包含一个“0llllll0”。A为接收地址,c为控制字,Info为信息字段,是长度可变的净荷数据,FCS为对A+C+Info进行CKC校验的结果。A+C+Info+FCS就构成了HDLC帧透明传输的净荷内容。为了防止HDLC帧净荷中出现帧同步标志,协议规定,在发送端,如果HDLC帧的净荷中出现5个连续的“1”时,在第5个“1”后自动插入一个“0”:在接收端,当HDLC帧同步后,如果在帧净荷比特流中检测到连续5个“1”时,耍自动将第5个“1”后的“0”删除。从而保证了HDLC净荷良好的传输特性。

HDLc标准+的协议较多,如CCITT、ANSI、ISO/IEC等。各种标准的区别之一就是CRC校验处理的差异,体现如下:

1.帧校验序列位数不同,如CRC 16和CRC32。

2.CRC生成多项式不同,如对于CRCl6,CCITT标准的多项式是x16+x12+xS+l;ANSI标准的多项式是x16+x15+x2+1。

3.cRC校验寄存器的初始值不同,初始值为全“0”,或为全

“1”

4.CRC计算结果发送方式不同,如直接把CRC结果发送,或把CRC结果取反发送。中国移动标准协议中以太网到单路E1转换器及HDLC帧结构介绍

E1是我国电信传输网一次群使用的标准、资源十分丰富。以太网应用的快速普及,使得利用现有的El信道来传输以太网业务就成了当前的一种非常合理的需求。E1本身就是面向比特的信道,采用HDLC技术来封装以太网数据在E1上传输是一种非常合适高效的选择。针对这种情况,中国移动提出了以太网转换器的相关协议。

中国移动标准协议转换器中规定:以太网数据的LSB先发,并按此顺序进行CRCl6的FCS校验,CRC校验结果按位取反,并且MSB先发,其CRCl6生成多项式是x16+x12+x5+1。以太网帧封装到HDLC帧的映射关系如图2所示。

以太网到单路E1转换器中HDLC协议的FPGA设计

根据设计需求,本HDLC协议处理器将以太网帧的净荷数据通过HDLC协议封装,进行透明传输。设计时采用“Top t0 Down(自顶向下)”设计思路,使用图形化设计工具,自顶向下进行模块设计和信号定义。并进一步将设计分为封装和解封装两大模块,再根据具体功能进一步将收发两个模块细化。对于最底层的模块,本设计全部采用业内流行Verilog语言来实现。最后用FPGA进行功能验证。

HDLC封装模块HDLC―FRAMER

封装模块主要完成的功能包括:根据外部信号产生内部所须的各种控制信号(SEND CTL模块);对数据缓冲FIFO来的字节数据进行并串转换,并保证低位先发(HTX P2S模块):对串行帧净荷数据进行串行CRCl6校验,并把16位校验结果按位取反后高位先发紧接着最后一个帧净荷数据发出(INSERT CRC模块):在串行的以太网净荷及CRC校验序列流中进行连5个“1”后插“0”操作(INSERT ZERO模块);最后,再给插“0”后的比特数据流插入“7E”帧同步标记(INSERT 7E模块)。经过这些处理后,就完成了符合移动标准的HDLc协议封装功能。

关于CRCl6校验的说明。本设计中的CRC6采用的是串行校验算法,对并串转换后的串行数据进行校验。串行校验算法的具体电路在HDLC协议标准里都已明确给出了,可以很方便的获得。关于CRC校验的原理在很多文献里都有描述,这里不再重复。当然,CRCl6也可以采用并行的算法来实现。如果采用并行算法、CRCl6校验将直接对缓冲FIFO出来的字节数据进行校验后再进行并串变换。封装模块子层框图如图3所示。

HDLC解封装模块HDLC―DEFRAMER

解封装电路主要完成的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值