Программа проверки функционирования контроллера прерываний

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

Программа предназначена для проверки функционирования контроллера прерываний при обработке запросов на прерывания от периферийных устройств.
Программа обеспечивает проверку функционирования контроллера прерываний при обработке запросов на прерывания от периферийных устройств с помощью последовательного выполнения следующих тестов:
– Тест проверки контроллера прерываний при обработке запросов на прерывания от программируемого таймера.
– Тест проверки контроллера прерываний при обработке запросов на прерывания от SPI.
– Тест проверки контроллера прерываний при обработке запросов на прерывания от DMA.
Программа загружается в оперативную память FPGA-реализации 16-разрядного x86-совместимого микроконтроллера через последовательный интерфейс UART и запускается на исполнение.

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

Программа обеспечивает проверку функционирования контроллера прерываний при обработке запросов на прерывания от периферийных устройств с помощью последовательного выполнения следующих тестов:
– Тест проверки контроллера прерываний при обработке запросов на прерывания от программируемого таймера.
– Тест проверки контроллера прерываний при обработке запросов на прерывания от SPI.
– Тест проверки контроллера прерываний при обработке запросов на прерывания от DMA.
Тест проверки контроллера прерываний при обработке запросов на прерывания от программируемого таймера.
Проверка функционирования контроллера прерываний при обработке запросов на прерывания от программируемого таймера производится в следующем порядке. Предварительно в регистр сравнения программируемого таймера заносится константа, задающая длительность интервала, который должен отсчитать таймер после старта, а в счётчик таймера заносится константа 0. Кроме этого обнуляется переменная, которая выполняет роль счётчика прерываний от таймера. Затем производится запуск таймера в режиме одиночного счёта и с отработкой прерывания после завершения счёта. После отсчёта заданного интервала времени таймер формирует запрос на прерывание, который должен быть обработан контроллером прерываний. В результате этой обработки должна быть запущена программа обработки прерывания от таймера, при выполнении которой инкрементируется счётчик прерываний от таймера. Тест считается успешно завершённым, если при завершении счёта таймера был сформирован запрос на прерывание, после обработки которого в конечном итоге значение счётчика прерываний увеличилось на единицу.
Тест проверки контроллера прерываний при обработке запросов на прерывания от SPI.
Проверка функционирования контроллера прерываний при обработке запросов на прерывания от SPI производится в следующем порядке. Предварительно SPI должен быть подготовлен для работы по внешней петле. При этом SPI должен быть настроен на работу в режиме по прерываниям. Задача программы обработчика прерываний заключается в чтении принятых символов из регистра данных SPI и инкрементировании переменной – счётчика прерываний от SPI. Программа обслуживания SPI передаёт в SPI заданное количество символов, после чего проверяется значение счётчика прерываний от SPI. Тест считается успешно завершённым, если количество прерываний от SPI совпало с количеством переданных в SPI символов.
Тест проверки контроллера прерываний при обработке запросов на прерывания от DMA.
Проверка функционирования контроллера прерываний при обработке запросов на прерывания от DMA производится в следующем порядке. Предварительно канал DMA должен быть настроен на обмены память – память в асинхронном режиме по прерываниям. В счётчик DMA заносится размер пересылаемого фрагмента памяти. Задача программы обработчика прерываний – инкрементировать счётчик прерываний при возникновении прерывания от DMA. Далее программа обслуживания DMA запускает канал DMA в работу и производит сканирование счётчика прерываний от DMA до момента изменения его значения. Тест считается успешно завершённым, если после пересылки заданного фрагмента памяти канал DMA формирует запрос на прерывание, в результате обработки которого запускается программа обработчика прерываний, которая в свою очередь увеличивает значение счётчика прерываний на 1.

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

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

Рисунок 1

1. Интерфейсный блок, необходимый для подключения отладочной платы к COM- порту персонального компьютера.
2. Образ СнК SSV16, загружаемый в FPGA, в виде файла SSV16.sof. СнК SSV16 представляет собой систему на кристалле, построенную на основе 16-разрядного процессорного ядра, совместимого по архитектуре и системе команд с микропроцессором Inlel 80186. В состав СнК SSV16 входит ряд периферийных блоков, включая блок контроллера прерываний.
3. Стандартная программа Quartus II, необходимая для загрузки файла SSV16.sof в FPGA.
4. Программа Монитор (Monitor186.exe), необходимая для загрузки Программы проверки функционирования контроллера прерываний в отладочную плату и отображения результатов проверки блока. Программа Монитор входит в состав поставки программы проверки функционирования контроллера прерываний.
5. Исполняемый модуль программы проверки функционирования контроллера прерываний TestInt.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 выбрать программу проверки функционирования контроллера прерываний (TestInt.exe) в каталоге рабочей папки, с помощью кнопки Load + Run программы Monitor186 загрузить её в ОЗУ СнК SSV16 и запустить на выполнение (рисунок 3).

Рисунок 3

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

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

==================================================================
*** Программа проверки функционирования контроллера прерываний ***
==================================================================

** Тест контроллера прерываний при обработке прерываний от таймера **
** Ok! **

** Тест контроллера прерываний при обработке прерываний от SPI **
** Ok! **

** Тест контроллера прерываний при обработке прерываний от DMA **
** Ok! **

-------------------------------------------------------------------------
** Тест контроллера прерываний завершён успешно!!! **
-------------------------------------------------------------------------

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

Made on
Tilda