Программа проверки функционирования блока подсчета CRC-32 с загружаемым полиномом

Краткое описание программного обеспечения

Программа предназначена для проверки функционирования блока подсчёта CRC-32 с загружаемым полиномом при подсчёте циклической контрольной суммы массива данных заданной длины.
Программа обеспечивает проверку функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом с помощью последовательного выполнения следующих тестов:
– Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (эталон).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (эталон).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (64 Кбайта).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (64 Кбайта).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (1 Мбайт).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (1 Мбайт).
Программа загружается в оперативную память FPGA-реализации 16-разрядного x86-совместимого микроконтроллера через последовательный интерфейс UART и запускается на исполнение.

Функциональные характеристики программного обеспечения

Программа обеспечивает проверку функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом с помощью последовательного выполнения следующих тестов:
– Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (эталон).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (эталон).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (64 Кбайта).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (64 Кбайта).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (1 Мбайт).
– Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (1 Мбайт).
Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (эталон).
Проверка функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом при загрузке данных через регистры блока производится в следующем порядке. Предварительно в ОЗУ микроконтроллера формируется эталонный массив исходных данных заданной длины. Затем в регистры блока загружается значение полинома, блок подсчёта CRC-32 переводится в рабочее состояние, после чего массив исходных данных подаётся на вход блока. Для загрузки исходных данных при этом используются входные регистры блока подсчёта CRC-32. После загрузки всего массива из выходных регистров блока подсчёта CRC-32 считывается результат подсчёта CRC-32. Далее этот результат сравнивается с эталонным значением CRC-32. Тест считается успешно завершённым, если посчитанное значение CRC-32 совпало с эталонным значением.
Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (эталон).
Проверка функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом при загрузке данных через DMA производится в следующем порядке. Предварительно в ОЗУ микроконтроллера формируется эталонный массив исходных данных заданной длины. Затем в регистры блока загружается значение полинома, блок подсчёта CRC-32 переводится в рабочее состояние, после чего массив исходных данных подаётся на вход блока. Для загрузки исходных данных при этом используются канал DMA, настроенный на работу с блоком подсчёта CRC-32. После загрузки всего массива из выходных регистров блока подсчёта CRC-32 считывается результат подсчёта CRC-32. Далее этот результат сравнивается с эталонным значением CRC-32. Тест считается успешно завершённым, если посчитанное значение CRC-32 совпало с эталонным значением.
Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (64 Кбайта).
Проверка функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом при загрузке данных через регистры блока производится в следующем порядке. Предварительно в ОЗУ микроконтроллера формируется массив исходных данных размером 64 Кбайта. Затем в регистры блока загружается значение полинома, блок подсчёта CRC-32 переводится в рабочее состояние, после чего массив исходных данных подаётся на вход блока. Для загрузки исходных данных при этом используются входные регистры блока подсчёта CRC-32. После загрузки всего массива из выходных регистров блока подсчёта CRC-32 считывается результат подсчёта CRC-32. Далее этот результат сравнивается со значением CRC-32, посчитанным программным способом. Тест считается успешно завершённым, если значение CRC-32, посчитанное с помощью блока, совпало со значением CRC-32, посчитанным программным способом.
Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (64 Кбайта).
Проверка функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом при загрузке данных через DMA производится в следующем порядке. Предварительно в ОЗУ микроконтроллера формируется эталонный массив исходных данных размером 64 Кбайта. Затем в регистры блока загружается значение полинома, блок подсчёта CRC-32 переводится в рабочее состояние, после чего массив исходных данных подаётся на вход блока. Для загрузки исходных данных при этом используются канал DMA, настроенный на работу с блоком подсчёта CRC-32. После загрузки всего массива из выходных регистров блока подсчёта CRC-32 считывается результат подсчёта CRC-32. Далее этот результат сравнивается со значением CRC-32, посчитанным программным способом. Тест считается успешно завершённым, если значение CRC-32, посчитанное с помощью блока, совпало со значением CRC-32, посчитанным программным способом.
Тест проверки блока подсчёта CRC-32 при загрузке данных через регистры (1 Мбайт).
Проверка функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом при загрузке данных через регистры блока производится в следующем порядке. Предварительно в ОЗУ микроконтроллера формируется массив исходных данных размером 1 Мбайт. Затем в регистры блока загружается значение полинома, блок подсчёта CRC-32 переводится в рабочее состояние, после чего массив исходных данных подаётся на вход блока. Для загрузки исходных данных при этом используются входные регистры блока подсчёта CRC-32. После загрузки всего массива из выходных регистров блока подсчёта CRC-32 считывается результат подсчёта CRC-32. Далее этот результат сравнивается со значением CRC-32, посчитанным программным способом. Тест считается успешно завершённым, если значение CRC-32, посчитанное с помощью блока, совпало со значением CRC-32, посчитанным программным способом.
Тест проверки блока подсчёта CRC-32 при загрузке данных через DMA (1 Мбайт).
Проверка функционирования блока подсчёта циклической контрольной суммы CRC-32 с загружаемым полиномом при загрузке данных через DMA производится в следующем порядке. Предварительно в ОЗУ микроконтроллера формируется эталонный массив исходных данных размером 1 Мбайт. Затем в регистры блока загружается значение полинома, блок подсчёта CRC-32 переводится в рабочее состояние, после чего массив исходных данных подаётся на вход блока. Для загрузки исходных данных при этом используются канал DMA, настроенный на работу с блоком подсчёта CRC-32. После загрузки всего массива из выходных регистров блока подсчёта CRC-32 считывается результат подсчёта CRC-32. Далее этот результат сравнивается со значением CRC-32, посчитанным программным способом. Тест считается успешно завершённым, если значение CRC-32, посчитанное с помощью блока, совпало со значением CRC-32, посчитанным программным способом.

