195
Appendices
[ 3 ] CRC
To check whether data has been transmitted accurately, the BHT-Ir protocol supports
CRC (Cyclic Redundancy Check) which employs the CRC-16 generating system. In
CRC, a CRC character is suffixed to a sequence of DLE ETX of every transmission block.
Operands for CRC-16
The CRC generates CRC-16 from all bytes of a transmission block excluding DLE SOH
or DLE STX characters (which are at the head of a transmission block), DLE character
of DLE ETX and DLE character of DLE DLE in the text.
CRC operation
The CRC system generates CRC-16 as follows: It multiplies the polynomial formed by
aligning all of the bits starting from the LSB of the first byte to the MSB of the last byte
in a transmission block in descending order, by X
16
. Next, divide the polynomial by
the generative polynomial X
16
+ X
15
+ X
2
+ 1. The remainder is the value of CRC-16.
Shown below is a data text transmission block and operands for CRC-16 generation.
S
T
X
E
T
X
C
R
C
D
L
E
I
D
D
L
E
•
•
Serial
number
Data text
Operands
Operand
[ 4 ] ID
ID is a 2-digit hexadecimal and designated in 0000h through FFFFh in (2 bytes). 0000h
is assigned to the host computer. Any of 0001h through FFFFh is assigned to the BHT
as follows.
• The system sets an ID when the BHT is initialized.
• You may set an arbitrary ID in System Mode or by using the OUT statement in
BHT-BASIC.