Computer Interfacing
Discussions about interfacing and electronics

Help with CRC16


       Computer Interfacing Forum Index -> Error detection and correction
Author Message
New User

Joined: 25 Feb 2014
Posts: 1

Feb 25, 2014 3:37 pm

I have been trying to workout a CRC16 formula for some data detailed below. When i use the CRC16 Calculator it does not equal the value I have been given for the data.

The data string is:
04 36 00 13 00 00 00 00 21 06 49 70 01 01 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

This is the preprogrammed CRC:
50 04

But when i use the calculator i get a completly different value.

Can anyone help me with where i am going wrong

Feb 26, 2014 2:30 am

You likely have a CRC that is not one of the defined CRC16 algorithms.

You need to use a program like "reveng" or "SRP16" to attempt do reverse the algorithm parameters for your specific CRC type.

For this, you will need to gather at least 3 or 4 data samples. In addition, you will need to make sure you know what data fields are used by the CRC calculation.

Feb 26, 2014 7:35 am

Your data is compatible with the so-called CRC-16/BUYPASS algorithm
===== Checking for known algorithms =====
Checked data sets
CRC1: $5004,   Data1: 043600130000000021064970010149000000000000000000000000000000
Found known algorithm: CRC-16/BUYPASS
CRC=$5004  Poly=$8005  init=$0000  xorout=$0000  refin=false  refout=false
===== done =====
But as mtsunstrum already mentioned, one data set is normally not enough to fix an algorithm, you need data sets too be sure or a detailed specification.

If you have more data to be tested, or need a C or Pascal code for CRC-16/BUYPASS, please do another post.

       Computer Interfacing Forum Index -> Error detection and correction
Page 1 of 1

Running on php BB © 2001, 2009 php BB Group
   Lammert Bies     Interfacing     Sitemap     Forum