首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏电子电路开发学习

    技术创作101训练营-CRC校验没那么难

    个标准CRC参数模型: [2020-09-20_131404] CRC校验在电子通信领域非常常用,可以说有通信存在的地方,就有CRC校验: 美信(MAXIM)的芯片DS2401/DS18B20,都是使用的CRC 问:原始数据:0x34,使用CRC-8/MAXIN参数模型,求CRC值? 答:根据CRC参数模型表,得到CRC-8/MAXIN的参数如下: POLY = 0x31 = 0011 0001(最高位1已经省略) INIT = 0x00 XOROUT = 0x00 REFIN = 模2除法取余数低8位:1111 1011 5.与XOROUT进行异或,1111 1011 xor 0000 0000 = 1111 1011 6.因为REFOUT为TRUE,对结果进行翻转得到最终的CRC printf("%02x ", data[i]); } printf("\n"); crc = crc8_maxim(data, LENGTH); printf("CRC

    1.1K70发布于 2020-09-21
  • 来自专栏电子电路开发学习

    CRC校验原来这么简单

    CRC校验在电子通信领域非常常用,可以说有通信存在的地方,就有CRC校验: 美信(MAXIM)的芯片DS2401/DS18B20,都是使用的CRC-8/MAXIM模型 SD卡或MMC使用的是CRC-7/ 问:原始数据:0x34,使用CRC-8/MAXIN参数模型,求CRC值? 答:根据CRC参数模型表,得到CRC-8/MAXIN的参数如下: POLY = 0x31 = 0011 0001(最高位1已经省略) INIT = 0x00 XOROUT = 0x00 REFIN = 模2除法取余数低8位:1111 1011 5.与XOROUT进行异或,1111 1011 xor 0000 0000 = 1111 1011 6.因为REFOUT为TRUE,对结果进行翻转得到最终的CRC printf("%02x ", data[i]); } printf("\n"); crc = crc8_maxim(data, LENGTH); printf("CRC

    15.2K12发布于 2020-09-24
  • 来自专栏FPGA探索者

    FPGA手撕代码——CRC校验码的多种Verilog实现方式

    用Verilog实现CRC-8的串行计算,G(D)=D8+D2+D+1,计算流程如下图所示: ? 一、分析 CRC循环冗余校验码(Cyclic Redundancy Check),检错码。 (1)该题目所述为CRC-8,即输出8位CRC校验值,给定一段长为N-bit的有效输入序列,输出(N+8)-bit的数据,其中前N-bit数据为输入的原始数据,添加的8-bit数据为CRC校验数据; ( 2)该CRC-8的生成多项式为G(D)=D8+D2+D+1,对CRC进行简化表示时可以忽略最高位的D8,结合图示中三个异或运算的位置更容易理解生成多项式,8位CRC有8个寄存器C0~C7,根据多项式,C0 1'b0} (其中{ }为位拼接符); (b)新输入的数据data_in和移出的CRC最高位做异或得到 current_crc[7]^data_in; (c)使用位拼接符对异或结果进行位扩展,CRC

    16.6K66发布于 2021-03-15
  • 来自专栏FPGA探索者

    FPGA、数字IC系列(1)——乐鑫科技2021数字IC提前批笔试(下)

    3.Verilog实现串行CRC-8,G(D)=D8+D2+D+1。 ? 解析:状态机,可以按照C语言的CRC-8转成状态机写法,用计数器代替for循环。

    1.4K10发布于 2021-03-15
  • 来自专栏OpenFPGA

    IC技术圈期刊 2021年第3期

    FPGA LAB FPGA手撕代码——CRC校验码的多种Verilog实现方式 #求职就业 #FPGA #笔试面试 #数字IC #CRC #求职就业 用Verilog实现CRC-8的串行/并行计算,G( 相关的知识点 strongwong 求职就业 FPGA手撕代码——CRC校验码的多种Verilog实现方式 #求职就业 #FPGA #笔试面试 #数字IC #CRC #求职就业 用Verilog实现CRC

    96340发布于 2021-04-07
  • 来自专栏根究FPGA

    CRC校验的FPGA实现

    首先是CRC-8CRC-8的余数是一个8bit数据,这一位是发送设备处理需要发送k为信息码外,还需要发送8bit的校验位,假设信息为16bit,[0110_0010_0100_1100]2,即为设备需要发送的数据

    4.3K20发布于 2020-06-30
  • 来自专栏陈冠男的游戏人生

    玩转Flipper Zero:iButton探索与操作指南

    时发现卡号也是有格式的,第一个字节是 01 无法修改,最后一个字节是用来校验的位,flipper 会自动计算并帮你改好 用读卡器的软件随意修改卡号也会提示 CRC 校验错误 根据 Github 的源码,校验应该是:CRC

    2K30编辑于 2024-02-27
  • 来自专栏python3

    python crcmod库实现CRC算

    the website below:       #http://crcmod.sourceforge.net/crcmod.predefined.html        self.module = 'crc

    4.3K10发布于 2020-01-10
  • CRC-16校验原理

    名称 生成多项式 简记式* 标准引用 CRC-4 x4+x+1 3 ITU G.704 CRC -8 x8+x5+x4+1 0x31 CRC-8 x8+x2+x1+1 0x07 CRC-8 x8+x6

    90010编辑于 2025-08-29
  • 来自专栏碲矿

    哈希到底是个啥?

    2.3 CRC 家族 CRC 家族[2]里的其他成员,包括:CRC-5,CRC-7,CRC-8,CRC-16,CRC-32,CRC-64 等等,原理都是一样的:模 2 除(异或)。 这些生成项都是经过众多专家们研究的,常用的有: 名称 多项式 CRC-1 (用途:硬件,也称为奇偶校验位) CRC-5-USB (用途:USB 信令包) CRC-7 (用途:通信系统) CRC-8 CRC

    67010编辑于 2024-12-06
  • 计算机网络(5)——数据链路层

    目标: 计算原始数据 11010011 的 CRC-8 校验码,并验证接收端如何检测错误。 得到 CRC 校验码: 最终余数 01100100 (二进制) 就是计算出的 CRC-8 校验码。 十六进制表示为 0x64。

    19710编辑于 2026-01-13
  • 来自专栏C/C++基础

    白话 CRC

    目前不同版本的 CRC 已经有标准的二进制多项式,下面给出常用 CRC 版本: 名称 多项式 表示法 应用举例 CRC-8 X8+X2+X+1 0x107 CRC-12 X12+X11+X3+X2+X

    2.9K10发布于 2020-10-09
  • 来自专栏Java Tale

    CentOS 配置ssh和sftp服务分离

    二、CRC-8原理 模2除法   模2除法与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位,所以实际上就是异或。在循环冗余校验码(CRC)的计算中有应用到模2除法。

    1.9K20编辑于 2023-09-02
  • 来自专栏TopSemic嵌入式

    CRC校验怎么算?

    Poly:是多项式的值,以上面图中的CRC-8:x8+x2+x+1为例,它表示二进制为100000111,去掉最高位的1,十六进制表示就是0x07 Init: Init 的位数和Poly的位数相同,它的值为全

    4.7K20编辑于 2022-12-06
  • 来自专栏韦东山嵌入式

    Linux系统驱动之SMBus协议

    I2C_FUNC_SMBUS_BLOCK_PROC_CALL 2.14 Packet Error Checking (PEC) PEC是一种错误校验码,如果使用PEC,那么在P信号之前,数据发送方要发送一个字节的PEC码(它是CRC

    2.9K20编辑于 2021-12-08
  • 来自专栏TencentOS-tiny

    STM32Cube-15 | 使用硬件I2C读写温湿度传感器(SHT30)

    CRC-8校验程序如下: #define CRC8_POLYNOMIAL 0x31 uint8_t CheckCrc8(uint8_t* const message, uint8_t initial_value

    6.9K20发布于 2020-07-16
  • 来自专栏FPGA探索者

    FPGA、数字IC系列(1)——乐鑫科技2021数字IC提前批笔试(上)

    3.Verilog实现串行CRC-8,G(D)=D8+D2+D+1。 ?

    1.3K20发布于 2021-03-15
  • 来自专栏追宇星空

    以太网自协商机制--双绞线自协商(八)

    在每个PHY帧中的恢复的数据位上计算CRC-8,并将其与发送的值进行比较以检测块错误。

    1.8K11编辑于 2024-07-01
  • 来自专栏愚公系列-考试考证

    【愚公系列】软考中级-软件设计师 005-计算机系统知识(校验码)

    常用的CRC算法有CRC-8、CRC-16、CRC-32等。不同的生成多项式可以提供不同的校验能力,但也会引入不同的开销。因此,在选择CRC算法时需要根据具体的应用场景平衡校验能力和计算效率。

    87720编辑于 2024-01-19
  • 来自专栏数字IC小站

    2021乐鑫科技校招芯片岗提前批真题解析(修正版)

    用verilog实现CRC-8的串行计算,G(D)=D8+D2+D+1,计算流程如下 ? 解析:这个题目涉及到状态机(控制通路)和移位计算(数据通路)的混合,稍微有点复杂。

    5.8K32发布于 2020-06-30
领券