VP-1405A Advanced Power
Chapter 6 - Protocol and Communication
V-PM1000 Series, Veesta Power Module Product Series
48V Power Supply & Charger Instructions & User's Manual
Page 35 of 46
All rights reserved. Passing on and copying of this document, use and communication of its contents not permitted without written authorization.
6.4.6
CRC-16 Algorithm
Once the following algorithm is complete, the working register “A” will
contain the CRC value to be transmitted.
Note that this algorithm requires the characteristic polynomial to be
reverse bit ordered. The MSbit of the characteristic polynomial is
dropped since it does not affect the value of the remainder. The
following symbols are used in the algorithm:
Data transfer
A
16 bit working register
AL
Low order byte of A
AH
High order byte of A
CRC
16 bit CRC-16 value
i, j
Loop counters
(+)
Logical exclusive or operator
Di
i-th data byte (i = 0 to N - 1)
G
16 bit characteristic polynomial equal
1010000000000001 with MSbit dropped and bit order
reversed
shr(X)
Shift right (the LSbit of the low order byte of x shifts
into a carry flag, a “0” is shifted into the MSbit of the
high order byte of x, all other bits shift right one
location.)
Algorithm:
1.
FFFF hex
A
2.
0
i
3.
0
j
4.
Di (+) AL
AL
5.
j + 1
j
6.
shr (A)
7.
is there a carry ?
No : go to 8.
Yes : G (+) A
A
8.
is j = 8 ?
No : go to 5.
Yes : go to 9.
9.
i + 1
i
10.
is i = N ?
No : go to 3.
Yes : go to 11.
11.
A
CRC