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

文章正文
发布时间:2024-09-10 01:23

    在工业环境中,电子系统通常工作在极端的温度条件下,或处于电子噪声环境,或是其它恶劣条件,而系统在这种条件下能否正常工作至关重要。举例来说,如果发送给控制机器臂位置的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   温度传感器集线器和风扇控制器  

生成分组差错校验和

    CRC-8 算法采用多项式 C(x) = x8 + x2 + x1 + 1. For x = 2时,此式等于二进制值100000111。要生成校验和,需将24 位数据左移 8 位,产生一个后8 位为逻辑0 的32 位数。对齐CRC 多项式,使其MSB 与该32 位数据最左侧的逻辑1 对齐。对该数据施加一个异或(XOR)函数,以产生一个新(更短)的数字。(数字匹配得到逻辑0,不匹配得到逻辑1。)再次对齐CRC 多项式,使其MSB 与第一个结果最左侧的逻辑1 对齐,重复上述步骤。最后,原始数据将减少至小于CRC 多项式的值。此值即是8 位校验和。图2 演示了推演校验和的方法。

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

结论

    图2 中的示例采用(十六进制)值0x654321 作为24 位数据字。对该数据应用CRC-8 多项式可生成校验和0x86。数据和校验和发送至兼容的ADI 公司产品时,只有两段数据都正确到达,该数据才会被接收。此方法提高了数据传输的可靠性,并可确保遭破坏的数据几乎永远不会被接收。

关键字:冗余校验  数据通信 引用地址:循环冗余校验确保正确的数据通信

上一篇:采用ARM+Linux 的仪器控制系统设计
下一篇:船舶自动化系统平台的构建

推荐阅读最新更新时间:2024-03-30 21:36

解调器MSM6882及其在无线数据通信中的应用

1 引言 计算机与数据终端的普及使得无线数据通信技术在很多领域得到广泛应用。在无线数据传输设备中,调制解调器是不可缺少的一环。调制解调器的调制方式主要有频移键控(FSK)、相对相移键控(DPSK)等,其中最小频移键控(MSK)调制方式是FSK方式中较好的一种。MSK调制方式是连续相位频率键控(CP-FSK)方式的特殊情况,其调制系数为0.5。MSK信号在码元转换瞬间没有相位突变,因而信号频谱在频带之外的滚降会加快,占用频带比PSK信号窄,但却具有与PSK相同的性能,非常适合在无线通信中使用。 MSM6882是日本OKI公司生产的采用MSK调制方式的调制解调芯片。它的工作温度为-25℃~70℃,采用DIP22或SOC24封装

[单片机]

解调器MSM6882及其在无线数据通信中的应用

S3C2440A串口驱动-WINCE6.0下通过串口和外设进行数据通信(一)

一,开发环境 WINCE6.0下编写串口驱动,使用S3C2440A的UART0和PC进行通信,UART1、UART2和AVR Atemga162单片机进行通信。 二,串口流驱动流程 主要完成 XXX_Init,XXX_Open,XXX_Read,XXX_Write,XXX_Seek,XXX_PowerUp,XXX_PowerDown,XXX_Close,XXX_Deinit,XXX_IOControl函数。下面介绍自己在驱动中用到的函数。 1,XXX_Init() 在XXX_Init()函数中完成驱动中相关变量和资源等的初始化工作。如S3C2440A相关寄存器的初始化,为其分配地址空间。例如串口0控制寄存器的初始化

[单片机]

嵌入式机器视觉系统中ARM与DSP的数据通信设计方案

  随着Internet技术与工业、航空电子控制、视觉应用等的结合日益紧密,嵌入式设备与Internet的结合已成为大势所趋。目前新的微处理器层出不穷,要求嵌入式操作系统的设计更加便于移植,支持更多的微处理器。DSP对数字信号和数值算法具有强大的运算处理能力,ARM微控制器则控制功能强大,可以加载嵌入式操作系统,且能提供良好的人机交互、任务管理、网络通信等方面功能。发挥DSP和ARM处理器各自的优势,采用ARM+DSP结构的设计方案已成为嵌入式系统研究的热点。    1 嵌入式机器视觉系统总体方案   采用ARM+DSP结构的机器视觉系统总体结构如图l所示。以三星公司高性能ARM处理器S3C2440作为主控制器,配置并移植Lin

[单片机]

