Фрейм запроса
Передать (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. Генерирование
|
|

Двоичный CRC-16
Значения данных Значение
Преобразование 0х807е
в СRC 0x2140
0x30e1
0x8831
0xd449
0x36d4
Бинарное
преобразование
3. Поменяйте местами результат по старшему 8 биту и результат по 8 младшему биту.
4. Байт 7 | = | 0xd4 |
Байт 8 | = | 0x36 |
|

|
(Стр. 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 |





