exponenta event banner

Общий генератор CRC

Генерирование битов кода CRC в соответствии с полиномом генератора и добавление к кадрам входных данных

  • Библиотека:
  • Набор средств связи/Обнаружение и исправление ошибок/CRC

  • General CRC Generator block

Описание

Общий блок генератора CRC генерирует кодовые биты циклического избыточного кода (CRC) для каждого кадра входных данных и добавляет их к кадру. Дополнительные сведения см. в разделе Работа генератора CRC.

Порты

Вход

развернуть все

Входной сигнал, заданный как двоичный вектор столбца. Длина входного кадра должна быть кратна значению параметра Checksums per frame.

Типы данных: double | Boolean

Продукция

развернуть все

Выходной кадр кодового слова, возвращаемый как двоичный вектор столбца, который наследует тип данных входного сигнала. Выходной сигнал содержит входные кадры данных с добавленными к ним битовыми последовательностями CRC.

Длина выходного кадра равна m + k * r, где m - размер входного кадра, k - количество контрольных сумм на кадр, r - степень полинома генератора.

Параметры

развернуть все

Генераторный полином для алгоритма CRC, указанный как один из следующих:

  • Вектор многочлена, например 'z^3 + z^2 + 1'.

  • Двоичный вектор строки, который представляет коэффициенты полинома генератора в порядке степени убывания. Длина этого вектора равна (N + 1), где N - степень полинома генератора. Например ,[1 1 0 1] представляет многочлен x3 + z2 + 1.

  • Целочисленный вектор строки, содержащий экспоненты z для ненулевых членов в многочлене в порядке убывания. Например, [3 2 0] представляет многочлен z3 + z2 + 1.

Дополнительные сведения см. в разделе Символьное представление многочленов.

Некоторые обычно используемые генераторные многочлены включают в себя:

Метод CRCПолином генератора
CRC-32'z^32 + z^26 + z^23 + z^22 + z^16 + z^12 + z^11 + z^10 + z^8 + z^7 + z^5 + z^4 + z^2 + z + 1'
CRC-24 'z^24 + z^23 + z^14 + z^12 + z^8 + 1'
CRC-16 'z^16 + z^15 + z^2 + 1'
Реверсированный CRC-16'z^16 + z^14 + z + 1'
CRC-8'z^8 + z^7 + z^6 + z^4 + z^2 + 1'
CRC-4 'z^4 + z^3 + z^2 + z + 1'

Пример: 'z^7 + z^2 + 1', [1 0 0 0 0 1 0 1], и [7 2 0] представляют один и тот же многочлен, p (z) = z 7 + z 2 + 1.

Начальные состояния внутреннего сдвигового регистра, заданного как двоичный скаляр или двоичный вектор строки длиной, равной степени полинома генератора. Скалярное значение расширяется до вектора строки равной длины до степени полинома генератора.

Используется прямой алгоритм для вычисления контрольной суммы CRC. При сбросе блок использует непрямой алгоритм для вычисления контрольной суммы CRC.

Дополнительные сведения о прямых и непрямых алгоритмах см. в разделе Обнаружение и исправление ошибок.

Перед вводом данных в сдвиговый регистр установите флажок, чтобы развернуть входные данные по байтам. Если выбран параметр Отразить входные байты, длина входного кадра, деленная на значение параметра Контрольные суммы на кадр, должна быть целым числом и кратной 8. Если параметр «Отражать входные байты» снят, блок не переворачивает входные данные.

Выберите, чтобы развернуть контрольные суммы CRC вокруг их центров после полного прохождения входных данных через сдвиговый регистр. Когда функция «Отразить контрольные суммы» (Reflect checksums before final XOR) сброшена, блок не переворачивает контрольные суммы CRC.

Конечный XOR, заданный как двоичный скаляр или двоичный вектор строки длиной, равной степени полинома генератора. Операция XOR выполняется с использованием значения параметра Final XOR контрольной суммы CRC перед добавлением CRC к входным данным. Скалярное значение расширяется до вектора строки равной длины до степени полинома генератора. Установка 0 эквивалентно отсутствию операции XOR.

Количество контрольных сумм, рассчитанных для каждого кадра, указанное как положительное целое число.

Характеристики блока

Типы данных

Boolean | double

Многомерные сигналы

no

Сигналы переменного размера

yes

Подробнее

развернуть все

Ссылки

[1] Склар, Бернард. Цифровые коммуникации: основы и приложения. Энглвуд Клиффс, Нью-Джерси: Прентис-Холл, 1988.

[2] Уикер, Стивен Б. Системы управления ошибками для цифровой связи и хранения. Река Верхнее Седло, Н.Дж.: Прентис Холл, 1995.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен до R2006a