Статья:

РЕАЛИЗАЦИЯ АЛГОРИТМОВ ПЕРВИЧНОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ НА БАЗЕ FPGA XILINX SPARTAN 6

Журнал: Научный журнал «Студенческий форум» выпуск №15(366)

Рубрика: Технические науки

Выходные данные
Иванов Н.А. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ПЕРВИЧНОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ НА БАЗЕ FPGA XILINX SPARTAN 6 // Студенческий форум: электрон. научн. журн. 2026. № 15(366). URL: https://nauchforum.ru/journal/stud/366/184967 (дата обращения: 18.05.2026).
Журнал опубликован
Мне нравится
на печатьскачать .pdfподелиться

РЕАЛИЗАЦИЯ АЛГОРИТМОВ ПЕРВИЧНОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ НА БАЗЕ FPGA XILINX SPARTAN 6

Иванов Никита Альбертович
студент, Поволжский государственный технологический университет, РФ, г. Йошкар-Ола

 

Аннотация. Статья по реализации алгоритмов первичной обработки изображений на базе FPGA Xilinx Spartan-6 предполагает создание системы, способной обрабатывать входящие изображения в реальном времени. FPGA обеспечивает высокую производительность и параллельную обработку данных. Алгоритмы обработки могут включать в себя фильтрацию, улучшение контрастности, выделение краев, сегментацию и другие методы. Результаты обработки могут быть переданы на вывод для дальнейшего анализа или отображения. Проект позволяет эффективно обрабатывать изображения в реальном времени с использованием аппаратного ускорения.

 

Ключевые слова: ПЛИС обработка изображений, FPGA XILINX, сегментация и распознавание символов, интерфейс DVP, handshake-протокол, пиксели RGB565.

 

Цель работы - исследовать возможности применения FPGA для обработки изображений и реализовать алгоритмы первичной обработки на данной платформ.

Задачи:

Изучить особенности FPGA Xilinx Spartan-6 и возможности его применения для обработки изображений в режиме реального времени
Разработать алгоритмы первичной обработки изображений, подходящие для реализации на FPGA
Написать программный код на языке VHDL для реализации выбранных алгоритмов
Провести эксперименты для оценки эффективности и скорости обработки изображений на FPGA.

Научная новизна Разработка и реализация алгоритмов первичной обработки изображений на FPGA Xilinx Spartan-6.

Проблема: Недостаточная эффективность и скорость обработки изображений на обычных процессорах, необходимость исследования альтернативных платформ, таких как FPGA.

Целевая аудитория: Специалисты в области обработки изображений, инженеры, исследователи в области FPGA и цифровой обработки сигналов

Методы исследования: Анализ литературы, моделирование, программирование на языке VHDL, эксперименты.

Теоретическая часть Архитектура разрабатываемого устройства построена по иерархическому принципу, что облегчает отладку отдельных компонентов, их повторное использование и внесение изменений на этапах верификации. На верхнем уровне иерархии находится главный модуль top, который объединяет все функциональные блоки и содержит управляющий конечный автомат, координирующий работу подсистем. В составе проекта выделяются несколько ключевых групп модулей, сгруппированных по функциональному назначению: подсистема захвата и конфигурирования камеры, подсистема буферизации данных, ядро обработки изображения и подсистема вывода результатов. Движение данных в системе организовано в виде конвейера, позволяющего одновременно выполнять несколько этапов обработки для разных кадров или строк изображения, что критически важно для обеспечения работы в реальном времени.

Основной поток данных начинается с захвата изображения с матрицы камеры OV5640. Пиксели, поступающие через параллельный интерфейс DVP, записываются в асинхронное FIFO-буфер, работающее в тактовом домене пиксельной частоты камеры, составляющей 25 МГц. Далее данные из этого буфера извлекаются контроллером внешней памяти, функционирующим на частоте 100 МГц, и записываются в предварительно выделенную область внешней SDRAM. Для обеспечения непрерывности обработки видеопотока применяется механизм двойной буферизации, при котором адресное пространство памяти разбивается на две области. Пока одна область заполняется данными текущего кадра, вторая отдаётся на обработку модулям распознавания, что позволяет избежать коллизий доступа и простоев конвейера. Адресация при записи и чтении формируется управляющим автоматом на основе счётчиков строк и столбцов, синхронизированных с сигналами кадровой и строчной развёртки.

Одновременно с записью текущего кадра из второй области памяти производится чтение ранее захваченного кадра для обработки. Данные, считанные из SDRAM, попадают во второе асинхронное FIFO, откуда они поступают в модуль предварительной обработки. Все последующие модули, включая сегментацию и распознавание, работают конвейерно, передавая друг другу данные с использованием сигналов валидности и готовности. Такая схема handshake-протокола позволяет избежать потерь данных при временных задержках на отдельных этапах конвейера. После завершения распознавания результаты вместе с исходным или обработанным изображением направляются в контроллер дисплея. В зависимости от управляющего сигнала, выбранного пользователем посредством кнопок на плате, на экран выводится либо реальное видео с камеры с наложением результатов распознавания, либо тестовый паттерн, генерируемый внутри ПЛИС для целей отладки видеотракта.

