Перейти к содержанию
    

Cyclone V, SDCard, LPDDR2, HDMI - все вместе

Всем привет.

Есть забавный проект, если упрощенно, то нужно взять что-то с сд-карты и отобразить это на HDMI использую LPDDR2 посередине.

 

Сейчас имеем: модуль HDMI, который обеспечивает синхронизацию и имеет на выходе x, y - координаты пикселя.

Модуль работы с LPDDR2 - умеет читать, писать (это стандартный модуль "LPDDR2 SDRAM Controller with UniPHY v15.0").

Сделал первый пример: сначала положил информацию в память, через секунду запускаю HDMI модуль и начинаю читать данные из памяти. И все вроде работает.

Теперь хочу перейти ко второй части:

Внутри NIOS поднял модуль FAT и научился читать файлы. И вопрос: как перегнать это в память? :laughing:

Покумекав, я решил, что мне подходит "Avalon MM Pipeline Bridge", внутри LPDDR2 SDRAM Controller я создал второй порт, и соединил его с портами в ниосе. Под дебагом в ниосе я вижу, что данные записать по соответствующему адресу, и потом прочитались, но вот картинка на мониторе этого не изменилась, хотя адрес тот же.

Тактирую шины данных для первого потока - PixelClk*2 (324 Mhz) для второго NiosClk (50Mhz)

 

Что я делаю не так?

 

P.S. Если у кого-то есть желание принять участие в разработке проекта - велкам! Пытался найти "собратьев" на марсоходе, но никто не решился поучавствовать в проекте. Вот тема на марсоходе

 

 

И еще полезная информация. Вот проектик на гитхабе: https://github.com/joegrand/bsodomizer-hd-c5g

Принцип работы с памятью взят отсюда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет.

Есть забавный проект, если упрощенно, то нужно взять что-то с сд-карты и отобразить это на HDMI использую LPDDR2 посередине.

 

Сейчас имеем: модуль HDMI, который обеспечивает синхронизацию и имеет на выходе x, y - координаты пикселя.

Модуль работы с LPDDR2 - умеет читать, писать (это стандартный модуль "LPDDR2 SDRAM Controller with UniPHY v15.0").

Сделал первый пример: сначала положил информацию в память, через секунду запускаю HDMI модуль и начинаю читать данные из памяти. И все вроде работает.

Теперь хочу перейти ко второй части:

Внутри NIOS поднял модуль FAT и научился читать файлы. И вопрос: как перегнать это в память? :laughing:

Покумекав, я решил, что мне подходит "Avalon MM Pipeline Bridge", внутри LPDDR2 SDRAM Controller я создал второй порт, и соединил его с портами в ниосе. Под дебагом в ниосе я вижу, что данные записать по соответствующему адресу, и потом прочитались, но вот картинка на мониторе этого не изменилась, хотя адрес тот же.

Тактирую шины данных для первого потока - PixelClk*2 (324 Mhz) для второго NiosClk (50Mhz)

 

Что я делаю не так?

 

P.S. Если у кого-то есть желание принять участие в разработке проекта - велкам! Пытался найти "собратьев" на марсоходе, но никто не решился поучавствовать в проекте. Вот тема на марсоходе

 

И еще полезная информация. Вот проектик на гитхабе: https://github.com/joegrand/bsodomizer-hd-c5g

Принцип работы с памятью взят отсюда.

 

Просто вешаете data master ниоса на слэйв SDRAM контроллера и копируете данные любым способом(memcpy) в ту область, в которую отображается экран. В зависимости от ваших скоростей и объемов данных конкретная реализация может отличатся. У меня в проекте ниос рисует только достаточно медленный оверлей с разными данными в виде текста и несложной графики. Все модули которые работают с полным видео кадром в памяти, сделаны на DMA.

У альтеры есть неплохой набор ip core для работы с видео(фильтры, миксер, скэйлер и тд), Video and Image Processing Suite.

Для более высокоуровней работы с видео можно посмотреть в сторону SoC чипов, например есть проекты с OpenCV. Немного не ваш случай, но может быть есть что то и с OpenGL

Изменено пользователем Burenkov Sergey

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Просто вешаете data master ниоса на слэйв SDRAM контроллера и копируете данные любым способом(memcpy) в ту область, в которую отображается экран. В зависимости от ваших скоростей и объемов данных конкретная реализация может отличатся. У меня в проекте ниос рисует только достаточно медленный оверлей с разными данными в виде текста и несложной графики. Все модули которые работают с полным видео кадром в памяти, сделаны на DMA.

У альтеры есть неплохой набор ip core для работы с видео(фильтры, миксер, скэйлер и тд), Video and Image Processing Suite.

Для более высокоуровней работы с видео можно посмотреть в сторону SoC чипов, например есть проекты с OpenCV. Немного не ваш случай, но может быть есть что то и с OpenGL

 

Спасибо за наводку, будем читать, но все же может есть возможность консультации по скайпу?

 

Сейчас "затык" в том, что статичный экрн отображается, а вот если хочу сменить картинку - изображение на экране дерагется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...