реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Интеграция VGA с DMA в систему с NIOS
misyachniy
сообщение Sep 8 2008, 12:55
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Из примеров от кита DE1 вытащил модуль VGA с DMA и FIFO (VGA.zip)
Интегрировал его в систему(SOPC.JPG) - платка разработано отдельно
(http://njnmnp.narod.ru/proj/video/video.html - на сайте narod.ru похоже вирус. :-(
при доступе по ФТП его не видно в HTML странице при просмотре чере эксплорер в конце добавляется скрипт. Или это у меня что-то завелось? )

Есть проблемы со срывом синхронизации.
Опустошается буфер FIFO.
Память программ и видеобуфер(куча) в SDRAM, по этому процессор и мастер VGA(DMA) конкурируют за доступ к SDRAM.

Проявляется проблема при выводе изображения с SD карточки в видео буфер.

Можно исхитрится и перестановкой операторов добится заливки изображения без срыва синхронизации, так как у процессора есть кеш.
Но это конечно же не решение проблемы.

Как правильно организовать подкачку из видео памяти?

Тут написано что нужно задействовать режим пакетной (Burst) передачи

http://forum.niosforum.com/forum/index.php...amp;#entry10311

В руководстве по шине Avalon есть описание сигналов и принципов работы.

Нету примерчика целиком :-(
На сколько я понял из документации SDRAM не поддерживает Burst передачу.

Получается если использовать стандартныме компоненты SOPC то, нужно цеплять отдельный компонент DMA и помтоянно перепрограммировать его по прерыванию?

Совсем запутался. Понедельник день тяжелый ;-)
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  VGA.zip ( 2.27 килобайт ) Кол-во скачиваний: 81
 
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 11 2008, 12:52
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(misyachniy @ Sep 8 2008, 15:55) *
Из примеров от кита DE1 вытащил модуль VGA с DMA и FIFO (VGA.zip)
Интегрировал его в систему(SOPC.JPG) - платка разработано отдельно
(http://njnmnp.narod.ru/proj/video/video.html - на сайте narod.ru похоже вирус. :-(
при доступе по ФТП его не видно в HTML странице при просмотре чере эксплорер в конце добавляется скрипт. Или это у меня что-то завелось? )

Есть проблемы со срывом синхронизации.
Опустошается буфер FIFO.
Память программ и видеобуфер(куча) в SDRAM, по этому процессор и мастер VGA(DMA) конкурируют за доступ к SDRAM.

Проявляется проблема при выводе изображения с SD карточки в видео буфер.

Можно исхитрится и перестановкой операторов добится заливки изображения без срыва синхронизации, так как у процессора есть кеш.
Но это конечно же не решение проблемы.

Как правильно организовать подкачку из видео памяти?

Тут написано что нужно задействовать режим пакетной (Burst) передачи

http://forum.niosforum.com/forum/index.php...amp;#entry10311

В руководстве по шине Avalon есть описание сигналов и принципов работы.

Нету примерчика целиком :-(
На сколько я понял из документации SDRAM не поддерживает Burst передачу.

Получается если использовать стандартныме компоненты SOPC то, нужно цеплять отдельный компонент DMA и помтоянно перепрограммировать его по прерыванию?

Совсем запутался. Понедельник день тяжелый ;-)


Закончил с корректировкой ТУ на зделие, вернулся к своим баранам.
Или правильнее - баран вернулся в стадо к своим? ;-)

Контроллер SDRAM на шине Avalon поддерживает конвеерное чтение
Тут нашел пример мастера который поддерживает конвеерное чтение
http://www.altera.com/support/examples/nio...WT.oss=template

По теории для конвеерной передачи нужно захватывать шину на все время обмена.
В документацию на шину Avalon указано, что шина захватывается сигналом arbiterlock.
Но в описании и на изображении масера этого сигнала нету.

На сайте Altera слово "arbiterlock" находится только в одном документе - руководстве на шину Avalon.
Не понятно как захватывается шина?

