Questions tagged [crc]

CRC, or Cyclic Redundancy Check, is a technique commonly used to detect accidental changes to data

A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. Blocks of data entering these systems get a short check value attached, based on the remainder of a polynomial division of their contents; on retrieval the calculation is repeated, and corrective action can be taken against presumed data corruption if the check values do not match.

51 questions
7
votes
2 answers

Calculating a simple CRC

In the datasheet for the ET1200 EtherCAT ASIC (page 94), I am told that I need to calculate a CRC of some of the 16-bit data in its EEPROM. The only description of this CRC is: Low byte [of word 7] contains remainder of division of word 0 to word 6…
Rocketmagnet
  • 26,933
  • 17
  • 92
  • 177
7
votes
1 answer

Help identifying checksum

I need help identifying the checksum algorithm in the following packets please. So, packets format is: sd ?? dd dd dd ?? where s = start nibble d = data (binary coded decimal) ? = unknown - possibly checksum Here are five packets (number being…
user3780104
  • 173
  • 1
  • 8
5
votes
3 answers

CRC hardware implementation

What is the difference between these two implementations as the feedback is in first implementation the last reg only but the second implementation last reg xored with the input bit, so, what is the difference and how can i take the output from…
5
votes
1 answer

CRC implementation for ethernet

With an example for data with a hexadecimal value of 0xda and a polynomial 0x07, I would find the CRC as follows (using the methodology from Wikipedia) 0xda = 11011010 11011010|00000000 111 00111010|00000000 111 00000010|00000000 11…
Roy
  • 151
  • 6
5
votes
2 answers

What's the correct form of this CRC algorithm

We are working on communication between AVR and a Crous PTZ. We found its protocol and now we can turn it on and so. We have problem with its CRC. This is Crous protocol doc (Got it here), at end of it, CRC algorithm is described (see image below),…
dehqan
  • 79
  • 7
4
votes
3 answers

Reverse-engineering IR check bits/CRC

I'm trying to build a simple Arduino-based IR remote control for a cheap toy IR-controlled helicopter (same as this one - it's called "Diamond Gyro" or "Diamond Force"). I've decoded the IR protocol except for the last few bits. These last bits seem…
Flambino
  • 293
  • 1
  • 11
4
votes
2 answers

CRC for eeprom data check

I wanted to check redundancy in eeprom and crosscheck the data for any errors occurred or not and I ended up reading CRC code. I found it useful but have some doubts that need clarity. My objective is to check the memory address locations 0-15k of…
Rookie91
  • 2,108
  • 4
  • 29
  • 46
4
votes
2 answers

EEPROM data check

I am communicating with an EEPROM chip with micro controller. I am writing certain data in to specific addresses in EEPROM and needs to check the data occasionally. But I have no idea other than reading back from the written address of the EEPROM…
Rookie91
  • 2,108
  • 4
  • 29
  • 46
4
votes
3 answers

Append calculated CRC to data and recalculate does not yield zero

I have been working on understanding CRC calculations for implementation in VHDL. Specifically I have implemented the CRC-32C (polynomial = 0x1EDC6F41) a couple of ways. First using an LFSR approach and secondly using a lookup table for speed.…
Eanema
  • 41
  • 2
4
votes
1 answer

How is crc5 calculated for a usb token?

I captured the usb packets on a usb1.1 mouse using a generic 24mhz logic analyzer. here is the sigrok capture for the first token. as per the usb docs.. a CRC5 is calculated for the token by taking into account the address(7bits) and…
YsK
  • 43
  • 1
  • 5
3
votes
1 answer

Which error mechanism would serve best for large data?

I have a microcontroller (mcu) communicating with Raspberry Pi (rpi) using SPI communication. The mcu is a slave device and rpi is the master device. I am transmitting ~800 kB of data from mcu to rpi. I want to use an error detection mechanism to be…
Gagan Batra
  • 155
  • 1
  • 9
3
votes
5 answers

Ways to send data with CRC validation

The data frames that are always sent using CRC are as follows: a CRC calculated for each byte (DATA) But to make the connection faster, could you send a single CRC for a whole frame of data? the first bit of the frame corresponds to the first bit…
Ricardo Casimiro
  • 427
  • 5
  • 12
3
votes
2 answers

CRC calculations by hand do not match online calculator

I have been trying to understand what is the trick behind online calculator which gives me CRC value for any input. The thing is that results I get with doing maths by hand do not match results this calculator gives me. On the other hand, I also…
Keno
  • 2,360
  • 2
  • 35
  • 65
3
votes
2 answers

CRC calculation different for IC

I try to read out data from the AS5047U sensor (https://ams.com/documents/20143/36005/AS5047U_DS000637_1-00.pdf/8639418f-6c3a-1624-4e6f-18f52c962099) over SPI, but somehow my CRC is always different than that from the sensor. I can read out the…
HansPeterLoft
  • 1,016
  • 1
  • 21
  • 40
3
votes
2 answers

FCS verification of ethernet frame

i am trying to transmit a Ethernet frame from fpga to pc. my udp frame is: constant udp_frameB :frame60:= (x"FF",x"FF",x"FF",x"FF", -- mac dest x"FF",x"FF",x"00",x"00", x"00",x"04",x"14",x"13", -- mac src x"08",x"00",x"45",x"00", -- IP…
1
2 3 4