Ускоритель CRC

Материал из MIK32 микроконтроллер

Общее описание

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

Инструкции работы с блоком

Введение

CRC32.png

Блок вычисления контрольных сумм находится на шине AHP и доступен по очереди с APB_P и Ускорителем криптографии.

Описание работы с модулем CRC

Контроллер состоит из следующих компонентов:

  • дешифратора системных сигналов шины AHB,
  • регистра управления CtrlReg,
  • регистра полинома POLY Reg,
  • входного буфера IFIFO объемом 16 слов по 32 бита,
  • логики перестановки битов входных данных Input Reverse Logic,
  • устройства кодирования CRC_Engine с мультиплексором MUX и сдвиговым регистром CRC DATA,
  • логики инверсии NOT Logic и логики перестановки битов выходных данных Output Reverse Logic.

Дешифратор системных сигналов формирует сигналы чтения и записи всех регистров контроллера в соответствии с адресным пространством. Регистр управления CtrlReg управляет всеми настройками процесса вычисления суммы. Регистр полинома POLY Reg предназначен для хранения значения полинома. Входной буфер IFIFO осуществляет буферизацию входных данных, по которым будет считаться контрольная сумма. Этот буфер, а также регистры управления и полинома подключены напрямую к шине HWDATA. При полном заполнении буфера активизируется сигнал HREADY_o, останавливающий транзакцию по шине AHB. Логика перестановки битов входных данных предназначена для перестановки битов и байтов слова входных данных и управляется битами поля TOT регистра управления. Устройство кодирования CRC_Engine с мультиплексором MUX и сдвиговым регистром CRC DATA производят вычисление контрольной суммы последовательности входных данных. Вычисленная контрольная сумма записывается в выходной регистр логики перестановки битов выходных данных Output Reverse Logic через логику инверсии NOT Logic, которая инвертирует или не инвертирует выходные данные в зависимости от значения бита FXOR регистра управления. Логика перестановки битов выходных данных предназначена для перестановки битов и байтов слова вычисленной контрольной суммы и управляется битами поля TOTR регистра управления. Выходные биты контрольной суммы подключены напрямую к шине HRDATA.

Карта регистров блока приведена в таблице ниже. Запись данных в регистр данных может осуществляться в 8, 16 или 32-разрядном режиме. Доступ к остальным регистрам осуществляется только в 32-разрядном режиме.

Описание регистров