Поиск по гуглу "arbiterlock" дает всего 8 ссылок.
Цитата
Another way you can implement a priority scheme is to use large burst counts. If your master has a maximum burst count of 16 that means it'll get access for 16 word accesses. Arbitration loss will not happen in the middle of a burst because the 'arbiterlock' signal is used during a burst. The arbiterlock signal is generated by SOPC Builder but you can also manually add it to any custom master you create. To learn more about it see the Avalon-MM interface specification.


Из текста ясно, что когда используется burst обмен, то при генерации системы автоматически добавляется arbiterlock.
Это совпадает с указаным в руководстве на шину.

В примере по ссылке не используется arbiterlock.
Склоняюсь к мысли что система(SOPC Builder) сама его добавит.

Но как она определяет, что нужно добавлять?

Посмотрел по диаграммам (рис 3.11) из руководства на шину
http://www.altera.com/literature/manual/mnl_avalon_spec.pdf
Тоже не понятно :-(
Go to the top of the page
 
+Quote Post
vetal
сообщение Sep 11 2008, 13:21
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



arbiterloak - достаточно новый функционал. Выставляете его, и никто не сможет прервать ваш обмен. Очень полезная штука, как раз для фрэймбуфера. По идее должно расходоваться меньше логики на арбитраж, чем при использовании burst режима из-за отсутствия необходимости выполнять выравнивание burst'ов и лишнего арбитража.

Наиболее правильный способ разгрузить шину при отрисовке содержимого памяти - поставить fifo на 1-2 строки, это позволит существенно ускорить выборку данных из памяти.
Go to the top of the page
 
+Quote Post
torik
сообщение Sep 11 2008, 14:23
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Ага, во-первых, запись/чтение в SDRAM надо окружить FIFOшками. Но это, как я понимаю, сделано.
Во-вторых, поставьте в клеточках у SDRAM (data_master и VGA m1) вместо 2 и 1, по 32 скажем...

Вопрос, а с SD откуда взяли, тоже из примеров или что-то свое? По какой документации с ней разбирались?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 11 2008, 15:15
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(torik @ Sep 11 2008, 17:23) *
Ага, во-первых, запись/чтение в SDRAM надо окружить FIFOшками. Но это, как я понимаю, сделано.
Во-вторых, поставьте в клеточках у SDRAM (data_master и VGA m1) вместо 2 и 1, по 32 скажем...

Вопрос, а с SD откуда взяли, тоже из примеров или что-то свое? По какой документации с ней разбирались?


Запись в SDRAM делаю процессором напрямую - то есть если SDRAM занята то процессор будет простаивать.

В VGA контроллере FIFO на 1024х32бит.
Я правда поленился исследовать, продолжается ли подкачка в оперативку после конца кадра до начала следующего.

По поводу чисел в клеточках.
Я так понял, что это приоритет доступа, а не число непрерываемых транзакций.
Где бы об этом почитать?

SD я включил в режиме SPI.
У альтеры есть примеры, но в них манипуляция стандартными PIO в ручном режиме.
По этому я переделал стандартный модуль на переменную скорость.
Для чтения идентификаторов карточки CIS, нужна пониженая до 400КГц скорость тактирования.
Только для чтения, можно использовать с жестко заданой высокой скоростью.
FAT фат прикрутил от своего(точнее переделаного мной) проекта для АРМ
http://www.evodbg.com/index.php?option=com...0&Itemid=49
http://evodbg.com/doc/mp3last.rar
Go to the top of the page
 
+Quote Post
vetal
сообщение Sep 11 2008, 15:37
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
Я так понял, что это приоритет доступа, а не число непрерываемых транзакций. Где бы об этом почитать?

Это гарантированное кол-во непрерываемых циклов непрерывного доступа. В шине avalon используется кольцевой циклический(карусельный,round-robin) арбитраж.
Читать как обычно - в документации на шину smile.gif
Go to the top of the page
 
+Quote Post
torik
сообщение Sep 11 2008, 16:53
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Цитата
Это гарантированное кол-во непрерываемых циклов непрерывного доступа. В шине avalon используется кольцевой циклический(карусельный,round-robin) арбитраж.
Читать как обычно - в документации на шину smile.gif


+1
Подключите SignalTab, там поглядите...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 15:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01441 секунд с 7
ELECTRONIX ©2004-2016