 Фрейм запроса

Передать (8 байт)

Коммуникационный номер

Команда

Параметр

Данные

16-битный циклический избыточный код

Старший Младший

бит бит

B

01

06

00

02

00

03

68

0B

Описание данных

0000 : STOP 0001 : FWD (Вращение вперёд) 0002 : REV (Реверсивное вращение) 0003 ; Cutoff (Отключение) 0004 : RST (Перезагрузка)

‚ Фрейм ответа

Ответ (8 Байт)

Коммуникационный номер

Команда

Параметр

Данные

16-битный циклический избыточный код

Старший Младший

бит бит

B

01

06

00

02

00

03

68

0B

(6)  Команда перезагрузки (RST)

 Фрейм запроса

Передать (8 байт)

Коммуникационный номер

Команда

Параметр

Данные

16-битный циклический избыточный код

Старший Младший

бит бит

C9

01

06

00

02

00

04

29

C9

Описание данных

0000 : STOP 0001 : FWD (Вращение вперёд) 0002 : REV (Реверсивное вращение) 0003 ; Cutoff (Отключение) 0004 : RST (Перезагрузка)

‚ Фрейм ответа

Ответ (8 Байт)

Коммуникационный номер

Команда

Параметр

Данные

16-битный циклический избыточный код

Старший Младший

бит бит

C9

01

06

00

02

00

04

29

C9

2.7  Генерирование 16-битного избыточного циклического кода CRC-16

2.7.1  Процедура генерирования 16-битного избыточного циклического кода CRC-16

(1)  Весь 16-битный регистр - 1. 0xFFFF

(2)  Исключающее ИЛИ 16-битного регистра и 8-битного регистра

(3)  Смещение на 1 бит вправо 16-битного регистра

НЕ нашли? Не то? Что вы ищете?

(4)  Если результатом операции 3 стало 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

(5)  Выполните 8 раз операцию 3 и операцию 4.

(6)  Выполняйте операцию со 2 по 6 до завершения обработки данных.

(7)  Поменяйте местами результат по старшему 8 биту из операции 6 и результат по 8 младшему биту из операции 6.

2.7.2  Пример: случай чтения выходной частоты D001

Байт 1

Байт 2

Байт 3

Байт 4

Байт 5

Байт 6

Коммуникационный код

Команда

Параметр

Количество параметров

0x01

0x03

0x01

0x01

0x00

0x01

Генерирование 16-битного избыточного циклического кода CRC-16

1. Фрейм передачи (1~6 байт) 2. Генерирование

Шестнадцатиричный

 

Hex.

Byte

Data value

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Byte 6

0x01

0x03

0x01

0x01

0x00

0x01

 

Двоичный CRC-16

 

Значения данных Значение

Преобразование 0х807е

в СRC 0x2140

0x30e1

0x8831

0xd449

0x36d4

Бинарное

преобразование

3. Поменяйте местами результат по старшему 8 биту и результат по 8 младшему биту.

4. Байт 7

=

0xd4

Байт 8

=

0x36

0xd436

 

0х36d4

 
 

(Стр. 24)

ПРОЦЕДУРА ГЕНЕРИРОВАНИЯ 16-БИТНОГО ИЗБЫТОЧНОГО ЦИКЛИЧЕСКОГО КОДА CRC-16 (шаг 1 из 6)

16-битный регистр: 0хffff

1. 8-битные данные à 0x01

2. Исключающее ИЛИ 16-битного регистра и 8-битных данных

