您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>数据通信>

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

2011年06月02日 10:09 Analog Dialogue 作者:秩名 用户评论(0

 

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

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

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

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

  

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

  表1. 采用分组差错校验的ADI 器件示例

 

产品型号 描述
AD5360/AD5361 16通道、16 位/14 位、±10 V DAC
AD5362/AD5363 8通道、16 位/14 位、±10 V DAC
AD5748 电流/电压输出驱动器,适合工业应用
AD5749 电流输出驱动器,适合工业应用
AD5750/AD5750-1 电流/电压输出驱动器,输出范围可编程,适合 工业应用
AD5751 电流/电压输出驱动器,适合工业应用
AD5755/AD5735 4通道、16 位、4 mA 至20 mA 电流和电压输出 DAC
AD5757/AD5737 4通道、16 位、4 mA 至20 mA 电流输出DAC
ADT7470 温度传感器集线器和风扇控制器

 

  

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

( 发表人:叶子 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!