
Zynq 7000. HDMI для платы Zynq Mini и Linux
andreyzaostrovnykh 13 минут назад Zynq 7000. HDMI для платы Zynq Mini и Linux Средний 88 мин 542 Блог компании Beget FPGA * Процессоры DIY или Сделай сам Программирование микроконтроллеров * Туториал Раз уж пошла такая...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: andreyzaostrovnykh 13 минут назад Zynq 7000. HDMI для платы Zynq Mini и Linux Средний 88 мин 542 Блог компании Beget FPGA * Процессоры DIY или Сделай сам Программирование микроконтроллеров * Туториал Раз уж пошла такая песня, я решил добить вопрос с выводом изображения по HDMI на плате Zynq Mini. В предыдущей статье мы уже разобрали как это сделать в baremetal-сценарии, теперь пришла пора дополнить дизайн для возможности вывода системной консоли Linux, при том, что у Zynq-7000 нет своего видеоконтроллера и весь видеотракт (DMA, генератор таймингов, TDMS-кодер) должен быть построен внутри FPGA, а затем быть проброшен в Linux.
Всем, кому интересна данная тема - добро пожаловать под кат! Перед началом повествования, хотелось бы заранее оговориться, что основная цель, которую я преследую при написании этой статьи - рассказать о своем опыте, с чего можно начать при изучении отладочных плат на базе Zynq. Я не являюсь профессиональным разработчиком под ПЛИС и SoC Zynq, не являюсь системным программистом под Linux и могу допускать какие-либо ошибки в использовании терминологии, использовать не самые оптимальные пути решения задач, etc.
Технические детали
Но отмечу, что любая конструктивная и аргументированная критика только приветствуется. Что ж, поехали…Идея и постановка задачиЕсть плата - Zynq Mini Rev. B на чипе xc7z020clg400-2 с 512 МиБ DDR3.
На плате распаян HDMI-разъём. Хочется простую, понятную любому линуксоиду вещь: воткнуть монитор в этот разъём, подать питание - и увидеть на экране загрузку Linux и приглашение login:. Казалось бы, что тут сложного?
Подключаем монитор, включаем - и… ничего. Чёрный экран, «No signal». Дело в том, что у Zynq-7000 нет видеовыхода.
Отраслевые последствия
Если посмотреть на схему платы, выяснится, что HDMI-разъём разведён напрямую на обычные пины программируемой логики (PL) - четыре дифференциальные пары и сигнал разрешения выходного буфера:СигналПин FPGAHDMI_CLK_P / NH16 / H17HDMI_DATA0_P / ND19 / D20HDMI_DATA1_P / NC20 / B20HDMI_DATA2_P / NB19 / A20HDMI_OUT_ENH18Никакого HDMI-трансмиттера на плате нет. Никакого видеоконтроллера в чипе нет. Эти пины умеют ровно то, что умеет любой пин FPGA: выдавать нули и единицы.
Всё остальное - формирование TMDS-сигнала, генерацию видеотаймингов, выкачивание пикселей из памяти - нам предстоит построить самим внутри FPGA, а потом научить Linux всем этим пользоваться. Именно этим задача и интересна. Она не решается «включением галочки» - она прошивает насквозь весь embedded-стек, слой за слоем:Схемотехника - прочитать схему платы и понять, куда и как разведён HDMI.
FPGA-дизайн - собрать в Vivado видеоконвейер: DMA-движок, читающий кадр из DDR, генератор таймингов, TMDS-сериализатор. Загрузчик - собрать U-Boot SPL, который поднимет DDR и зальёт прошивку в FPGA ещё до старта ядра. Ядро Linux - описать наш самодельный «видеоадаптер» в Device Tree и включить framebuffer-консоль.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




