CRC校验的LabVIEW实现

2015-08-07 12:44:26来源: vihome
简介:支持Host及FPGA的CRC实现
内容:
循环冗余校验码(CRC)的手算过程:
原始报文为1010
生成多项式G(X)=X3+X+1: 生成多项式G(X)=X3+X+1转换成对应的二进制除数为1011。
用生成多项式对应的二进制数对左移3位后的原始报文进行模2除(高位对齐),相当于按位异或
1010000
1011
------------------
0001000
0001011
------------------
0000011
得到的余位011,所以最终编码为:1010 011

编写程序模拟计算CRC的过程,可以得到CRC校验的结果。
同时还有另一种模拟CRC电路工作方式的CRC实现方法:
其电路的原理图如下:(32bit数据+8bit CRC,生成多项式为:X8+ X7+ X4+ X3+ X1+ 1)


这种方式下,从第一个比特数据直接开始异或计算,最后一个数据输入后,寄存器中的各个数据即为CRC校验位
LabVIEW下的CRC计算可以模拟上述电路图的工作过程。
  1. 对各寄存器中的数据向高位移位,并取得最高位数据,最低为在移位中补0。
  2. 1中取得的最高位数据与输入数据异或,异或的结果决定后续是否进行3操作。
  3. 如果2中异或结果为真,使用多项式对寄存器中数据异或。

具体LabVIEW代码见下图:

该CRC代码的主要特性有:
1.支持FPGA端的定时循环(FPGA定时循环内,CRC16的速率约460M)
2.支持实现任意位、任意生成多项式、任意寄存器初始值。
3.直接从第一个数据开始计算CRC,并在最末数据输入后,直接得到CRC结果,使用方便。
4.支持CRC计算与校验

关键字:CRC校验  LabVIEW

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0807/article_12655.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
CRC校验
LabVIEW

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved