Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Направления оптимизации интерфейса SPI при потоковой передаче данных в системах на базе ПЛИС

Информационные технологии
29.07.2026
8
Поделиться
Аннотация
В статье рассматриваются направления оптимизации интерфейса SPI в системе передачи данных на базе ПЛИС, использующей встроенную Flash-память. Проведён анализ узкого места текущей реализации, предложены и количественно оценены четыре направления улучшения: конвейеризация операций чтения и передачи, режим Quad-SPI, повышение тактовой частоты SPI и пакетное чтение с использованием внутреннего буфера.
Библиографическое описание
Ломако, Ю. В. Направления оптимизации интерфейса SPI при потоковой передаче данных в системах на базе ПЛИС / Ю. В. Ломако. — Текст : непосредственный // Молодой ученый. — 2026. — № 31 (634). — С. 12-14. — URL: https://moluch.ru/archive/634/139522.


Введение

Разработанная система передачи данных на базе ПЛИС, обеспечивающая автономное чтение из встроенной SPI Flash-памяти и передачу через UART, продемонстрировала существенное ускорение относительно архитектуры на базе ЭВМ, особенно на высоких символьных скоростях [1]. Вместе с тем анализ временных характеристик выявил ряд внутренних ограничений текущей реализации, устранение которых способно дополнительно повысить производительность системы. В настоящей статье рассматриваются возможные направления оптимизации интерфейса SPI, проводится их количественная оценка и анализируется ожидаемый эффект при раздельном и совместном применении.

Анализ узкого места текущей реализации

В текущей реализации каждый байт данных передаётся посредством отдельной SPI-транзакции, включающей 32 такта на передачу команды чтения и 24-битного адреса и 8 тактов на приём одного байта по линии MISO. Итоговое число тактов на байт составляет 40, а КПД транзакции — 20 %. При тактовой частоте SPI 25 МГц время одной транзакции составляет 1,60 мкс, из которых 1,28 мкс (80 %) приходится на накладные расходы передачи команды и адреса. Время передачи одного байта по UART при этом существенно превышает время SPI-транзакции: при 921600 Бод длительность UART-кадра составляет 10,85 мкс — в 6,8 раза больше длительности SPI-транзакции. Таким образом, узким местом системы на всём исследованном диапазоне символьных скоростей является интерфейс UART, а не SPI, однако накладные расходы SPI-транзакции суммируются с временем UART-передачи, что и обуславливает наблюдаемое превышение теоретического минимума на 14,7 % при 921600 Бод.

Конвейеризация операций чтения и передачи

Наиболее перспективным направлением оптимизации является конвейеризация (pipeline) операций чтения из Flash-памяти и передачи по UART. В текущей реализации данные операции выполняются строго последовательно, поэтому 32 такта передачи команды и адреса добавляются к суммарному времени как накладные расходы для каждого байта. При конвейерной организации передача команды и адреса байта N+1 может выполняться параллельно с UART-передачей байта N; неустранимой остаётся только задержка приёма 8 бит данных по линии MISO (0,32 мкс при 25 МГц). Время обработки одного байта при этом определяется выражением t = max(t_UART, t_data), где t_UART — длительность передачи байта по UART, а t_data — время приёма данных по SPI. Максимальный выигрыш достигается при 921600 Бод и составляет 14,7 % (сокращение времени передачи 100 МБ с 1305 до 1138 с). Реализация требует введения однобайтового буфера и разделения конечного автомата на два параллельных пути управления SPI и UART.

Режим Quad-SPI

Используемая Flash-память S25FL128 поддерживает режим Quad-SPI, в котором данные передаются одновременно по четырём линиям шины (команда Fast Read Quad I/O, код EBh). Суммарное число тактов на транзакцию сокращается с 40 до 20, а время приёма данных при 25 МГц уменьшается с 0,32 до 0,08 мкс. Поскольку на исследованном диапазоне скоростей узким местом остаётся UART, изолированное применение Quad-SPI не даёт выигрыша по суммарному времени передачи — эффект проявляется только в сочетании с конвейеризацией или пакетным чтением. Необходимые линии QSPI_DQ [3:0] уже разведены на используемой плате, что позволяет реализовать данное улучшение без аппаратных изменений.

Повышение тактовой частоты SPI и пакетное чтение

Микросхема S25FL128 поддерживает частоту до 133 МГц в режиме Fast Read, тогда как в текущей реализации используется 25 МГц. Повышение частоты SPI пропорционально ускоряет SPI-операции, однако даёт ощутимый результат только при пакетном режиме чтения, где SPI-компонента вносит заметный вклад в суммарное время. Наиболее радикальным улучшением является переход от побайтного чтения к пакетному: при удержании сигнала Chip Select на низком уровне на протяжении всей транзакции Flash-память автоматически инкрементирует адрес и выдаёт последовательные байты данных. КПД транзакции при размере пакета 256 байт (размер страницы Flash) возрастает до 98,5 % против 20 % в текущей реализации, а время приёма 256 байт сокращается с 409,6 до 83,2 мкс — ускорение чтения из Flash в 4,92 раза. Реализация требует буфера FIFO объёмом 256 байт, для которого достаточно одного блока BRAM18E1 (менее 0,4 % ресурсов BRAM кристалла XC7A100T).

Количественная оценка эффекта

Результаты прогнозируемого времени передачи 100 МБ данных при применении рассмотренных оптимизаций для двух наиболее показательных скоростей приведены в таблице 1.

Таблица 1

Прогнозируемый эффект оптимизаций

Скорость, Бод

Факт, с

Pipeline, с

Pipeline+Quad+50МГц+Batch, с

Ускорение, ×

460 800

2,391

2,276

2,276

1,05

921 600

1,305

1,138

1,138

1,15

На скоростях до 460800 Бод узким местом системы остаётся UART, поэтому рассматриваемые оптимизации SPI-части приводят результат к единому теоретическому пределу и не дают дополнительного выигрыша. На скоростях 460800–921600 Бод конвейерная организация обеспечивает выигрыш 5,1–14,7 %, а Quad-SPI и повышение частоты становятся значимыми при дальнейшем росте символьной скорости за пределами исследованного диапазона.

Заключение

Проведённый анализ показал, что узким местом разработанной системы на исследованном диапазоне скоростей является интерфейс UART, а не SPI. Наиболее эффективным направлением оптимизации в текущих условиях является конвейеризация операций чтения и передачи, обеспечивающая выигрыш до 14,7 % при минимальных аппаратных изменениях. Режим Quad-SPI, повышение тактовой частоты и пакетное чтение с буфером представляют собой резерв производительности, актуальный при дальнейшем увеличении символьной скорости передачи данных сверх 921600 Бод. Совместное применение всех рассмотренных направлений позволяет приблизить фактическое время передачи к теоретическому пределу интерфейса UART и обеспечивает масштабируемость системы.

Литература:

  1. Харрис Д. М., Харрис С. Л. Цифровая схемотехника и архитектура компьютера / пер. с англ. — М.: ДМК Пресс, 2013. — 1664 с.
  2. Chu P. P. FPGA Prototyping by SystemVerilog Examples: Xilinx MicroBlaze MCS SoC Edition. — Hoboken: John Wiley & Sons, 2018. — 704 p.
  3. S25FL128P 128-Mbit 3.0 V Flash Memory Datasheet [Электронный ресурс]. — Infineon Technologies. — URL: https://www.infineon.com/assets/row/public/documents/non-assigned/49/infineon-s25fl128p-128-mbit-3.0-v-flash-memory-datasheet-en.pdf (дата обращения: 05.05.2026).
  4. Vivado Design Suite User Guide: Programming and Debugging [Электронный ресурс]. — AMD Xilinx. — URL: https://docs.amd.com (дата обращения: 06.04.2026).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №31 (634) июль 2026 г.
Скачать часть журнала с этой статьей(стр. 12-14):
Часть 1 (стр. 1-72)
Расположение в файле:
стр. 1стр. 12-14стр. 72
Похожие статьи
Разработка аппаратного модуля автономной передачи данных из SPI flash-памяти через интерфейс UART на базе ПЛИС
Перспективы создания универсальных вычислительных ускорителей на основе отладочных плат ПЛИС производства XILINX средствами языка VHDL
Подсистема межблочной синхронной передачи данных на основе ПЛИС в комплексах цифровой обработки сигналов
Перенос проекта с платы EP4CE622 на плату AX7035B
Выбор ПЛИС для синхронизирующего устройства
Обзор отладочных плат с программируемой логической интегральной схемой Altera, применяемых для обучения в университете
Отчет о создании стекового микропроцессора на основе ПЛИС семейства SPARTAN-3E средствами языка аппаратного проектирования VHDL
Реконфигурируемые вычислительные модули на базе схем программируемой логики
Анализ перспективной элементной базы для использования в системах управления и связи
Реализация VGA-интерфейса на базе FPGA фирмы Altera

Молодой учёный