ATM协议中几个不同CRC的FPGA实现方法

来源 :硅谷 | 被引量 : 0次 | 上传用户:shanshan0000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]讨论循环冗余校验码的原理,以ATM中的CRC为例,用FPGA实现并行计算
  [关键词]CRC FPGA 并行
  中图分类号:TP2文献标识码:A 文章编号:1671-7597(2008)0310011-01
  
  一、CRC的数学原理
  
  在一个(n,k)循环码中,仅存在一个r=n-k次的生成多项式G(x),其最高位和最低位系数恒为1,其他各项系数为0或1。将由信息帧组成的信息码多项式M(x)(次数为k),乘以xR,除以G(x)得到余式R(x),由高到低取R(x)的系数,就得到CRC,即:
  
  在接收端通过相同的方法计算CRC,与接收到的CRC做比较,如果一致,就认为在传输过程中没有发生误码,反之,则在传输过程中有错误发生。
  
  二、CRC并行计算的分析推导
  
  CRC编译码的计算涉及到模2的加(减)、乘、除,最终都归结为数字信号的位移和异或操作。由于CRC码的校验位就是模2除的余数,则设寄存器的存数表示余数,异或门表示模2运算,则通用的串行CRC校验电路就可以由如图1所示线性反馈以为寄存器实现。g(i)的通断由生成多项式的对应的系数是0还是1决定,1通0断。
  例如ATM信头里的CRC校验的生成多项式是g(x)=x8+x2 +x+1,由其系数[0:8]:111000001可将其串行编码电路简化为下图所示
  
  可以看出,各移位寄存器当前的存数即为CRC余数值,当进行串行CRC运算时,当前的CRC余数值只与当前信息码的最前一位的输入值和前一状态的CRC余数值有关。有此可以推断,在进行8比特的并行CRC运算时,8比特信息码一次输入并行运算电路所产生的CRC值应该和8比特信息码依次输入串行运算电路所产生的CRC值完全相同。基于这一思想,根据串行CRC运算电路可以推导出并行CRC的运算方法。
  分别表示移位寄存器状态值和信息码输入序列,
  分别表示并行的8比特数据。
  
  这样就推倒出了CRC[0]并行计算8比特后得到的值,其他几个寄存器可以用类似的方法获得。可见,本次CRC值只和本次8位信息码的若干位和上次8位并行信息码所产生的CRC余数的若干位有关。
  
  三、ATM协议中CRC并行计算的FPGA实现
  
  在ATM协议中有若干个CRC校验,例如ATM信元头的校验,AAL2中CPS头的校验,AAL5最后的CRC32校验,因为在FPGA内部的数据处理都是基于8比特或是16比特,所以串行的CRC计算显然是不适用的,根据前述的推倒就可以很方便的计算8比特数据的并行CRC校验。Verilog代码如下:
  always @ (posedge clk or posedge rst)
  begin
  if(rst)
  crc <= 8'h0;
  else if(init_val_en)
  crc <= init_val;
  else if(crc_en)
  crc <= next_crc;
  
  end
  
  assign next_crc[0] = crc[7] ^ crc[6] ^ crc[0] ^ d[7] ^ d[6] ^ d[0];
  assign next_crc[1] = crc[6] ^ crc[1] ^ crc[0] ^ d[6] ^ d[1] ^ d[0];
  assign next_crc[2] = crc[6] ^ crc[2] ^ crc[1] ^ crc[0] ^ d[6] ^ d[2] ^ d[1] ^ d[0];
  assign next_crc[3] = crc[7] ^ crc[3] ^ crc[2] ^ crc[1] ^ d[7] ^ d[3] ^ d[2] ^ d[1];
  assign next_crc[4] = crc[4] ^ crc[3] ^ crc[2] ^ d[4] ^ d[3] ^ d[2];
  assign next_crc[5] = crc[5] ^ crc[4] ^ crc[3] ^ d[5] ^ d[4] ^ d[3];
  assign next_crc[6] = crc[6] ^ crc[5] ^ crc[4] ^ d[6] ^ d[5] ^ d[4];
  assign next_crc[7] = crc[7] ^ crc[6] ^ crc[5] ^ d[7] ^ d[6] ^ d[5];
  
  与之类似,AAL5的CRC32因为也是8比特的整数倍,所以可以计算出每一位的表达式后,得到并行计算的CRC模块。有区别的是对于AAL2中CPS头的5比特CRC计算。因为是要根据19比特来计算出5比特的CRC校验码,所以无法整除,但是也可以用并行的来计算,可以先计算两次并行8比特的,再计算一次并行3比特的,这样就能够很快得到最后的校验码。可以看出,只要理解的CRC并行计算的思想,所有的情况都可以用类似的方法来计算,而不必用耗时的串行计算方法。
  
  参考文献:
  [1]夏闻宇,复杂数字电路与系统的Verilog-HDL设计技术,北京航空航天大学出版社,1999.
  [2]曹志刚、钱亚生,现代通信原理,清华大学出版社,2000.
  [3]王新梅、肖国镇,纠错码-原理与方法,西安电子科技大学出版社,2001.
  
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
[摘要]以苏州城市历史文化保护为例对历史街区的保护、整治与有机更新进行了思考。  [关键词]线性空间 风貌 城市意象 文脉  中图分类号:TU98 文献标识码:A 文章编号:1671-7597(2008)0510135-01    “街区”,顾名思义即为街道或道路再加上用以围合空间的建筑物。    一、历史街区的涵义及保护意义    历史街区兼具有文脉和功能上的双重涵义,既保持有一般意义上街区的通
期刊
[摘 要]随着改革的不断深入,我国经济已逐步全球化。本文主要论述我国加入WTO后对会计方面的挑战以及我国在入世后应进行的改革和对应措施。  [关键词]挑战 经济一体化 国际准则  中图分类号:F23 文献标识码:A 文章编号:1671-7597(2008)0510131-01    WTO是国际贸易自由化与世界经济全球化的客观要求,WTO它推进了各国贸易间的经济联系和发展。我国加入WTO后,按照国
期刊
[摘要]邯钢炼钢区物流跟踪管理系统,利用计算机互联网技术,实现了生产岗位统计数据和计划数据的共享,并且对原有生产线不能提供的技术数据进行获取和汇总分析,为生产管理者提供了指挥生产所必需的实时数据,从而使生产活动能够有计划、按比例地协调发展,提高了生产的工作效率和科学决策能力。  [关键词]生产三级 网络技术 数据共享 指导生产  中图分类号:TP2 文献标识码:A文章编号:1671-7597 (2
期刊
[摘要]传统的电话号码人工检索已经很难适应时代的发展,在信息化时代的今天,很多企业都建立了自己的内部网络,探讨一种方法,可以充分利用现有的网络资源,建立基于B/S模式的电话号码检索系统,来实现电话号码的检索。  [关键词]B/S ASP 数据库 检索  中图分类号:TN91文献标识码:A 文章编号:1671-7597(2008)0310017-01    一、引言    随着中国经济的飞速发展,很
期刊
[摘要]利用先进的通信技术、计算机技术和自动控制技术,基于集中控制系统的策略,设计了以PC 机作为监控主机,无线通信为主要通讯方式,单片机作为远程控制终端核心的多路密码遥控系统。经实验验证该系统具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可作为产品进行开发,应用于近距离无线控制多路强电设备开关的场所,对提高了用电设备管理的现代化水平、缩短故障发现时间和维护周期等方面起到很大的
期刊
[摘要]随着PLC应用越来越广泛,它的抗干扰问题也日益引起人们的重视。分析PLC控制系统中的主要干扰来源,并提出了几种PLC控制系统的具体抗干扰措施。  [关键词]PLC控制系统 抗干扰 措施  中图分类号:TN97文献标示码:A文章编号:1671-7597 (2008) 0310020-01    随着科学技术的发展,PLC在工业控制中的应用越来越广泛。尽管PLC自身已具备较好的抗干扰能力,但还
期刊
[摘要]柯尔伯格的道德认知发展理论,与皮亚杰的道德认知发展学说一脉相承,这一理论描述了道德认知结构不变序列的普遍发展过程。以往学者对柯尔伯格的道德发展理论的研究往往侧重于某一个维度的介绍和分析,则旨在全面审视该理论所体现的三个维度及其内在的逻辑性和相关性,在使理论“回家”的同时,力图凸显对当今学校德育的现实意义。  [关键词]柯尔伯格 道德认知发展理论 学校德育  中图分类号:G41文献标识码:A
期刊
[摘要]C语言中的指针概念比较复杂,但使用时很灵活。正确而灵活地运用指针可以有效地表示复杂的数据结构;能动态分配内存;有效而方便地使用数组等。从五个方面介绍指针。  [关键词]算术运算 运算符&和* 指针表达式 指针和数组  中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)0310036-01    一、指针的概念    指针是一个特殊的变量,它的值是内存的一个地址。要理
期刊
中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)0310030-01    网络边界流量调节机制是指在城域网DiffServ域PE设备(包括BRAS和SR)实现的DiffServ QoS机制,包括速率限制、分类、标记和流量整形。其中速率限制、分类和标记是入方向的QoS机制,而流量整形是出方向的QoS机制。    一、速率限制    速率限制是QoS保证的一种手段,又称为流
期刊
[摘要]IPv6是“Internet Protocol Version 6”的缩写,也被称作下一代互联网协议,它是由IETF设计的用来替代现行的IPv4协议的一种新的IP协议。  [关键词]IPV6协议 优势 网络安全   中图分类号:TP3文献标示码:A 文章编号:1671-7597 (2008) 0310034-01    一、推出IPV6的原因    目前因特网使用的地址都是IPv4地址IP
期刊