Algorithm; B.1.4 Crc-16 Algorithm - GE C60 Instruction Manual

Multilin breaker management relay ur series
Hide thumbs Also See for C60:
Table of Contents

Advertisement

APPENDIX B
The CRC-16 algorithm essentially treats the entire data stream (data bits only; start, stop and parity ignored) as one contin-
uous binary number. This number is first shifted left 16 bits and then divided by a characteristic polynomial
(11000000000000101B). The 16 bit remainder of the division is appended to the end of the packet, MSByte first. The
resulting packet including CRC, when divided by the same polynomial at the receiver will give a zero remainder if no trans-
mission errors have occurred. This algorithm requires the characteristic polynomial to be reverse bit ordered. The most sig-
nificant bit of the characteristic polynomial is dropped, since it does not affect the value of the remainder.
Note: A C programming language implementation of the CRC algorithm will be provided upon request.
Table B–2: CRC-16 ALGORITHM
SYMBOLS:
-->
data transfer
A
16 bit working register
Alow
low order byte of A
Ahigh
high order byte of A
CRC
16 bit CRC-16 result
i,j
loop counters
(+)
logical EXCLUSIVE-OR operator
N
total number of data bytes
Di
i-th data byte (i = 0 to N-1)
G
16 bit characteristic polynomial = 1010000000000001 (binary) with MSbit dropped and bit order reversed
shr (x)
right shift operator (th LSbit of x is shifted into a carry flag, a '0' is shifted into the MSbit of x, all other bits
are shifted right one location)

ALGORITHM:

1.
FFFF (hex) --> A
2.
0 --> i
3.
0 --> j
4.
Di (+) Alow --> Alow
5.
j + 1 --> j
6.
shr (A)
7.
Is there a carry?
8.
Is j = 8?
9.
i + 1 --> i
10.
Is i = N?
11.
A --> CRC
GE Multilin
No: go to 8
Yes: G (+) A --> A and continue.
No: go to 5
Yes: continue
No: go to 3
Yes: continue
C60 Breaker Management Relay
B.1 OVERVIEW

B.1.4 CRC-16 ALGORITHM

B-3
B

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents