虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

数据校验

  • 基于FPGA的串行通信实现与CRC校验

    本文应用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的在线可编程特性,对本设计电路进行功能扩展,以满足更高的要求。

    标签: FPGA CRC 串行 通信实现

    上传时间: 2013-04-24

    上传用户:Altman

  • 单片机双工通信的校验方式

      单片机双工通信时用到的校验方式   Ø奇偶校验原理:通过计算数据中“1”的个数是奇数还是偶数来判断数据的正确性。在被校验的数据后加一位校验位或校验字符用作校验码实现校验。   Ø校验位的生成方法   Ø奇校验:确保整个被传输的数据中“1”的个数是奇数个,即载荷数据中“1”的个数是奇数个时校验位填“0”,否则填“1”;   偶校验:确保整个被传输的数据中“1”的个数是偶数个,即载荷数据中“1”的个数是奇数个时校验位填“1”,否则填“0”  

    标签: 单片机 双工通信 校验方式

    上传时间: 2013-10-16

    上传用户:天诚24

  • 带CRC校验串口接受发送

    带CRC校验的AVR mega64单片机串口接受跟发送函数,发送数据跟接受数据可以1602液晶屏显示

    标签: CRC 串口 发送

    上传时间: 2013-10-10

    上传用户:气温达上千万的

  • 使用的是API编程,可格式化、校验和读写特殊扇区。可用作Windows下的磁盘加密。本函数还有以下两个缺点以待改进: 1.本函数还只能读能读 A: 和 B:,即只能对软盘操作 2.不能改变磁盘扇区大小

    使用的是API编程,可格式化、校验和读写特殊扇区。可用作Windows下的磁盘加密。本函数还有以下两个缺点以待改进: 1.本函数还只能读能读 A: 和 B:,即只能对软盘操作 2.不能改变磁盘扇区大小,只能是标准的 512 个字节。 参数说明: command 操作: 0 重置磁盘 2 读扇区 3 写扇区 4 校验磁道 5 格式化磁道 8 得到设备参数 (int 1EH) drive 驱动器 A:=0 B:=1 head 磁头号,范围 0 - 1 track 磁道号,范围 0 - 84 ( 80 - 84 为特殊磁道,通常用来加密 ) sector 扇区号,范围 0 - 255 ( 19 - 255 为非标准扇区编号,通常用来加密) nsectors 每次读或写的扇区数,不能超出每磁道的最大扇区数 buffer 数据写入或读出的缓冲区,大小为 512 个字节 返回值 ( 同 Int 13H ): 0x0 成功 0x1 无效的命令 0x3 磁盘被写保护 0x4 扇区没有找到 0xa 发现坏扇区 0x80 磁盘没有准备好

    标签: Windows API 函数 磁盘

    上传时间: 2013-12-05

    上传用户:moerwang

  • CRC校验码

    CRC校验码,用于对数据流进行crc校验。 主要有CRC_16,CRC_8,CRC_32校验。 所用语言为Verilog HDL.

    标签: CRC 校验码

    上传时间: 2015-05-02

    上传用户:qiao8960

  • crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC

    crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC,Cyclic Redundancy Code)是采用多项式的 编码方式,这种方法把要发送的数据看成是一个多项式的系数 ,数据为bn-1bn-2…b1b0 (其中为0或1),则其对应的多项式为: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:数据“10010101”可以写为多项式 X7+X4+X2+1。 循环冗余校验CRC 循环冗余校验方法的原理如下: (1) 设要发送的数据对应的多项式为P(x)。 (2) 发送方和接收方约定一个生成多项式G(x),设该生成多项式 的最高次幂为r。 (3) 在数据块的末尾添加r个0,则其相对应的多项式为M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),获得商Q(x)和余式R(x),则 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2运算,T(x)所对应的数据是在原数 据块的末尾加上余式所对应的数据得到的。 (6) 发送T(x)所对应的数据。 (7) 设接收端接收到的数据对应的多项式为T’(x),将T’(x)除以G(x) ,若余式为0,则认为没有错误,否则认为有错。

    标签: crc CRC 多项式 位运算

    上传时间: 2014-11-28

    上传用户:宋桃子

  • 4442的读写校验c程序.测试是否有SLE4442卡插入读写器。若有

    4442的读写校验c程序.测试是否有SLE4442卡插入读写器。若有,核对密码,然后进行读写操作,并比较两次操作数据是否相同,若相同,返回操作正确。

    标签: 4442 SLE 读写 程序

    上传时间: 2014-07-14

    上传用户:aa17807091

  • crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC

    crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC,Cyclic Redundancy Code)是采用多项式的 编码方式,这种方法把要发送的数据看成是一个多项式的系数 ,数据为bn-1bn-2…b1b0 (其中为0或1),则其对应的多项式为: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:数据“10010101”可以写为多项式 X7+X4+X2+1。 循环冗余校验CRC 循环冗余校验方法的原理如下: (1) 设要发送的数据对应的多项式为P(x)。 (2) 发送方和接收方约定一个生成多项式G(x),设该生成多项式 的最高次幂为r。 (3) 在数据块的末尾添加r个0,则其相对应的多项式为M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),获得商Q(x)和余式R(x),则 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2运算,T(x)所对应的数据是在原数 据块的末尾加上余式所对应的数据得到的。 (6) 发送T(x)所对应的数据。 (7) 设接收端接收到的数据对应的多项式为T’(x),将T’(x)除以G(x) ,若余式为0,则认为没有错误,否则认为有错

    标签: crc CRC 多项式 位运算

    上传时间: 2014-01-16

    上传用户:hphh

  • LRC校验函数说明及程序源码, 错误校验用于 ASCII 模式。这个错误校验码是一个 8 位二进制数

    LRC校验函数说明及程序源码, 错误校验用于 ASCII 模式。这个错误校验码是一个 8 位二进制数,可作为 2 个 ASCII 十六进制字节传送。计算 LRC 码时,仅设备地址、功能代码、数据块字节参加

    标签: ASCII LRC 错误 函数

    上传时间: 2014-10-28

    上传用户:zyt

  • 函数名称:CRC-16 Process 函数原型:INT16U make_crc16(INT8U *msgaddr,INT8U datalen) 函数功能:进行CRC校验和产生CRC代码.这个函数

    函数名称: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,附加在数据之后(这一步可省略)。

    标签: CRC INT 16 make_crc

    上传时间: 2015-12-21

    上传用户:llandlu