crc校验码计算 详解crc校验算法原理及实现

01总线和总线协议民用飞机通过A429、A629、A6***、TTP等常见的飞行空总线提供机载系统与飞控、航电等设备之间传输信号的通用路径。,并且可以实现系统内部和系统之间的数据交互。每条数据总线都定义了一套如何使用的规则,就是“总线协议”。相关的数据收发设备必须遵循相同的...

01总线和总线协议

民用飞机通过A429、A629、A6***、TTP等常见的飞行空总线提供机载系统与飞控、航电等设备之间传输信号的通用路径。,并且可以实现系统内部和系统之间的数据交互

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

比如A429总线,ARINC(中国航空空***电通信公司)发布了三个总线规范文件。

02总线传输信号的完整性

按照飞机系统的安全评估流程,如果某些信号出现错误或异常,对飞机安全产生重要影响,那么我们通常对这些信号的完整性要求非常高。

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

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

“可用性”和“完整性”在飞机系统安全中意味着什么?

如果对信号完整性有更高的要求,可以通过

冗余表决

校验应用层CRC

来实现。

冗余投票方案,点击阅读:

民用飞机飞控系统,传感器信号怎么投票?

循环冗余校验

(

CRC

)为例,介绍一种常见的信号传输

完整性解决方案

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

是CRC

循环冗余校验

的缩写,全称是

循环冗余校验

CRC的基本原理是发送方根据CRC算法对总线上要传输的原始数据进行计算,得到一个

CRC校验码

(简称A),它与原始数据有着内在的联系。发送方将原始数据与校验码A组合,并发送给接收方。

接收端接收到数据后,通过算法独立计算原始数据得到新的CRC校验码(简称B),并

比较两个CRC校验码

(A和B)[S2/]进行验证。如果不一致,说明数据在传输过程中是错误的,从而提高了总线传输数据的完整性。

假设原始数据可以由

n

多项式

P(x)

表示如下:

其中

a

是0或1;

x

用于表示二进制数据的排列位置。例如,10位二进制数1101011011由多项式表示,如下所示:

如下图所示

P(x)

除以一个CRC多项式后,可以得到一个余数

R(x)

,这个余数就是CRC校验码。

CRC算法中常见的

生成多项式

如上图所示。

注意:多项式表示或二进制表示比较繁琐,给交流带来不便,所以实际使用中经常使用十六进制表示法。同时考虑到多项式的最高位是1,并且最高位的位置可以由原始数据的位宽来确定,所以在十六进制记数法中去掉了最高位1。

04 CRC校验码是怎么产生的?

在CRC算法中,多项式的乘除运算可以对应二进制数的

模2运算

,也就是我们通常所说的

异或运算

在工程应用中,我们希望余数的位数是固定的,这样在实现时可以节省资源。常见的CRC方案是16位或32位。如果原始数据的长度短于CRC码,则必须将其扩展到16/32位以上,以获得16/32位的余数。通常的做法是在原始数据的右侧添加相应的CRC码位。

下面用一个简单的例子来说明CRC校验码

计算过程。

假设原二进制数据为

1101011011

,采用4位CRC校验,则除数多项式为CRC-4,即

10011

。计算过程如下(计算前原始数据加4个零)。

最后的余数是

1110

,这是计算出的4位CRC校验码。16/32位CRC校验码的计算过程类似。

05摘要

理论上32位CRC可以提供
99.9999976716935634613037109375%的检错率,或者传输链路完整性可以达到

2.328E-10

(1/2的

32次方[

当然,CRC只是提高传输信号完整性的一种措施,而不是唯一的。感兴趣的朋友请留言,让我们一起探讨民用飞机的世界!

本文来自长街旧人投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/489946.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-04
下一篇 04-04

相关推荐

  • 吉利帝豪报价及图片 吉利帝豪保养详解

    今天我们来对吉利帝豪这款车的常规保养项目价格做一个总结。官方维护手册周期表:维护价格表:质量保证政策:质保期:4年或15万公里家用汽车的保修期从**开具之日起算,法律规定不得少于3年或6万公里(以先到者为准)。维护间隔:首保里程:5000公里维护间隔:7500公里第一份保险单:厂

    2023-10-25 16:11:30
    710 0
  • 抖音极速版和抖音有什么区别 详解两个版本4大差异

    1.极限版和Tik Tok有什么区别?1、内存不同1.不同的记忆Tik Tok至尊版内存更小,流量更少,使用流畅。具有空之间小二装的特点。2.赚钱功能Tik Tok至尊版有一个赚金币的功能,可以通过看视频和邀请好友来赚钱。3.上传视频Tik Tok极速版没有视频上传功能,而带抖音的短视频可以

    2023-07-29 06:07:01
    890 0
  • 皮料用量尺寸计算公式 详解皮料采购计算攻略

    1.皮革材质可分为54寸和36寸。1英寸= 2 . 54厘米54英寸x 2.54厘米= 137.16厘米36英寸x 2.54厘米= 91.44厘米一般实际利用率135cm,一般实际利用率90cm。常宽1y = 54英寸x 91.41cm厘米= 12339(135厘米)1y = 36英寸x 91.41cm厘米= 8226(90厘米)2.工具间距:皮革打孔时,要求刀具间

    2023-07-29 03:46:01
    716 0
  • performselector实现原理 详解performselector应用场景

    RunLoop学起来很抽象,不容易理解,一定要多看几遍,多学才能学好!这也是中高级iOS必须掌握的知识点,也是面试中经常遇到的。什么是RunLoop?Run表示运行,Loop表示循环。结合在一起就是运行一个循环。RunLoop就是在程序运行过程中循环地做一些事情。RunLoop的应用类别有哪些

    2023-07-29 00:34:01
    1055 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信