3. Смещение на 1 бит вправо 16-битного значения (первого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

4. Смещение на 1 бит вправо 16-битного значения (второго). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

5. Смещение на 1 бит вправо 16-битного значения (третьего). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

6. Смещение на 1 бит вправо 16-битного значения (четвёртого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

7. Смещение на 1 бит вправо 16-битного значения (пятого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

8. Смещение на 1 бит вправо 16-битного значения (шестого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

9. Смещение на 1 бит вправо 16-битного значения (седьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

10. Смещение на 1 бит вправо 16-битного значения (восьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 24)

Избыточный циклический код – старший бит

Избыточный циклический код – младший бит

 

Метка

Исключающее ИЛИ

 

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 25)

ПРОЦЕДУРА ГЕНЕРИРОВАНИЯ 16-БИТНОГО ИЗБЫТОЧНОГО ЦИКЛИЧЕСКОГО КОДА CRC-16 (шаг 2 из 6)

16-битный регистр: значение преобразования в 16-битный избыточный циклический код Байта 1.

1. 8-битные данные à 0x03

2. Исключающее ИЛИ 16-битного регистра и 8-битных данных

3. Смещение на 1 бит вправо 16-битного значения (первого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

4. Смещение на 1 бит вправо 16-битного значения (второго). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

5. Смещение на 1 бит вправо 16-битного значения (третьего). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

6. Смещение на 1 бит вправо 16-битного значения (четвёртого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

7. Смещение на 1 бит вправо 16-битного значения (пятого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

8. Смещение на 1 бит вправо 16-битного значения (шестого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

9. Смещение на 1 бит вправо 16-битного значения (седьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

10. Смещение на 1 бит вправо 16-битного значения (восьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 25)

 

Избыточный циклический код – старший бит

 

Избыточный циклический код – младший бит

Метка

 

Исключающее ИЛИ

 

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 26)

ПРОЦЕДУРА ГЕНЕРИРОВАНИЯ 16-БИТНОГО ИЗБЫТОЧНОГО ЦИКЛИЧЕСКОГО КОДА CRC-16 (шаг 32 из 6)

16-битный регистр: значение преобразования в 16-битный избыточный циклический код Байта 2.

1. 8-битные данные à 0x01

2. Исключающее ИЛИ 16-битного регистра и 8-битных данных

3. Смещение на 1 бит вправо 16-битного значения (первого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

4. Смещение на 1 бит вправо 16-битного значения (второго). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

5. Смещение на 1 бит вправо 16-битного значения (третьего). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

6. Смещение на 1 бит вправо 16-битного значения (четвёртого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

7. Смещение на 1 бит вправо 16-битного значения (пятого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

8. Смещение на 1 бит вправо 16-битного значения (шестого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

9. Смещение на 1 бит вправо 16-битного значения (седьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

10. Смещение на 1 бит вправо 16-битного значения (восьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 26)

Избыточный циклический код – старший бит

 

Избыточный циклический код – младший бит

Метка

 

Исключающее ИЛИ

 

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 27)

ПРОЦЕДУРА ГЕНЕРИРОВАНИЯ 16-БИТНОГО ИЗБЫТОЧНОГО ЦИКЛИЧЕСКОГО КОДА CRC-16 (шаг 4 из 6)

16-битный регистр: значение преобразования в 16-битный избыточный циклический код Байта 3.

1. 8-битные данные à 0x01

2. Исключающее ИЛИ 16-битного регистра и 8-битных данных

3. Смещение на 1 бит вправо 16-битного значения (первого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

4. Смещение на 1 бит вправо 16-битного значения (второго). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

5. Смещение на 1 бит вправо 16-битного значения (третьего). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

6. Смещение на 1 бит вправо 16-битного значения (четвёртого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

7. Смещение на 1 бит вправо 16-битного значения (пятого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

8. Смещение на 1 бит вправо 16-битного значения (шестого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

9. Смещение на 1 бит вправо 16-битного значения (седьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

10. Смещение на 1 бит вправо 16-битного значения (восьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 27)

Избыточный циклический код – старший бит

 

Избыточный циклический код – младший бит

Метка

 

Исключающее ИЛИ

 

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 28)

ПРОЦЕДУРА ГЕНЕРИРОВАНИЯ 16-БИТНОГО ИЗБЫТОЧНОГО ЦИКЛИЧЕСКОГО КОДА CRC-16 (шаг 5 из 6)

16-битный регистр: значение преобразования в 16-битный избыточный циклический код Байта 4.

1. 8-битные данные à 0x00

2. Исключающее ИЛИ 16-битного регистра и 8-битных данных

3. Смещение на 1 бит вправо 16-битного значения (первого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

4. Смещение на 1 бит вправо 16-битного значения (второго). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

5. Смещение на 1 бит вправо 16-битного значения (третьего). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

6. Смещение на 1 бит вправо 16-битного значения (четвёртого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

7. Смещение на 1 бит вправо 16-битного значения (пятого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

8. Смещение на 1 бит вправо 16-битного значения (шестого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

9. Смещение на 1 бит вправо 16-битного значения (седьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

10. Смещение на 1 бит вправо 16-битного значения (восьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 28)

Избыточный циклический код – старший бит

 

Избыточный циклический код – младший бит

Метка

 

Исключающее ИЛИ

 

Будет использовано в качестве 16-битного регистра при преобразовании в избыточный циклический код следующего байта.

(Стр. 29)

ПРОЦЕДУРА ГЕНЕРИРОВАНИЯ 16-БИТНОГО ИЗБЫТОЧНОГО ЦИКЛИЧЕСКОГО КОДА CRC-16 (шаг 6 из 6)

16-битный регистр: значение преобразования в 16-битный избыточный циклический код Байта 5.

1. 8-битные данные à 0x01

2. Исключающее ИЛИ 16-битного регистра и 8-битных данных

3. Смещение на 1 бит вправо 16-битного значения (первого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

4. Смещение на 1 бит вправо 16-битного значения (второго). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

5. Смещение на 1 бит вправо 16-битного значения (третьего). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

6. Смещение на 1 бит вправо 16-битного значения (четвёртого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

7. Смещение на 1 бит вправо 16-битного значения (пятого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

8. Смещение на 1 бит вправо 16-битного значения (шестого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

9. Смещение на 1 бит вправо 16-битного значения (седьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

10. Смещение на 1 бит вправо 16-битного значения (восьмого). à Результат смещения.

Если метка над результатом - 1, выполните операцию исключающее ИЛИ с 16-битным регистром и 0ха001.

Если метка над результатом - 0, выполните операцию исключающее ИЛИ с 16-битным регистром и 0х0000.

à Результат обмена

(Стр. 29)

Избыточный циклический код – старший бит

 

Избыточный циклический код – младший бит

Метка

 

Исключающее ИЛИ

à Результат обмена

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5