当前位置: 首页 > news >正文

网站首页弹出图片深圳企业网站定制

网站首页弹出图片,深圳企业网站定制,阿里云虚拟主机建站教程,现在网站建设用什么软件文章目录 一、什么是CRC校验#xff1f;二、实现CRC校验原理以及步骤2.1 用多项式表示二元码数据2.2 选择一个生成多项式作为校验2.3 计算CRC校验码 三、CRC判断数据是否错误的原理以及步骤3.1 将收到的数据与生成多项式求余3.2 数据发生错误再进行CRC校验判断 四、FPGA实现CR… 文章目录 一、什么是CRC校验二、实现CRC校验原理以及步骤2.1 用多项式表示二元码数据2.2 选择一个生成多项式作为校验2.3 计算CRC校验码 三、CRC判断数据是否错误的原理以及步骤3.1 将收到的数据与生成多项式求余3.2 数据发生错误再进行CRC校验判断 四、FPGA实现CRC4.1 线性移位反馈寄存器4.2 LFSR工作原理4.3 仿真验证 一、什么是CRC校验 CRCCyclic Redundancy Check循环冗余校验是一种广泛使用的错误检测技术主要用于检测数据在传输或存储过程中是否发生了错误。它通过对数据进行特定的数学运算生成一个固定长度的校验码CRC 校验码并将其附加到数据后面。接收方在收到数据时可以通过相同的运算来验证数据的完整性。 CRC 校验的基本思路是将数据视为一个多项式并通过模 2 除法即不考虑进位的二进制除法来计算校验值 选择生成多项式CRC 校验使用一个预定义的生成多项式通常是一个二进制数这个多项式的选择会影响 CRC 校验的性能和错误检测能力。数据多项式将待校验的数据视为一个多项式使用二进制表示。模 2 除法用数据多项式除以生成多项式得到的余数就是 CRC 校验码。附加校验码将 CRC 校验码附加到原始数据后面形成完整的数据包。 二、实现CRC校验原理以及步骤 2.1 用多项式表示二元码数据 将输入的数据看成一个多项式其多项式的公式如下 G ( X ) g n x n g n − 1 x n − 1 g n − 2 x n − 2 g 2 x 2 g 1 x 1 g 0 x 0 ∑ i 0 i n g i x i G(X)g_nx^n g_{n-1}x^{n-1} g_{n-2}x^{n-2} g_2x^2 g_1x^1 g_0x^0 \sum_{i0}^{in}g_ix^i G(X)gn​xngn−1​xn−1gn−2​xn−2g2​x2g1​x1g0​x0i0∑in​gi​xi g i g_i gi​表示二元码中第i位的数 x i x^i xi表示二元码中第i位 例如一个多项式为 G ( X ) x 4 x 1 1 ∗ x 4 0 ∗ x 3 0 ∗ x 2 1 ∗ x 1 1 ∗ x 0 G(X)x^4 x 11*x^4 0*x^3 0*x^2 1*x^1 1*x^0 G(X)x4x11∗x40∗x30∗x21∗x11∗x0 则这个多项式表示数据为{10011}反之亦然如果知道一个数据也就知道这个数据对应的多项式。 2.2 选择一个生成多项式作为校验 生成多项式满足仅仅能够被1和自身整除常见的生成多项式有以下 这里面多项式的宽度以及多项式的值是去掉了最高位1的比如我们上面举例 G ( X ) x 4 x 1 G(X)x^4 x 1 G(X)x4x1表示为{10011}一共五位换成16进制为13。截图里去掉了最高位1就变成了{0011}宽度为4初始值03。 2.3 计算CRC校验码 在上面我们知道了二元序列的多项式表示以及一些常见的生成多项式我们就要计算出我们需要的CRC校验码具体计算就是除法取余数。例如我们需要传输的数据为{10010101}我们选择CRC4的生成多项式 G ( X ) x 4 x 1 G(X)x^4 x 1 G(X)x4x1来计算CRC校验码。 将需要传输的数据最低位补n个0这里的n是指生成多项式中x的最高次方这里CRC4的最高次方是4因此需要在数据最低为补4个0变成为{100101010000} 用补0后的数据整除生成多项式取得余数二进制取余数用模2除法步骤如下 将余数{0100}就是CRC校验码填充到传输数据的末尾即可得到整个CRC编码{100101010100} 我们用CRC校验生成网站计算一下本次结果和我们手算的是否一致{10010101}换成16进制为95打开网站 可以看到我们用网站计算的结果和手算的结果一致。 三、CRC判断数据是否错误的原理以及步骤 接收方收到整个数据包后将整个数据对约定好的生成多项式进行模2取余操作最后判断余数是否为0如果余数为0表示数据传输无误如果不为0表示数据传输有错还是用上面的例子来操作一遍 3.1 将收到的数据与生成多项式求余 如果余数为0就表示这次收到的数据没有发生错误如果数据包发生了错误无论1位还是多位余数一定不为0 3.2 数据发生错误再进行CRC校验判断 我们随机将收到的数据两位取反表示收到的数据收到噪声干扰出错了我们再与生成多项式取余操作 由此可见如果传输过程中数据发生了错误最终CRC校验码不等于0。 四、FPGA实现CRC 实现CRC的关键就是取余数在FPGA中可以使用线性移位反馈寄存器来实现取余。 4.1 线性移位反馈寄存器 LFSR线性反馈移位寄存器Linear Feedback Shift Register是一种用于生成伪随机序列的电路或算法。它在数字电路、通信系统和密码学中有广泛的应用。LFSR 通过使用线性反馈机制来生成新的位通常用于加密、错误检测和伪随机数生成等领域。 LFSR的基本组成 寄存器LFSR 由一系列的位存储单元通常是触发器组成这些位存储在寄存器中。寄存器的长度通常用n表示。反馈多项式LFSR 的反馈是通过一个反馈多项式来实现的该多项式定义了哪些位会参与反馈计算。反馈多项式通常表示为 G ( X ) g n x n g n − 1 x n − 1 g n − 2 x n − 2 g 2 x 2 g 1 x 1 g 0 x 0 G(X)g_nx^n g_{n-1}x^{n-1} g_{n-2}x^{n-2} g_2x^2 g_1x^1 g_0x^0 G(X)gn​xngn−1​xn−1gn−2​xn−2g2​x2g1​x1g0​x0移位操作在每个时钟周期LFSR 会将寄存器中的所有位向右移位并将新的反馈位放入寄存器的最高位 4.2 LFSR工作原理 首先将移位寄存器里面的寄存器赋非0初值也叫种子。刚开始 R 0 R 1 R 2 . . . . . . R n − 1 {R_0R_1R_2......R_n-1} R0​R1​R2​......Rn​−1表示种子。然后根据生成多项式来确定反馈位通常是某些位的异或结果即 g 0 g 1 g 2 g 3 . . . . . . . g n − 2 g n − 1 g n {g_0g_1g_2g_3.......g_n-2g_n-1g_n} g0​g1​g2​g3​.......gn​−2gn​−1gn​表示抽头系数。最后移位将输入的数据低n位从高到低移动进来移动结束后 R 0 R 1 R 2 . . . . . . R n − 1 {R_0R_1R_2......R_n-1} R0​R1​R2​......Rn​−1表示余数。 4.3 仿真验证 根据前面的CRC计算原理以及LFSR原理我们搭建电路如上所示我们还是用最开始的例子传输的数据为{10010101}选择生成多项式 G ( X ) x 4 x 1 G(X)x^4 x 1 G(X)x4x1仿真代码如下 timescale 1ns / 1psmodule tb_crc4_lfsr();reg sys_clk ;reg sys_rst ;reg din ;//发送信息为1001_0101 //后面补4个0就是10010101_0000 initial beginsys_clk 0;sys_rst 1;din 0;#200(posedge sys_clk)sys_rst 0;#500(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 0;#200 $stop; endalways #5 sys_clk ~sys_clk;crc4_lfsr u_crc4_lfsr(.sys_clk ( sys_clk ),.sys_rst ( sys_rst ),.din ( din ),.crc_code_valid ( ),.crc_code ( ) ); endmodule 可以看到我们计算出来的CRC校验码为{0100}和我们前面计算的一致。我们将计算好的CRC校验码加到发送信息后四位再经过LFSR看一下结果仿真代码如下 timescale 1ns / 1psmodule tb_crc4_lfsr();reg sys_clk ;reg sys_rst ;reg din ;//发送信息为1001_0101 //后面补4个0就是10010101_0000 initial beginsys_clk 0;sys_rst 1;din 0;#200(posedge sys_clk)sys_rst 0;#500(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 0;#200 //加入前面计算好的余数0100总共信息位就是10010101_0100(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;#200 $stop; endalways #5 sys_clk ~sys_clk;crc4_lfsr u_crc4_lfsr(.sys_clk ( sys_clk ),.sys_rst ( sys_rst ),.din ( din ),.crc_code_valid ( ),.crc_code ( ) ); endmodule可以看到将计算好的余数添加到信息位后面再经过LFSR后得到余数为0表示数据无误。我们随机将打反一位数据仿真代码如下 timescale 1ns / 1psmodule tb_crc4_lfsr();reg sys_clk ;reg sys_rst ;reg din ;//发送信息为1001_0101 //后面补4个0就是10010101_0000 initial beginsys_clk 0;sys_rst 1;din 0;#200(posedge sys_clk)sys_rst 0;#500(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 0;(posedge sys_clk)din 0;#200 //加入前面计算好的余数0100总共信息位就是10010101_0100我们随机打反一位数据信息变成 11010101_0100(posedge sys_clk)din 1;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 1;(posedge sys_clk)din 0;(posedge sys_clk)din 0;#200 $stop; endalways #5 sys_clk ~sys_clk;crc4_lfsr u_crc4_lfsr(.sys_clk ( sys_clk ),.sys_rst ( sys_rst ),.din ( din ),.crc_code_valid ( ),.crc_code ( ) ); endmodule可以看到如果传输过程中数据位发生了错误那么经过解码后的余数不为0
http://www.zqtcl.cn/news/262655/

