Поиск
Показаны результаты для тегов 'pca9548'.
-
HDMI на Artix AC701
Jul'etta опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Приветствую. Задача: вывести на монитор тестовый шаблон по HDMI на Artix AC701. Исходные данные: работаю в Vivado 2017.1, имеется монитор Dell 2408WFP с поддержкой HDMI, и, собственно, сама плис Artix. Изображение для начала можно любого формата, главное, чтоб заработало. Я взяла режим 1920х1080р 60Гц, 24-Bit RGB (4:4:4) с раздельной синхронизацией. Проблема: Первая и самая главная - изображение отсутствует. Однако сигнал, судя по анализатору ILA в виваде, идет. У меня в наличии еще имеется маленький 7 дюймовый монитор hdmi lcd 1024x600 для raspberry pi (режим, разумеется, поменяла), на нем отображается не соответствующая шаблону картинка да еще и скачущая. Возможно, проблема с синхронизацией? Подробно о моем проекте. Создала в вивадо стандартный проект с процессором Microblaze (картинку прикрепила). Из документа ac701-schematic узнаю, что на борту артикс есть некая микросхема ADV7511 - это кодек HDMI, обеспечивает интерфейс между плис и портом hdmi, откликается по адресу 0х39. Дальнейшее изучение назначений ножек привело меня к еще одной микросхеме - PCA9548 - это IIC мультиплексор. Т.е. чтобы получить доступ к ADV, нужно пройти через коммутатор IIC по адресу 0х74. Нам нужно использовать 5 канал этого коммутатора для доступа к ADV. Из официального документа AN-1270 фирмы Analog Devices на микросхему ADV я нашла схему, как "собрать" все это безобразие плюс исходные коды на верилог для создания собственного IP ядра в виваде. Итак, картинка сложилась: добавляем в проект собственное ядро ADV7511 c предоставленными кодами (на схеме выделено красным), добавляем ядро AXI-IIC (выделено зеленым), поскольку для вывода в формате HDMI микросхема ADV должна быть запрограммирована на запись в соответствующие регистры IIC. Еще добавила блок Clock Wizard для генерации т.н. pixel frequency (для режима 1080p - 148.5 МГц) - на картинке выделен голубым. Ну и разумеется, прога в SDK для "оживления" всей этой аппаратной части. Сразу замечу, что скрипт для шины IIC из документа AN1270 вызвал у меня некоторые подозрения, ибо там дублируются одни и те же регистры с разными значениями. Поэтому в SDK я прописала значения регистров, взятые из ADV7511 Programming guide. Помогите, пожалуйста. Я много копалась на форуме Xilinx, но пока решение не нашла. Уповаю на наше сообщество. Если нужны еще подробности, документы с которыми работаю, все предоставлю. AN-1270.pdf