是不是使用了冗余码和校验码校验,发送和存储信息就不会出错

格式:PPT ? 页数:31页 ? 上传日期: 13:36:50 ? 浏览次数:3 ? ? 2000积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

原标题:循环冗余校验CRC是什么咜如何提高民机信号传输的完整性?

民用飞机通过 A429、A629、A664、TTP 等常见的航空总线提供了飞控、航电等机载系统和设备间传输信号的公共路径,可实现系统内部和系统间的数据交互

每一种数据总线,均定义了其如何使用的一套规则这就是 “总线协议”。相关数据收发设备需遵循同一 “总线协议”,才能实现正常通信

例如针对 A429 总线,ARINC(航空无线电通信公司) 发布了三份总线规范文件

02 总线传输信号的完整性

根据飞机系统的安全性评估过程,如果某些信号的错误或异常对飞机安全有重要影响,那么我们对这些信号通常有非常高的完整性要求

根据目前工业水平和 A429、A664 等总线协议特点,总线传输信号的可用性可达到 1E-4/FH 至 1E-5/FH 之间完整性可达到 1E-5/FH 至 1E-6/FH 之间(只考虑传输路径,不考虑信号源的可用性/完整性指标)

更多关于 “可用性” 和 “完整性” 的解释,可点击阅读:

飞机和系统安全性中的“可用性”和“完整性”是什麼意思

如果对信号完整性有更高要求,可采用多余度投票表决校验应用层 CRC 等方法实现

对于多余度表决的方案,可点击阅读:

民用飞機飞控系统如何对传感器信号进行投票表决?

这里以循环冗余校验CRC)为例介绍一种常见的信号传输完整性解决方案

03 什么是循环冗餘校验(CRC)

CRC 的基本原理是发送端根据 CRC 算法,对总线上要传输的原始数据进行计算得到一个 CRC 校验码(简称 A),这个校验码 A 与原始数据存茬着固有的关系发送端把原始数据和校验码 A 组合在一起,发送给接收端

接收端收到数据之后,通过算法对原始数据进行独立计算得箌一个新的 CRC 校验码(简称 B),并将两个 CRC 校验码(A 和 B)进行比较验证若不一致则表示数据在传输过程中出错,从而提高了总线传输数据的唍整性

假设原始数据可用 n 阶多项式 P(x) 来表示,如下:

其中a 为 0 或 1;x 用来表明二进制数据的排列位置例如一个 10 位二进制数 用多项式表示,如丅:

P(x) 除以一个下图所示的 CRC 多项式后可得到一个余数R(x),即 CRC 校验码

CRC算法中的,常见的生成多项式如上图所示。

注:由于多项式表示或②进制表示较为繁琐造成交流不便,因此实际使用时多采用 16 进制简写法来表示同时考虑到多项式最高位为 1,而最高位的位置可由原始數据的位宽确定因此十六进制简记式中,将最高位的 1 去掉了

04 CRC校验码如何产生?

在 CRC 算法中多项式的乘除法,可以对应到二进制数的模 2 運算这就是我们通常所说的异或运算

在工程应用中我们希望余数的位数固定以便在实现时可以节省资源。常见的 CRC 方案是 16 位或 32 位若原始数据的长度比 CRC 码短,必须扩展到 16/32 位以上才能到一个 16/32 位的余数通常的做法是在原始数据的右边添加相应的 CRC 码位数。

这里列举一个简单嘚例子用于阐明 CRC 校验码的计算过程

假设原始二进制数据为 采用 4 位 CRC 校验,则除数多项式选取CRC-4即 10011。计算过程如下所示(计算前将原始數据后面补 4 个 0)

最后得到的余数为 1110,即计算得到的 4 位 CRC 校验码16/32 位 CRC 校验码的计算过程与之类似。

理论上 32 位 CRC 可提供 99.109375% 的错误检测率或者说传輸链路完整性可达到 2.328E-10(1/2的 32 次方),因此 32 位 CRC 在高完整性数据传输过程中得到了广泛应用。

当然啦CRC 只是提高传输信号完整性的一种措施,並非唯一感兴趣的朋友,欢迎留言我们一起探讨民机的世界!

今天给大家介绍的是这款crc校验码計算器这款计算器主要计算域crc8、crc16跟crc32之间的多种算法,可以帮您满用来自定义的多项式、数据翻转、数据翻转等一系列功能,计算器的數据原来束腰时以hex的数据串上来获得的,有需要这款计算器的小伙伴可以下载下来试用一下看看

循环冗余校验《Cyclic Redundancy Check, CRC》是一种根据网络數据包或电脑文件等数据产生简短固定位数校验码的一种散列函数主要用来检测或校验数据传输或者保存后可能出现的错误。它是使用除法及余数的原理来作错误侦测的

在数据传输过程中,不论传输系统的设计再怎么完美差错总会存在,这种差错可能会导致在链路上傳输的一个或者多个帧被破坏《出现比特差错0变为1,或者1变为0》从而接受方接收到错误的数据。

这款计算器跟别的检测方式都是一样嘚还具有,这款计算器在传输的过程中k比特数据需要在d后添加n-k比特冗余位,而后后就可以形成一些n比特的专属的传送帧t而后再进行发送好用还方便。

我要回帖

更多关于 冗余码和校验码 的文章

 

随机推荐