相关文章:

  • 网站建设费用一年多少钱商洛城乡建设局网站
  • 网站视觉设计原则四个商城建设
  • WordPress站点添加ssl证书网站在百度无法验证码怎么办
  • 做ppt图片用的网站有哪些问题搭建网站合同
  • 杭州网站建设推荐q479185700上墙网站推广费用入什么科目
  • 天津网站建设 熊掌号设计网站大全
  • 网站建设不力 被问责上海传媒公司有哪些
  • 在线购物网站的设计阿里巴巴网站建设
  • 宿迁网站制作公司河北省建设工程协会网站
  • 美丽寮步网站建设做招聘的网站有哪些内容
  • 服装商店的网站建设要求企业所得税率
  • 南联网站建设公司注册企业查询
  • 商业网站的网址买网站服务器吗
  • 专业的单位网站开发网站开发和网页开发有什么区别
  • 电子商务网站建设 概念免费网页设计制作网站
  • 柳州做网站设计的公司游戏界面设计图片
  • 网站建设属于无形资产吗网站开发工程师 下载
  • 湖北城乡建设部网站首页推广电子商务网站的案例
  • 做地方网站如何盈利电脑上怎样进入中国建设银行网站
  • 网站建设初期问题常见wordpress 3.8页面伪静态化 html
  • wordpress字不能显示嘉兴优化网站公司
  • 免费行情网站大全下载wordpress访问要10多秒
  • 内蒙古生产建设兵团四师三十四团知青网站绵阳哪里可以做网站的地方
  • 网站建设找推推蛙wordpress 评论 字段
  • 河北保定网站建设石家庄网站建设找汉狮
  • 网站建设风险分析网站开发需多少钱
  • 苏州企业网站制作程序开发的步骤
  • 网站开发与维护竞赛深圳建设局官网站
  • 开发网站的费用属于什么费用高等院校网站建设方案
  • 建设化工网站的功能百度装修网站