0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

循环冗余检查确保正确的数据通信

星星科技指导员 来源:ADI 作者:Ken Kavanagh 2023-01-30 09:25 次阅读

工业环境中运行的电子系统必须经常承受极端温度、电气噪声环境或其他恶劣条件,然而,它们正常工作至关重要。例如,如果发送到控制机械臂位置的DAC的数据被破坏,则该臂可能会向意想不到的方向移动。这不仅危险而且代价高昂:想象一下,在生产线上,手臂撞到一辆新车的侧面,或者更糟糕的是,撞到生产工人。

有几种方法可用于确保在采取行动之前收到正确的数据。最简单的方法是让控制器读回发送的数据。如果接收到的数据与发送的数据不匹配,则其中一个已损坏,必须发送和验证新数据。这种方法是可靠的,但它也有很大的开销:每条数据都必须经过验证,使传输的数据量翻倍。

另一种方法是循环冗余校验 (CRC),即为每个数据包发送校验和。接收设备将指示是否出现问题,因此控制器不需要验证接收。校验和通常是通过对数据应用多项式方程来生成的。CRC-8 在应用于 24 位字时产生 8 位校验和。将校验和与数据相结合,将所有32位传输到可以分析组合的设备,并指示发生的错误(尽管不是一个完全完美的解决方案),比写入和读取方法更有效。

许多ADI公司的DAC以数据包错误检查(PEC)的形式实现CRC。当不需要 PEC 功能时,将写入 24 位数据。为了添加 PEC 函数,24 位数据通过相应的 8 位校验和进行扩充。如果收到的校验和与数据不一致,则输出引脚调低以指示错误。控制器清除错误,返回引脚高电平,然后重新发送数据。图 1 显示了如何使用 SPI 接口应用数据的示例。表1列出了可以使用数据包错误检查的ADI器件示例。

pYYBAGPXHKiAGY_VAABghAiW9_0621.jpg?la=en&imgver=1

图1.SPI 写入时带或不带数据包错误检查。

表 1.使用数据包错误检查的ADI器件示例

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

生成数据包错误校验和

