EasyManuals Logo

Delta VFD-EL-W Series User Manual

Delta VFD-EL-W Series
217 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #132 background imageLoading...
Page #132 background image
Chapter 4 ParametersVFD-EL-W
127
(1) ASCII mode (LRC Check):
LRC (Longitudinal Redundancy Check) is calculated by summing up the values of the bytes
from ADR1 to the last data character then calculating the hexadecimal representation of the 2’s-
complement negation of the sum. Take the above 3.3.1 Command Message for example: 01H +
03H + 21H + 02H + 00H + 02H = 29H, take complementary number of 2 = D7H
LRC (Longitudinal Redundancy Check) is calculated from Address to Data content. It is
calculated by the following steps:
Step 1: Load a 16-bit register (called CRC register) with FFFFH.
Step 2: Exclusive OR the first 8-bit byte of the command message with the low order byte of the
16-bit CRC register, and put the result in the CRC register.
Step 3: Examine the LSB of CRC register.
Step 4: If the LSB of CRC register is 0, shift the CRC register one bit to the right, fill MSB with
zero, then repeat step 3. If the LSB of CRC register is 1, shift the CRC register one bit
to the right, fill MSB with zero, Exclusive OR the CRC register with the polynomial value
A001H, then repeat step 3.
Step 5: Repeat step 3 and 4 until you perform eight shifts. This processes a complete 8-bit byte.
Step 6: Repeat step 2 through 5 for the next 8-bit byte of the command message. Continue
doing this until all bytes are processed. The final contents of the CRC register are the
CRC value. When transmitting the CRC value in the message, the upper and lower
bytes of the CRC value must be swapped, that is, the lower order byte is transmitted
first.
The following is an example of CRC generation using C language. The function takes two
arguments:
Unsigned char* data a pointer to the message buffer
Unsigned char length the quantity of bytes in the message buffer
The function returns the CRC value as a type of unsigned integer. Unsigned int
crc_chk(unsigned char* data, unsigned char length)
{
int j;
unsigned int reg_crc=0xffff;
while(length--){
reg_crc ^= *data++;
for(j=0;j<8;j++){
if(reg_crc & 0x01){ /* LSB(b0)=1 */
reg_crc=(reg_crc>>1) ^ 0xa001;
}else{
reg_crc=reg_crc >>1;

Other manuals for Delta VFD-EL-W Series

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Delta VFD-EL-W Series and is the answer not in the manual?

Delta VFD-EL-W Series Specifications

General IconGeneral
BrandDelta
ModelVFD-EL-W Series
CategoryDC Drives
LanguageEnglish

Related product manuals