嵌入式机器视觉系统中ARM与DSP的数据通信设计方案

FSK信息解码的电话网数据通信

电话主叫识别信息发送及接收(俗称来电显示),简称CID(Calling Identify Delivery),是电信局向被叫电话用户提供的一种服务项目,是指在被叫用户终端设备上显示主叫电话号码、主叫用户姓名、呼叫日期和时间等主叫识别信息并进行存储,以供用户查阅的服务项目。被叫用户根据显示的主叫识别信息而决定是否接听电话,可以避开一些不愿接听或不友好的电话。利用这个功能可以进行 FSK信息解码的电话网数据通信,应用于实际生活中。 1 电话主叫识别原理和传送协议 实现电话主叫信息识别业务的基本方法是,发端程序交换机将主叫电话号码等信息通过局间指令系统传磅给终端交换机,终端交换机再将主叫识别信息以移频键控 FSK(Frequency

[嵌入式]

无线电台用智能数据通信卡的设计与实现

    摘要: 介绍了采用OKI公司的FSK MODEM芯片MSM7512B、AT89C51单片机作控制实现的电台用智能数据通信卡的设计思想和实现方法。通过该卡,可方便地给以模拟方式作为话音通信的无线电台增加数据通信功能,使其性价比大大提高。     关键词: 无线电台 单片机 数据通信 调制解调器 当今信息时代,人们需要多种多样的通信手段和设备,常见的不论是有线电话还是无线电台,都为模拟信道,适合传送模块话音信号。目前,通过公用电话网进行计算机通信的技术已经成熟。而无线电台特点是老式电台,在我国使用范围很广,拥有量很大,但其功能单一,不能适应当前数据通信的要求,如何对其进行技术改造,增加数据能信功

[应用]

英特尔助力全球首个虚拟化5G端到端数据通信部署成功

近日,美国主要电信运营商之一的Verizon与英特尔、三星和风河合作,在商业网络中部署了全球首个完全虚拟化的5G端到端数据通信,这强调了虚拟化无线接入网络(vRAN)技术已经准备就绪。为了能够扩大vRAN的规模,英特尔已经与社区合作推动标准化,并培育一个强大的全球生态系统。 全球多家领先的运营商正在基于英特尔®技术进行vRAN市场试验,并开始商业部署。 “完全虚拟化的5G网络只能通过强有力的行业合作来实现交付,而最近的这一成就是Verizon、英特尔、三星和风河多年合作的成果。”英特尔公司副总裁兼网络平台事业部总经理Dan Rodriguez表示:“随着我们的客户部署虚拟化无线接入网络架构,英特尔正在整合产品、生态系统和

[网络通信]

英特尔助力全球首个虚拟化5G端到端数据通信部署成功

嵌入式Linux下ARM处理器与DSP的数据通信

摘要:本文通过一个开发实例详细说明如何通过DSP的HPI接口与运行Linux操作系统的ARM架构处理器进行数据通信。给出接口部分的实际电路和ARM-Linux下驱动程序的开发过程。 关键词:设备驱动程序 嵌入式Linux HPI ARM DSP 1 引言 基于ARM核心处理器的嵌入式系统以其自身资源丰富、功耗低、价格低廉、支持厂商众多的缘故,越来越多地应用在各种需要复杂控制和通信功能的嵌入式系统中。 内核源码开放的Linux与ARM体系处理器相结合,可以发挥Linux系统支持各种协议及存在多进程调度机制的优点,从而使开发周期缩短,扩展性增强。作为数字处理专用电路,DSP的数字信号处理能力十分强大,但对诸如任务管理、通信、

[工业控制]

美光科技创立 Xccela™ 联盟

美国爱达荷州博伊西,2016 年 12 月 15 日——美光科技有限公司(纳斯达克代码:MU)今日宣布创立面向半导体和电子公司的 Xccela™ 联盟 (Xccela™ Consortium)。该联盟的宗旨是推动 Xccela Bus 接口成为适用于易失性和非易失性存储以及其他类型集成电路的新型数字互联和数据通信总线的开放式标准。为了更好地凸显应用通过使用这种总线及受支持设备可获得的性能提升,美光科技将之前发布的 XTRMFlash™ 和 XTRMBus™ 重新命名为 Xccela™ Flash 和 Xccela™ Bus。 美光科技、华邦电子 (Winbond Electronics)、GigaDevice Semicond

[嵌入式]