CRC-8 算法使用多项式 C(x) = x8+ x2+ x1 +1. 对于 x = 2,这相当于二进制值100000111。为了生成校验和,将 24 位数据左移 8 位,以创建一个以 8 个逻辑 0 结尾的 32 位数字。CRC 多项式对齐,使其 MSB 与 32 位数据最左侧的逻辑 1 相邻。对数据应用独占或 (XOR) 函数以生成新的(较短的)数字。(匹配的数字给出逻辑 0,不匹配的数字给出逻辑 1。CRC多项式再次对齐,使其MSB与第一个结果的最左侧逻辑1相邻,并重复该过程。最终,原始数据将减少到小于CRC多项式的值。这是 8 位校验和。图 2 演示了如何开发校验和。

pYYBAGPXHKqAQ285AABJsUzLSbQ275.jpg?la=en&imgver=1

图2.生成 24 位数字 (0x654321) 的校验和。

结论

图 2 中所示的示例使用 0x654321 的 (十六进制) 值作为示例 24 位数据字。将 CRC-8 多项式应用于数据会生成 0x86 的校验和。当数据和校验和发送到兼容的ADI产品时,只有在两条数据都正确到达时,才会接受数据。此方法提高了数据传输的可靠性,并确保几乎永远不会接受损坏的数据。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16064

    浏览量

    176919
  • dac
    dac
    +关注

    关注

    43

    文章

    2255

    浏览量

    190699
收藏 人收藏

    评论

    相关推荐

    数据通信基础课件

    数据通信基础课件第2章  数据通信基础本章学习目标2.1  数据通信的基本概念2.2  数据编码技术2.3  多路复用技术
    发表于 06-27 21:44

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

    数据遭到破坏,机器臂就会按非预期的方向移动, 这不仅危险,而且代价巨大。试想一下,机器臂如果砸到生产线上的新车,或者更糟,砸到生产工人,后果会怎样?有几种方法可以确保收到正确数据后才
    发表于 10-15 10:36

    数据通信测试仪表功能概述

    调制解调器、用户终端设备等。在网络建设中进行系统连接、安装调试、网络验收时,在网络建成后的维护检查、判断和排除故障时,都离不开测试仪表。数据通信测试仪表主要有通信规程测试、传输差错测试、传输信道测试和接口测试等
    发表于 06-21 06:35

    数据通信工程

    通信工程丛书--数据通信工程
    发表于 03-25 00:55 50次下载

    数据通信基础

    数据通信基础 数据通信数据通信系统 物理信道的连接方式 数据传输原理 传输介质  数据交换技术  
    发表于 04-28 16:27 0次下载

    数据通信的基本概念

    2.1  数据通信的基本概念2.1.1  数据、信息和信号 2.1.2  数据通信系统的模型 2.1.3  数据通信系统的主要质量指标2.1.1
    发表于 06-27 21:44 0次下载

    什么是数据通信

    什么是数据通信 数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信
    发表于 06-14 22:32 3716次阅读

    无线移动数据通信,无线移动数据通信是什么意思

    无线移动数据通信,无线移动数据通信是什么意思 无线移动数据通信是通过无线电波传送数据信息的一种通信方式。
    发表于 03-13 11:02 3073次阅读

    数据通信,数据通信原理是什么?

    数据通信,数据通信原理是什么? 数据通信讨论的是从一个设备到另一个设备传输信息。协议定义了通信的规则,以便发送者和接收者能够协调他们的
    发表于 03-17 16:16 6238次阅读
    <b class='flag-5'>数据通信</b>,<b class='flag-5'>数据通信</b>原理是什么?

    数据通信技术(华为资料)

    本书为华为系列丛书中的其中一篇 本书尝试用通俗易懂的语言将复杂的电信网络展现在具有不同知识结构的读者面前 数据通信技术:数据通信是以数据为业务的通信系统,
    发表于 03-16 17:52 0次下载

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

    有几种方法可以确保收到正确数据后才执行动作。最简单的方 式就是控制器回读所发送的数据,另一种替代方法是循环
    发表于 06-02 10:09 1174次阅读
    <b class='flag-5'>循环</b><b class='flag-5'>冗余</b>校验<b class='flag-5'>确保正确</b>的<b class='flag-5'>数据通信</b>

    数据通信协议的简介_数据通信协议有哪些

    数据通信协议,亦称数据通信控制协议。是为保证数据通信网中通信双方能有效,可靠通信而规定的一系列约定。这些约定包括
    发表于 02-06 16:41 8852次阅读
    <b class='flag-5'>数据通信</b>协议的简介_<b class='flag-5'>数据通信</b>协议有哪些

    详谈数据通信的传输损耗分类和原理

    数据通信知识每天都在被使用,每一次发送微信、每一次浏览网页,我们都在不知不觉中使用数据通信。对于数据通信,小编在往期文章中有所介绍,如数据通信的拥塞控制。为增进大家对
    发表于 07-23 10:49 6156次阅读
    详谈<b class='flag-5'>数据通信</b>的传输损耗分类和原理

    数据通信的基本概念

    数据通信通信技术和计算机技术相结合而产生的一种新的通信方式。要在两地间传输信息必须有传输信道,根据传输媒体的不同,有有线数据通信与无线数据通信
    发表于 05-05 14:44 3439次阅读

    数据通信网关是什么?数据通信网关的功能作用

    数据通信网关是一种关键的网络设备,它在不同的通信网络或者不同协议的网络之间充当桥梁,实现数据包的转发、协议转换以及网络互连。其主要功能和作用包括: 1、网络互连:数据通信网关能够连接两
    的头像 发表于 05-29 14:43 740次阅读