Перечень технических средств и программного обеспечения, необходимого для установки и эксплуатации программного обеспечения

Для установки и эксплуатации программы проверки функционирования блока подсчета CRC-32 с загружаемым полиномом необходимо следующее оборудование и программное обеспечение:
1. Персональный компьютер, с установленной операционной системой Windows 7.
2. Отладочная плата на базе FPGA Arria 10 фирмы Altera с источником питания (Рисунок 1).

Рисунок 1

1. Интерфейсный блок, необходимый для подключения отладочной платы к COM- порту персонального компьютера.
2. Образ СнК SSV16, загружаемый в FPGA, в виде файла SSV16.sof. СнК SSV16 представляет собой систему на кристалле, построенную на основе 16-разрядного процессорного ядра, совместимого по архитектуре и системе команд с микропроцессором Inlel 80186. В состав СнК SSV16 входит ряд периферийных блоков, включая блок подсчёта CRC 32 с загружаемым полиномом.
3. Стандартная программа Quartus II, необходимая для загрузки файла SSV16.sof в FPGA.
4. Программа Монитор (Monitor186.exe), необходимая для загрузки Программы проверки функционирования блока подсчёта CRC 32 с загружаемым полиномом в отладочную плату и отображения результатов проверки блока. Программа Монитор входит в состав поставки программы проверки функционирования блока подсчёта CRC 32 с загружаемым полиномом.
5. Исполняемый модуль программы проверки функционирования блока подсчёта CRC 32 с загружаемым полиномом TestCRC32.exe.

Инструкция по установке программного обеспечения

1. Подключить интерфейсный блок отладочной платы на базе FPGA к COM-порту персонального компьютера с операционной системой Windows.
2. Запустить на компьютере технологическую программу Монитор (Monitor186.exe). С помощью меню программы выбрать номер COM-порта, через который к компьютеру подключается отладочная плата и установить скорость и режимы работы COM-порта (рисунок 2).
3. Включить питание отладочной платы на базе FPGA.
4. С помощью стандартной программы Quartus II загрузить в FPGA отладочной платы файл SSV16.sof, содержащий в своём составе образ СнК SSV16. После завершения загрузки файла SSV16.sof в отладочном окне программы Monitor186 должен появиться символ «*». Появление символа «*» в отладочном окне программы Monitor186 свидетельствует о готовности начального загрузчика СнК SSV16 к приёму и отработке команд программы Monitor186.

Рисунок 2

Инструкция по эксплуатации программного обеспечения

1. В поле Download file программы Monitor186 выбрать программу проверки функционирования блока подсчёта CRC 32 с загружаемым полиномом (TestCRC32.exe) в каталоге рабочей папки, с помощью кнопки Load + Run программы Monitor186 загрузить её в ОЗУ СнК SSV16 и запустить на выполнение (рисунок 3).

Рисунок 3

2. После запуска программа проверки функционирования блока подсчета CRC-32 с загружаемым полиномом производит проверку функционирования блока подсчёта CRC 32 при подсчёте циклической контрольной суммы массива данных заданной длины. После завершения проверки блока подсчета CRC-32 программа проверки выдаёт результат в отладочное окно программы Monitor186.
3. В случае успешного выполнения проверки функционирования блока подсчета CRC-32 с загружаемым полиномом, результат проверки должен выглядеть следующим образом:

======================================================
*** СнК Каскад-1, FPGA, тактовая частота - 100 МГц ***
======================================================

=================================================================
*** Программа проверки функционирования блока подсчёта CRC-32 ***
=================================================================

** Тест блока подсчёта CRC32 при загрузке данных через регистры (эталон) **
** Ok! **

** Тест блока подсчёта CRC32 при загрузке данных через DMA (эталон) **
** Ok! **

** Тест блока подсчёта CRC32 при загрузке данных через регистры (64Кбайта) **
** Ok! **

** Тест блока подсчёта CRC32 при загрузке данных через DMA (64 Кбайта) **
** Ok! **

** Тест блока подсчёта CRC32 при загрузке данных через регистры (1 Мбайт) **
** Ok! **

** Тест блока подсчёта CRC32 при загрузке данных через DMA (1 Мбайт) **
** Ok! **

-------------------------------------------------------------------------------
** Тест блока подсчёта CRC32 завершён успешно!!! **
-------------------------------------------------------------------------------

===============================================================================
*************** Число циклов 00001 Количество ошибок 00000 ***************
===============================================================================

*


Made on
Tilda