函数名称:CRC-16 Process 函数原型:INT16U make_crc16(INT8U *msgaddr,INT8U datalen) 函数功能:进行CRC校验和产生CRC代码.这个函数只影响全局变量crc16. 校验字放在字符串最后,低8位在前高8位在后. msgaddr : 进行CRC16校验的据块的首地址 datalen : 进行CRC16校验的据块的个数 CRC-ITU的计算算法如下: a.寄存器组初始化为全"1"(0xFFFF)。 b.寄存器组向右移动一个字节。 c.刚移出的那个字节与数据字节进行异或运算,得出一个指向值表的索引。 d.索引所指的表值与寄存器组做异或运算。 f.数据指针加1,如果数据没有全部处理完,则重复步骤b。 g.寄存器组取反,得到CRC,附加在数据之后(这一步可省略)。
上传时间: 2015-12-21
上传用户:llandlu
在数据通读经常用的垂直奇校验,在网上很难找到,所以我写这个小的应用程序
上传时间: 2016-01-19
上传用户:dancnc
CRC码产生器与校验器程序 Features : Executes in one clock cycle per data word Any polynomial from 4 to 32 bits Any data width from 1 to 256 bits Any initialization value Synchronous or asynchronous reset
标签: polynomial Features Executes clock
上传时间: 2013-12-18
上传用户:Ants
通讯规则: 1:时钟7.3728 MHz/波特率9600/9个数据位/奇校验/1个停止位/硬件多机通讯功能/ 2:通讯连接采用硬件MAX485,双向单工 3:每个上行/下行的数据包的字节个数都是一样的(通讯数据量) 4:每个上行/下行的数据包都采用CRC8校验 5:数据接收采用中断+查询的方式 6:总是由主机向从机发送一个数据包,从机收到数据包后向主机回复一个数据包 7:不管是主机还是从机,如果收到的数据包有任何错误,都将丢弃该数据包,等效于没有接收 8:从机之间不能相互通讯,必须通过主机才能交换数据 9:无效地址是0,主机地址是1,从机地址是2.3.4......广播地址是255
上传时间: 2014-01-13
上传用户:ddddddos
通讯规则: 1:时钟7.3728 MHz/波特率9600/9个数据位/奇校验/1个停止位/硬件多机通讯功能/ 2:通讯连接采用硬件MAX485,双向单工 3:每个上行/下行的数据包的字节个数都是一样的(通讯数据量) 4:每个上行/下行的数据包都采用CRC8校验 5:数据接收采用中断+查询的方式 6:总是由主机向从机发送一个数据包,从机收到数据包后向主机回复一个数据包 7:不管是主机还是从机,如果收到的数据包有任何错误,都将丢弃该数据包,等效于没有接收 8:从机之间不能相互通讯,必须通过主机才能交换数据 9:无效地址是0,主机地址是1,从机地址是2.3.4......广播地址是255
上传时间: 2014-01-11
上传用户:zhyiroy
基于c语言实现的通信校验程序,较好的模拟了简单奇校验,垂直奇校验,crc校验等通信检错方法
上传时间: 2014-01-20
上传用户:Andy123456
modbus-rtx crc16校验码
上传时间: 2013-06-20
上传用户:dongqiangqiang
互感器是电力系统中电能计量和继电保护中的重要设备,其精度和可靠性与电力系统的安全性、可靠性和经济运行密切相关。随着电力工业的发展,传统的电磁式互感器已经暴露出一系列的缺陷,电子式互感器能很好的解决电磁式互感器的缺点,电子式互感器逐步替代电磁式互感器代表着电力工业的发展方向。目前,国产的互感器校验仪主要是电磁式互感器校验仪,电子式互感器校验仪依赖于进口。电子式互感器的发展,使得电子式互感器校验仪的研制势在必行。 本课题依据国际标准IEC60044-7、IEC60044-8和国内标准GB20840[1].7-2007、GB20840[1].8-2007,设计了电子式互感器检验仪。该校验仪采用直接法对电子式互感器进行校验,即同时测试待校验电子式互感器和标准电磁式互感器二次侧的输出信号,比较两路信号的参数,根据比较结果完成电子式互感器的校验工作。论文首先介绍了电子式互感器结构及输出数字信号的特征,然后详细论述了电子式互感器校验仪的硬件及软件设计方法。硬件主要采用FPGA技术设计以太网控制器RTL8019的控制电路,以实现电子式互感器信号的远程接收,同时设计A/D芯片MAX125的控制电路,以实现标准电磁式互感器模拟输出的数字化。软件主要采用FPGA的SOPC技术,研制了MAX125和RTL8019的IP核,在NiosIIIDE集成开发环境下,完成对硬件电路的底层控制,运用准同步算法和DFT算法开发应用程序实现对数字信号的处理。最终完成电子式互感器校验仪的设计。 最后进行了相关的实验,所研制的电子式互感器校验仪对0.5准确级的电子式电压互感器和0.5准确级电子式电流互感器分别进行了校验,对其额定负荷的20%、100%、120%点做为测量点进行测量。经过对实验数据的处理分析可知,校验仪对电子式互感器的校验精度满足0.5%的比差误差和20’的相位差。本课题的研究为电子式互感器校验仪的研制工作提供了理论和实践依据。
上传时间: 2013-04-24
上传用户:569342831
目前国内的大多数通用直流电参数测量设备,精度等级一般为0.5级或0,2级,精度更高的测量仪表(校表)一般为0.1~0.05级。而数字仪表使用的CPU大多数仍采用8位或16位单片机,由于其处理速度慢,不易实现更多的功能。软件上还是采用汇编语言编程,流程上沿用传统的线性程序,不便于软件的升级和维护。而国外高精度的测量设备往往价格很高。为了更好地满足计算过程中准确性、精确性、快速性以及日后客户对仪表功能上的升级要求,克服目前国内现行的直流电参数测量仪器存在的局限,同时获得更高的性价比,本文在充分分析和吸收当前国内外数字仪表的先进技术和经验后,研制了一种基于32位ARM和嵌入式实时操作系统μC/OS-Ⅱ的智能直流校验表,精度已达到了0.05级,该仪器是目前国内直流电参数测量的最高性能仪器之一,可广泛用于实验室、计量院所、电力系统等部门作为0.1级、0.05级直流电压、电流测量标准或现场检测。 本文首先对直流表的各种测量功能和精度要求进行了分析,提出了仪器的总体框架和满足测量精度要求的措施。本装置硬件上采用ARM结构,以恩智浦公司的ARM微控制器(LPC2134)为控制核心,实现测量、校准、通信和显示功能。软件上则基于嵌入式实时操作系统μC/OS-Ⅱ进行了仪表的总体程序设计。 在介绍了对直流表硬件电路的设计及驱动程序的编写后,再简单阐述了μC/OS-Ⅱ的一些基本概念和在ARM微控制器(LPC2134)上的移植,并详细介绍了基于μC/OS-Ⅱ平台应用程序的任务划分,在设计了全部程序后,探讨了误差的分类和产生原因,并对实验结果进行了分析。
上传时间: 2013-06-25
上传用户:元宵汉堡包
本文应用EDA技术,基于FPGA器件设计与实现UART,并采用CRC校验。主要工作如下: 1、在异步串行通信电路部分完全用FPGA来实现。选用Xilinx公司的SpartanⅢ系列的XC3S1000来实现异步串行通信的接收、发送和接口控制功能,利用FPGA集成度比较高,具有在线可编程能力,在其完成各种功能的同时,完全可以将串行通信接口构建其中,可根据实际需求分配资源。 2、利用VerilogHDL语言非常容易掌握,功能比VHDL更强大的特点,可以在设计时不断修改程序,来适用不同规模的应用,而且采用Verilog输入法与工艺性无关,利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。 3、利用ModelSim仿真工具对程序进行功能仿真和时序仿真,以验证设计是否能获得所期望的功能,确定设计程序配置到逻辑芯片之后是否可以运行,以及程序在目标器件中的时序关系。 4、为保证数据传输的正确性,采用循环冗余校验CRC(CyclicRedundancyCheck),该编码简单,误判概率低,为了减少硬件成本,降低硬件设计的复杂度,本设计通过CRC算法软件实现。 实验结果表明,基于EDA技术的现场可编程门阵列FPGA集成度高,结构灵活,设计方法多样,开发周期短,调试方便,修改容易,采用FPGA较好地实现了串行数据的通信功能,并对数据作了一定的处理,本设计中为CRC校验。另外,可以利用FPGA的在线可编程特性,对本设计电路进行功能扩展,以满足更高的要求。
上传时间: 2013-04-24
上传用户:Altman