Тест HDMIc

При выполнении вывода изображения через HDMI в среде Linux нам необходимо изменить ранее созданный файл Vivado.

Изменение проекта Vivado

Включите оба IIC и настройте их в режим EMIO:

image-20250819134551930

Настройте прерывания, включите IRQ_F2P для получения прерываний со стороны PL

image-20250819134626598

Добавьте динамический контроллер тактовой частоты. Основная функция этого модуля — настройка различных тактовых выходов в зависимости от различных разрешений. Тактовая частота этого модуля должна быть настроена на 100 МГц.

Добавьте свои собственные IP-ядра:

Здесь нам нужно добавить два пользовательских IP-ядра:

image-20250819140545351

Обратитесь к содержимому теста HDMI из bare-metal системы, замените ядро clk_wiz на ядро dynclk. Щелкните правой кнопкой мыши на Block Design и нажмите «+» для поиска:

image-20250819134214770

Оставьте соответствующие конфигурации по умолчанию:

image-20250819134345789

Добавьте кодировщик HDMI для преобразования данных RGB в сигналы TMDS.

Найдите и добавьте наш пользовательский rgb и сделайте TMDS Make External

image-20250819135944239

Добавьте векторный инвертор:

image-20250819141009775

Подключите сигналы прерываний. Сначала добавьте IP-ядро Concat для подключения сигналов прерываний.

image-20250819141131047

image-20250819141238487

 

Подключите тактовые сигналы, которые Vivado может не подключить автоматически.

image-20250819140928133

image-20250819141310762

Используйте функцию автоматического подключения Vivado для завершения оставшихся соединений. Выберите все модули для автоматического подключения.

image-20250819140928133

После сохранения проекта проверьте его. Добавьте файл XDC для вывода HDMI, чтобы ограничить выводы.

Скомпилируйте для создания битового файла, затем экспортируйте файл .xsa.

Импорт конфигурации оборудования

Импортируйте оборудование, полученное на предыдущих шагах, в каталог проекта petalinux.

image-20250819142130632

Откройте терминал в этом каталоге и войдите в среду petalinux.

Создайте модули для Digilent DynClk и Digilent HDMI: clk-dglnt-dynclk, digilent-hdmi

В папке проекта скопируйте digilent_hdmi.c и clk-dglnt-dynclk.c и замените содержимое автоматически сгенерированных файлов модуля .c.

 

Импорт оборудования

Изменение ядра

 

Изменение дерева устройств

Откройте файл с именем system-user.dtsi в файле проекта petalinux.

Измените содержимое дерева устройств следующим образом.

Изменение U-Boot

Компиляция и упаковка