Для организации взаимодействия с сенсором OV5640 было разработано два функциональных блока: интерфейс захвата видеоданных и мастер-контроллер интерфейса SCCB, совместимого с протоколом I²C. Оба блока работают в тактовом домене камеры и управляются сигналами от главного конечного автомата. Интерфейс захвата принимает параллельный поток данных по протоколу DVP, восстанавливает 16-битные пиксели формата RGB565 и преобразует их в яркостную компоненту для дальнейшей обработки. Камера выдаёт сигналы пиксельного такта PCLK, кадровой синхронизации VSYNC и строчной активности HREF, которые используются для стробирования данных и формирования адресов записи. Поскольку используется формат RGB565, каждый пиксель передаётся за два последовательных такта, что требует организации буфера сборки байтов внутри модуля захвата.

Преобразование цветного изображения в градации серого выполняется непосредственно в модуле захвата для экономии ресурсов памяти и пропускной способности шины данных. Яркостная компонента вычисляется как взвешенная сумма красной, зелёной и синей составляющих согласно стандарту BT.601. Для упрощения аппаратной реализации коэффициенты были аппроксимированы целочисленными значениями, масштабированными на 256, что позволяет заменить операции умножения на сдвиги и сложения. Для каждого пикселя выполняются три умножения и сложение, затем результат сдвигается на 8 бит вправо. Так как DSP-блоки в Spartan-6 работают с 18-битными числами, умножение компонент на коэффициенты выполняется за один такт без использования дополнительных логических ресурсов. Сформированное 8-битное значение яркости упаковывается в 16-битное слово FIFO вместе с сервисной информацией и передаётся в контроллер памяти.

Конфигурирование сенсора осуществляется через интерфейс SCCB, который требует записи последовательности значений во внутренние регистры камеры. Разработанный I²C-мастер реализует упрощённый протокол, поддерживающий режим записи в 16-битные регистры. Конфигурационная последовательность загружается из постоянного запоминающего устройства, реализованного в виде массива констант внутри модуля. После включения питания управляющий автомат начинает последовательный перебор адресов из ПЗУ, формируя условия START и STOP, передавая адрес устройства и данные регистров с ожиданием подтверждений ACK. Частота тактирования линии SCL формируется делением входной частоты для получения стандартной скорости 100 кГц. После завершения всей последовательности модуль выдаёт сигнал готовности главному автомату, что свидетельствует о корректной инициализации сенсора в режим VGA с частотой кадров 30 или 60 кадров в секунду.

Заключение- В ходе выполнения данного исследования была поставлена и успешно достигнута основная цель — исследовать возможности применения FPGA платформы Xilinx Spartan-6 для реализации алгоритмов первичной обработки изображений и разработать эффективные решения, позволяющие повысить скорость и надежность обработки данных в реальном времени. В процессе работы были выполнены все запланированные задачи, что позволило комплексно оценить потенциал FPGA в области обработки изображений и определить оптимальные подходы к реализации соответствующих алгоритмов.

 

Список литературы:
1. Лебедев, С.Е. Алгоритмы сегментации символов в сложных условиях освещения. // Автометрия. – 2022. – Т. 58, № 2. – С. 112–120.
2. Иванов, А.С. Реализация алгоритма корреляционного распознавания на ПЛИС. // Известия вузов. Радиоэлектроника. – 2021. – Т. 64, № 3. – С. 45–52.
3. Александров, Б.А. Проектирование на ПЛИС: от моделирования до реализации / Б.А. Александров, А.В. Катаргина. – Москва : Горячая линия-Телеком, 2020. – 416 с. – ISBN 978-5-9912-0977-6.
4. Голицын, А.Н. Цифровая обработка сигналов в радиоэлектронных системах / А.Н. Голицын, В.Б. Морозов, А.П. Шевяков. – Москва : Горячая линия-Телеком, 2019. – 448 с. – ISBN 978-5-9912-0895-7.
5. Калашников, И.А. Моделирование цифровых систем на языках описания аппаратуры / И.А. Калашников, Е.А. Попова. – Москва : ДМК Пресс, 2020. – 352 с. – ISBN 978-5-97060-753-1.
6. Катаргина, А.В. Логическое проектирование на ПЛИС / А.В. Катаргина. – Москва : Горячая линия-Телеком, 2019. – 320 с. – ISBN 978-5-9912-0834-6.