新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 循环冗余校验确保正确的数据通信

循环冗余校验确保正确的数据通信

作者:时间:2011-06-01来源:网络收藏

在工业环境中,电子系统通常工作在极端的温度条件下,或处于电子噪声环境,或是其它恶劣条件,而系统在这种条件下能否正常工作至关重要。举例来说,如果发送给控制机器臂位置的DAC 的数据遭到破坏,机器臂就会按非预期的方向移动,这不仅危险,而且代价巨大。试想一下,机器臂如果砸到生产线上的新车,或者更糟,砸到生产工人,后果会怎样?

本文引用地址:http://www.eepw.com.cn/article/156227.htm

  有几种方法可以收到数据后才执行动作。最简单的方式就是控制器回读所发送的数据。如果接收的数据与发送的数据不匹配,则说明其中一者已受到破坏,必须发送新数据并进行验证。这种方法的确可靠,但产生的开销也很大,每段数据都必须经过验证,传输的数据量要翻一倍。

  另一种替代方法是冗余(CRC),即随每个数据包发送一个和(CHECKSUM),接收器就会指示是否存在问题,所以控制器无需验证接收。和一般通过向数据应用一个多项式方程式来生成。应用于一个24 位字时,CRC-8 可产生一个8 位校验和。将校验和与数据组合在一起,全部32 位都发送到能够分析该组合的器件,并指示是否出错——这种方法虽然不是无可挑剔解决方案,但却比读写方法更加高效。

  ADI 公司的众多DAC 都采用了分组差错校验(PEC)的形式来实现CRC。不需要PEC 功能时,则写入24 位数据。要添加 PEC 功能,24 位数据需增加相应的8 位校验和。如果接收的校验和与数据不一致,输出引脚被拉低,指示存在错误。控制器清除错误,使引脚返回高电平,并重新发送数据。图1 所示为如何用SPI 接口应用数据的示例。表1 列出了能够采用分组差错校验的ADI 器件示例。

 采用和不采用分组差错校验的SPI 写入

图1. 采用和不采用分组差错校验的SPI 写入


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