您的位置 首页 知识

CRC校验的LabVIEW完成

简介:支持Host及FPGA的CRC实现内容:循环冗余校验码(CRC)的手算过程:原始报文为1010生成多项式G(X)=X3+X+1:生成多项式G(X)=X3+X+1转

简介:支撑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核算与校验

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/212129.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部