《循环冗余校验码CRC在MSTP上的应用.doc》由会员分享,可在线阅读,更多相关《循环冗余校验码CRC在MSTP上的应用.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流循环冗余校验码CRC在MSTP上的应用.精品文档.循环冗余校验码(CRC)在MSTP上的应用尹 恒(武汉邮电科学研究院,武汉,430074)摘 要:本文介绍了循环冗余校验码(CRC)的原理、软硬件实现以及在MSTP中的应用,指出循环冗余校验码(CRC)是一中非常实用的检错码。关键词:循环冗余校验码(CRC);MSTP;PPP/HDLC协议;LAPS协议;GFP协议Application of Cyclic Redundancy Check (CRC) in the MSTPYIN HENG(Wuhan Research Institute O
2、f Post and Communication ,Wuhan ,430074 ,China)Abstract : This paper introduces the principle and Realization of Cyclic Redundancy Check (CRC) , points out that Realization of Cyclic Redundancy Check (CRC) is very useful .Key Word : Realization of Cyclic Redundancy Check (CRC); MSTP; PPP/HDLC protoc
3、ol ; LAPS protocol ; GFP protocol1 前言根据经典的香农公式,理想信道的容量是无限的,然而在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免的会发生错误。为了加强通信系统的可靠性,除了合理设计基带信号,选择调制、解调方式,采用频域均衡、时域均衡,使误码率尽可能降低之外,还需要采用信道编码,即差错控制编码,使误码率进一步降低以满足指标要求。随着差错控制编码理论的完善和数字电路的发展,信道编码已经成功地应用各种通信系统中。差错控制编码的基本做法是:在发送端被传输的信息序列上附加一些监督码元,这些多余的码元与信息码元之间以某种
4、确定的规则相互关联(约束)。接收端按照既定的规则检验信息码元与监督码元之间的关系,一旦传输过程中出现差错,则信息码元与监督码元之间的关系将遭到破坏,从而可以发现错误,乃至纠正错误。其中,循环冗余校验码(CRC)凭借极强的检错性能,很小的开销,以及易于实现的特点,成为目前通信系统中最常用的一种差错控制编码。2 循环冗余校验码(CRC)原理12.1 循环冗余校验码(CRC)简介利用循环冗余校验码(CRC)进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码,附在原始信息之后,构成一个新的二进制码序列,然后发送出去。在接收端根据信息码和监督码之间所遵循的规
5、则进行检验,一旦传输过程中发生差错,则信息码与监督码之间的关系遭到破坏,从而可以发现错误。2.2 循环冗余校验码(CRC)生成与校验过程2.2.1 循环冗余校验码(CRC)的生成循环冗余校验码(CRC)校验生成的循环码为系统码,采用循环码特有的多项式编码方法。信息码多项式升(n-k)次幂后除以生成多项式,然后将所得的余式加上升幂后的信息码多项式,由此得到系统码多项式。在发送端,设有一组信息码多项式,最高次数为k-1(共k位),以乘以构成一个n-1次(最高次)多项式,即 ,再除以生成多项式(以为模),则式中,为商,为余式,余式的系数即为生成的CRC监督码。将计算出的余式与 相加,可得到循环码多项
6、式,即将发送到信道上传输。2.2.2 循环冗余校验码(CRC)的校验校验方法一:在接收端,对接收到的信息码多项式进行与发送端相同的运算,即通过计算,可得到新的余式。将与从接收的循环码多项式中提取的相比较,若,说明在传输的过程中未出现了误码。比较的过程即为校验的过程。校验方法二:直接用接收到的序列除以生成多项式,即通过计算,若余数为0,则说明在传输的过程中未出现了误码。2.3 生成多项式的国际标准2.4 循环冗余校验码(CRC)检错性能循环冗余校验码(CRC)的检错能力很强,既能检测随机差错,也能检测突发性差错,其检错性能包括以下5点:l 能检测出全部单个错误。l 能检测出全部随机的2位错误。l
7、 能检测出全部奇数个错误。l 能检测出全部长度小于等于k的错误。l 能以的概率检测出长度为k位的突发性错误。3 循环冗余校验码(CRC)的实现3.1 软件实现软件实现的流程图如下所示:其中,GetCRC子程序的作用是生成循环冗余校验码(CRC)。GetCRC子程序源代码如下:int GetCRC(int t) /生成循环冗余校验码int k;int g=0x13; /这里生成多项式使是4次 10011cint; /输入的信息码是6位,如果要更长,修改下l字g=g5; for(;i6;) if(t6;t=t4;k=t;g=g3;int i=0;for(;i4;)if(t0x80) /表示首位为0
8、,所要继续移动t=t4;k=kt;return k;实验截图如下:图3 实验截图3.2 硬件实现3.2.1硬件原理框图图4 硬件原理框图3.2.2 CRC校验生成模块图5 CRC校验生成模块仿真CRC检测模块程序如下:3.2.3 CRC校验检错模块图6 CRC校验检错模块仿真CRC校验检错模块程序如下:4 循环冗余校验码(CRC)在MSTP上的应用GFP协议24.1 MSTP应用的主要技术MSTP是一种城域传输网技术,它能将SDH、以太网、ATM、POS等多种技术进行有机融合。MSTP以SDH技术为基础,将多种业务进行有效的汇聚并进行有效适配,实现多业务的综合接入和传送,实现SDH从单纯传送网
9、向传送网和业务网一体化的多业务数字平台的转变。从网络现状来看,大部分的城域传输网仍以SDH设备为主,基于技术成熟性、可靠性和成本等方面综合考虑,以SDH为基础的MSTP技术在城域网应用领域扮演着十分重要的角色。随着近年来数据、宽带等IP业务的迅猛增长,MSTP技术的发展便主要体现在对以太网的支持上。以太网新业务的要求推动着MSTP技术的发展。MSTP的主要技术有封装技术、级联技术、映射技术、链路容量调整机制(LCAS)技术。其中封装技术采用的协议有PPP/HDLC协议、LAPS协议、GFP协议。本文将主要就循环冗余校验码(CRC)在GFP封装中的应用进行讨论。4.2 GFP封装的一般处理过程图
10、7 GFP封装的一般处理过程4.3基于PLI和HEC关系的GFP定帧图8基于PLI和HEC关系的GFP定帧4.4 GFP的数据帧结构图9 GFP的数据帧结构其中,核心头校验(cHEC)、类型帧头差错校验(tHEC)、扩展帧头差错校验(eHEC)应用到CRC-16校验,FCS应用到CRC-32校验。4.5 信头差错校验(HEC)核心头校验(cHEC):两个8位宽的核心差错控制域包含CRC-16序列,以保护核心帧头的完整。CRC-16序列由PLI计算得出,可以实现单比特纠错和多比特检错。类型帧头差错校验(tHEC):两个字节宽的帧头差错控制域包含一个CRC-16序列,以保护TYPE域的完整。扩展帧
11、头差错校验(eHEC):两个字节宽的扩展帧头差错控制域包含一个CRC-16序列,以保护扩展帧头的完整。4.6 帧校验序列(FCS)的产生可选长度为4Byte的帧校验序列,为CRC-32检测序列,用来保护GFP净荷信息域的完整性。ITU-T CRC-32生成多项式:的系数可以看成是一个32位的序列。5 总结展望循环冗余校验码(CRC)凭借极强的检错性能,很小的开销,以及易于实现的特点,在数据通信、移动通信、PCM-2M以及SDH中均得到广泛应用。在实际应用中,循环冗余校验码(CRC)的生成与校验功能可以用硬件或者软件来实现。目前,已经有很多通信集成电路芯片本身带有标准的循环冗余校验码(CRC)生成与校验功能。综上所述,循环冗余校验码(CRC)是非常实用的检错码。参考文献1 肖萍萍.金振坤.周一.通信原理与应用M.北京:人民邮电出版社.2011.9 2 肖萍萍.吴健学.周芳.SDH原理与技术M.北京:北京邮电大学出版社.2002.3