1 please which help explain the great god, the first according to the SAE J1850 CRC calculation and what's not the same as before we (I don't know P (x) polynomial, but like a calculation method is different also, because of the traditional algorithm calculated results and the example he set for not completely)?
Two words on the picture the red place how should understand
Can you give a computation example, please? thank you
CodePudding user response:
The first question:Its basic CRC algorithm is the same, just one more initial value (0 XFF), and the other by agreement of the given equation is calculated the RX to do the operation,
Is the key to the SAE J1850 agreement of the given equation and understanding.
The second question:
Mainly explain to you the formula:
Among them: 1, by 8 * D (X) (X) means to D left 8, why want to shift to the left eight? Because asked eight CRC check code, so to make up after D (x) 8 00000000 then
Do die division 2
2, the equation of + Xn + Xn + 1 +... What do you mean Xn + 7? N to n + 7 just 8 bit, Xn + Xn + 1 +... Xn + 7 represents mean 111111110000... Data represents the highest level 0 (n + 7), so + Xn + Xn + 1 +... Xn + 7 is to shift to the left after eight exactly 2 D (x) plus a 11111111... 0 (0 xff0000... 0) is the first problem of the initial value of 0 XFF, (why is n to n + 7? Because the original data for n bits, behind plus eight data length into n + 8 after 0, so the highest data for n + 7)
The third question:
To calculate the CRC check code on F2 01, 83, for example:
First F2 01 83 left eight, namely: 0 xf2018300 binary: 11110010000000011000001100000000
Second mold 2 plus an initial value: 0 xff000000 binary: 11111111000000000000000000000000
Results: 00001101000000011000001100000000
Then use this to get digital mould 2 divided by P (X), namely by 8 + X4 + + X2 X3 + 1=100011101
The remainder is: 11001000
RX to take against the remainder, which is 00110111 (0 x37), is equal to a value of 0, for example, table in SAE J1850 agreement x37